Module ā§Ž ¡ set āĻāϰ multiset: sorted, unique, āĻāϰ log n-āĻ āĻā§āĻāĻā§ āĻĒāĻžāĻāϝāĻŧāĻž
āĻā§āϤāϰā§āϰ āĻāĻĨāĻž: tree-āϰ node, āϤāĻžāϰ āĻāĻā§āĻāϤāĻž, āĻāϰ āϝ⧠iterator āĻāĻŋāĻā§ āĻĨāĻžāĻā§
Kenji āĻĻāĻļ āϞāĻžāĻ sensor reading āĻāĻāĻāĻž set-āĻ āϰāĻžāĻā§, āϝ⧠āĻā§āϰāĻŽā§ āĻāϏā§āĻā§ āϏā§āĻ āĻā§āϰāĻŽā§āĻ insert āĻāϰā§āĨ¤ āϤāĻžāϰāĻĒāϰ āĻāĻāĻāĻž loop āĻĻāĻŋāϝāĻŧā§ āϏāĻŦāĻā§āϞ⧠āϝā§āĻ āĻāϰā§āĨ¤ āĻāĻāĻ āĻŽāĻžāύā§āϰ āĻāĻāĻāĻž vector-āĻāϰ āĻāĻĒāϰ āĻāĻ loop āύāĻŋāϝāĻŧā§āĻā§ 0.23 msāĨ¤ āĻāϰ set-āĻāϰ āĻāĻĒāϰ, āĻāĻāĻŦāĻžāϰā§āϰ run-āĻ, 164 msāĨ¤ āĻĻā§āĻāĻāĻž āĻšāĻžāĻāĻāĻžāĻ āϤ⧠O(n)āĨ¤ Maria āĻ āĻŋāĻ āϏā§āĻ āĻĒā§āϰāĻļā§āύāĻāĻž āĻāϰā§, āϝāĻžāϰ āĻāϤā§āϤāϰ āĻāĻ lesson: "āĻāĻŋāύā§āϤ⧠āĻā§āύ? āĻāĻāĻāĻž O(n) āĻšāĻžāĻāĻāĻž āĻāϰā§āĻāĻāĻžāϰ āĻā§āϝāĻŧā§ āĻāϝāĻŧā§āĻāĻļā§ āĻā§āĻŖ āϧā§āϰ āĻšāϝāĻŧ āĻā§ āĻāϰā§?"
āĻāĻĒāύāĻžāϰ āĻāύā§āϝ āĻāĻ lesson āĻāĻž āĻā§āϞāĻž āĻāĻŋ āύāĻž āĻĻā§āĻāĻž āĻšāĻā§āĻā§âĻ
āĻā§āϤāϰā§āϰ āĻāĻĨāĻž: tree-āϰ node, āϤāĻžāϰ āĻāĻā§āĻāϤāĻž, āĻāϰ āϝ⧠iterator āĻāĻŋāĻā§ āĻĨāĻžāĻā§ āĻāϰ āĻā§āϤāϰ⧠āĻā§ āĻāĻā§
- āĻāĻāĻāĻž node: āĻāĻāĻāĻž āϰāĻ, āϤāĻŋāύāĻāĻž link āĻāϰ āĻŽāĻžāύāĻāĻž
- Set object: āĻāĻāĻāĻž header node āĻāϰ node-āĻāϰ āϏāĻāĻā§āϝāĻž
- Red-black āύāĻŋāϝāĻŧāĻŽāĻā§āϞā§, āĻāϰ āϤāĻžāϤ⧠tree āĻāϤāĻāĻž āĻāĻžāĻā§ āĻĨāĻžāĻā§
- ++it āĻā§āĻāĻžāĻŦā§ āĻĒāϰā§āϰ āĻŽāĻžāύāĻāĻž āĻā§āĻāĻā§ āĻĒāĻžāϝāĻŧ
- āϝ⧠iterator āĻāĻŋāĻā§ āĻĨāĻžāĻā§: erase link āĻŦāĻĻāϞāĻžāϝāĻŧ, āĻāĻŋāĻā§ copy āĻāϰ⧠āύāĻž
- Performance lab: Kenji-āϰ āϏāĻŽāϝāĻŧ āĻā§āĻĨāĻžāϝāĻŧ āĻā§āϞ