๐ŸŒณย ํŠธ๋ฆฌ(Tree)

แ„แ…ณแ„…แ…ต.png

์ •์˜

ํŠธ๋ฆฌ๋Š” ๋น„์„ ํ˜• ๊ตฌ์กฐ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ, ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์ถ”์ƒํ™”ํ•œ ๋ชจ๋ธ์ด๋‹ค.

์ฃผ์š” ํŠน์ง• :

์ •๋ณด๋ฅผ ์‰ฝ๊ฒŒ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด ์ €์žฅํ•  ๋•Œ ์œ ์šฉํ•˜๋ฉฐ, ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์ง๊ด€์ ์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค.

๊ฐ€๊ณ„๋„, ํšŒ์‚ฌ ์กฐ์ง๋„, ํŒŒ์ผ ์‹œ์Šคํ…œ ๋“ฑ์ด ์ข‹์€ ์˜ˆ์‹œ์ด๋‹ค.

ํŠน์ง•

ํŠน์ง• ์„ค๋ช…
๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„ ๋ฃจํŠธ ๋…ธ๋“œ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋…ธ๋“œ๋Š” ์ •ํ™•ํžˆ ํ•˜๋‚˜์˜ ๋ถ€๋ชจ ๋…ธ๋“œ๋ฅผ ๊ฐ€์ง
๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ ๋…ธ๋“œ๊ฐ€ N๊ฐœ์ธ ํŠธ๋ฆฌ๋Š” ํ•ญ์ƒ N-1๊ฐœ์˜ ๊ฐ„์„ ์„ ๊ฐ€์ง
๊ฒฝ๋กœ์˜ ์œ ์ผ์„ฑ ๋ฃจํŠธ์—์„œ ํŠน์ • ๋…ธ๋“œ๋กœ ๊ฐ€๋Š” ๊ฒฝ๋กœ๋Š” ์œ ์ผํ•จ (์ค‘๋ณต ๊ฒฝ๋กœ ์—†์Œ)
๊ณ„์ธต์„ฑ ๋…ธ๋“œ๋“ค์ด ๋ ˆ๋ฒจ(๊นŠ์ด)์— ๋”ฐ๋ผ ๊ณ„์ธต์ ์œผ๋กœ ๊ตฌ์„ฑ๋จ

์‹œ๊ฐ„ ๋ณต์žก๋„

์—ฐ์‚ฐ ์‹œ๊ฐ„๋ณต์žก๋„ ์„ค๋ช…
ํƒ์ƒ‰ O(n) ์ผ๋ฐ˜ ํŠธ๋ฆฌ์—์„œ๋Š” ์ตœ์•…์˜ ๊ฒฝ์šฐ ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธํ•ด์•ผํ•จ
์‚ฝ์ž… O(n) ์‚ฝ์ž…ํ•  ์œ„์น˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ํƒ์ƒ‰ ํ•„์š”
์‚ญ์ œ O(n) ์‚ญ์ œํ•  ๋…ธ๋“œ๋ฅผ ์ฐพ๊ณ  ํŠธ๋ฆฌ ๊ตฌ์กฐ ์žฌ์กฐ์ • ํ•„์š”

๐Ÿ“Œย ํŠธ๋ฆฌ์˜ ์ข…๋ฅ˜์™€ ๊ตฌ์กฐ์— ๋”ฐ๋ผ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค.

์žฅใƒป๋‹จ์ 

์žฅ์  ๋‹จ์ 
๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์ง๊ด€์ ์ด๊ณ  ํšจ์œจ์ ์œผ๋กœ ํ‘œํ˜„ ํƒ์ƒ‰ ํšจ์œจ์ด ๋‚ฎ์„ ์ˆ˜ ์žˆ์Œ (ํ‰๊ท  O(n))
๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์  (๊ฐ„์„ ์ด ์ตœ์†Œ: N-1๊ฐœ) ๋ถˆ๊ท ํ˜• ํŠธ๋ฆฌ๋Š” ์„ฑ๋Šฅ ์ €ํ•˜ (ํ•œ์ชฝ์œผ๋กœ ์น˜์šฐ์นœ ํŠธ๋ฆฌ๋Š” ์„ ํ˜• ๋ฆฌ์ŠคํŠธ์ฒ˜๋Ÿผ ๋™์ž‘)
์ƒ์œ„-ํ•˜์œ„ ๊ด€๊ณ„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ ์ผ๋ฐ˜ ํŠธ๋ฆฌ๋Š” ์‹ค์ œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๊ฑฐ์˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ
(๋Œ€์‹  ํŠน์ˆ˜ํ•œ ํ˜•ํƒœ์˜ ํŠธ๋ฆฌ ์‚ฌ์šฉ)
ํŠธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋‹ค์–‘ํ•œ ์ตœ์ ํ™”๋œ ์ž๋ฃŒ๊ตฌ์กฐ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ
(์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ, ํž™, AVL ํŠธ๋ฆฌ ๋“ฑ)