Learn C++ STL

lesson ā§Ģ / ⧝ ¡ set āφāϰ multiset: sorted, unique, āφāϰ log n-āĻ āϖ⧁āρāĻœā§‡ āĻĒāĻžāĻ“āϝāĻŧāĻž

Module ā§Ž ¡ set āφāϰ multiset: sorted, unique, āφāϰ log n-āĻ āϖ⧁āρāĻœā§‡ āĻĒāĻžāĻ“āϝāĻŧāĻž

āϭ⧇āϤāϰ⧇āϰ āĻ•āĻĨāĻž: tree-āϰ node, āϤāĻžāϰ āωāĻšā§āϚāϤāĻž, āφāϰ āϝ⧇ iterator āϟāĻŋāϕ⧇ āĻĨāĻžāϕ⧇

ProāĻĒāĻĄāĻŧāĻž

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 āϟāĻŋāϕ⧇ āĻĨāĻžāϕ⧇ āĻāϰ āϭ⧇āϤāϰ⧇ āϕ⧀ āφāϛ⧇

  1. āĻāĻ•āϟāĻž node: āĻāĻ•āϟāĻž āϰāĻ‚, āϤāĻŋāύāϟāĻž link āφāϰ āĻŽāĻžāύāϟāĻž
  2. Set object: āĻāĻ•āϟāĻž header node āφāϰ node-āĻāϰ āϏāĻ‚āĻ–ā§āϝāĻž
  3. Red-black āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞ⧋, āφāϰ āϤāĻžāϤ⧇ tree āĻ•āϤāϟāĻž āĻ–āĻžāĻŸā§‹ āĻĨāĻžāϕ⧇
  4. ++it āϕ⧀āĻ­āĻžāĻŦ⧇ āĻĒāϰ⧇āϰ āĻŽāĻžāύāϟāĻž āϖ⧁āρāĻœā§‡ āĻĒāĻžāϝāĻŧ
  5. āϝ⧇ iterator āϟāĻŋāϕ⧇ āĻĨāĻžāϕ⧇: erase link āĻŦāĻĻāϞāĻžāϝāĻŧ, āĻ•āĻŋāϛ⧁ copy āĻ•āϰ⧇ āύāĻž
  6. Performance lab: Kenji-āϰ āϏāĻŽāϝāĻŧ āϕ⧋āĻĨāĻžāϝāĻŧ āϗ⧇āϞ
āϭ⧇āϤāϰ⧇āϰ āĻ•āĻĨāĻž: tree-āϰ node, āϤāĻžāϰ āωāĻšā§āϚāϤāĻž, āφāϰ āϝ⧇ iterator āϟāĻŋāϕ⧇ āĻĨāĻžāϕ⧇ | Learn C++ STL | Progsity