๊ธ€ ์ž‘์„ฑ์ž: ๊ฐœ๋ฐœํ•˜๋Š” ํ›ˆ์ด

2021.12.12 ์˜ค๋Š˜์˜ ๋ฐฐ์›€

์˜ค๋Š˜ ํ•œ ์ผ.

  • ์ž๋ฃŒ๊ตฌ์กฐ ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ. ์ด์ง„ํŠธ๋ฆฌ, ์ด์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ, ํž™์„ ๊ตฌํ˜„ํ–ˆ๋‹ค. ๋ธ”๋กœ๊ทธ์—๋Š” ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ๊นŒ์ง€๋งŒ ์ •๋ฆฌ
  • ๋ฐฑ์ค€ ํ•œ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค.

์˜ค๋Š˜ ์ƒˆ๋กœ ๋ฐœ๊ฒฌํ•œ ๊ฒƒ.

  • ์—ญ์‹œ removeFirst๋Š” ๋ฏฟ์œผ๋ฉด ์•ˆ๋œ๋‹ค. ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•ด์„œ ํ’€์—ˆ์„ ๋•Œ๋Š” ํ†ต๊ณผ๊ฐ€ ๋˜๋Š”๋ฐ, ์†ŒํŒ…์„ ํ•œ๋ฒˆ ํ•˜๊ณ  removeFirst๋ฅผ ๋ฐ˜๋ณตํ–ˆ๋”๋‹ˆ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚œ๋‹ค.

  • BST์—์„œ ์‚ญ์ œ๋Š” ์‚ญ์ œํ•  ๋…ธ๋“œ์˜ ์ž์‹ ๋…ธ๋“œ๊ฐ€ ๋ช‡๊ฐœ์ธ์ง€์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค. ๋ฆฌํ”„ ๋…ธ๋“œ์ผ ๋•Œ๋Š” ๊ทธ๋ƒฅ ์—†์• ๊ณ , ์ž์‹์ด 1๊ฐœ์ผ ๋•Œ๋Š” ์ž์‹ ์˜ ๋ถ€๋ชจ์™€ ์ž์‹์„ ์—ฐ๊ฒฐ์‹œํ‚ค๊ณ , ์ž์‹์ด 2๊ฐœ์ผ ๋•Œ๋Š” successor๋กœ ๋ถˆ๋ฆฌ๋Š” ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ์˜ ์ตœ์†Œ๊ฐ’์„ ๊ฐ€์ง„ ๋…ธ๋“œ(๊ฐ€์žฅ ์™ผ์ชฝ ๋ฆฌํ”„๋…ธ๋“œ)์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•  ๋…ธ๋“œ์˜ ๋ฐ์ดํ„ฐ๋กœ ๋ฎ์–ด์”Œ์šด ๋’ค์— successor๋ฅผ ์‚ญ์ œํ•œ๋‹ค. ๊ทผ๋ฐ ์ด๋•Œ successor์— ์˜ค๋ฅธ์ชฝ ์ž์‹ ๋…ธ๋“œ๊ฐ€ ๋”ธ๋ ค์žˆ์œผ๋ฉด ์‚ญ์ œํ•˜๊ธฐ์ „์— ๋ถ€๋ชจ๋…ธ๋“œ๋ž‘ ์ž์‹๋…ธ๋“œ๋ž‘ ์—ฐ๊ฒฐ ์‹œ์ผœ์ฃผ์–ด์•ผ ํ•œ๋‹ค. 

์˜ค๋Š˜ ๋Š๋‚€ ๊ฒƒ.

  • ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๊ฝค ์žฌ๋ฐŒ๋‹ค..
  • ์–ด์ œ ๋ชธ์ด ๋„ˆ๋ฌด ์•ˆ์ข‹์•„์„œ ๊ฑฑ์ •ํ–ˆ๋Š”๋ฐ, ๊ทธ๋ƒฅ ํฌํ•ญ ๋‚ด๋ ค์˜ค๋ฉด์„œ ๋ถ€์‚ฐ๋„ ๋“ค๋ฆฌ๊ณ  ๋„ˆ๋ฌด ๊ธด ์—ฌํ–‰์„ ํ•ด์„œ ๊ทธ๋Ÿฐ ๊ฒƒ ๊ฐ™๋‹ค. ์ž˜ ์‰ฌ๋‹ˆ๊นŒ ์ข€ ๊ดœ์ฐฎ์€ ๋“ฏ

์•ž์œผ๋กœ์˜ ๊ณ„ํš.

  • ๋‹ค์Œ ์ฃผ์— ์ •๋ฆฌํ•  ๊ฒƒ: DS ๋‚˜๋จธ์ง€, OSTEP ๋‚จ์€ ๋ถ€๋ถ„, ARC, Method Dispatch
  • ํ•ด์•ผํ•˜๋Š” ๊ฒƒ: ์ด๋ ฅ์„œ ๋ณด์™„ํ•˜๊ธฐ, ์ž์†Œ์„œ ์ž‘์„ฑํ•˜๊ธฐ (ํ™”์š”์ผ๊นŒ์ง€ ๋ฌด์กฐ๊ฑด ๋๋‚ด๊ธฐ)

์˜ค๋Š˜์˜ ๊ฐ์‚ฌ.

  • ์˜ค๋ž˜์ „์— ๋ฐฐ์šด ๋‚ด์šฉ๋“ค์„ ๋‹ค์‹œ ๋ฆฌ๋งˆ์ธ๋“œํ•˜๋ฉด์„œ ์ƒˆ๋กญ๊ฒŒ ๋ฐฐ์›Œ๊ฐ€๋Š” ๊ฒƒ๋“ค์ด ์žˆ๊ฒŒ ํ•ด์ฃผ์‹ฌ์— ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.