๐ŸŒˆ ์ž๋ฃŒ๊ตฌ์กฐ:: ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ

Aprilยท2021๋…„ 11์›” 9์ผ
0
post-thumbnail

๐Ÿš€ What I Will Learn

  • ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ(binary Search Tree, BST)์— ๋Œ€ํ•ด ์ดํ•ดํ•˜๊ธฐ

์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ(binary Search Tree, BST)๋ž€? ์ด์ง„ ํƒ์ƒ‰(Binary Search)์ด ํ•ญ์ƒ ๋™์ž‘ํ•˜๋„๋ก ๊ตฌํ˜„ํ•˜์—ฌ ํƒ์ƒ‰ ์†๋„๋ฅผ ๊ทน๋Œ€ํ™” ์‹œํ‚จ ์ž๋ฃŒ๊ตฌ์กฐ


์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ(binary Search Tree, BST)


1๏ธโƒฃ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ๋ž€?

  • ์ด์ง„ ํƒ์ƒ‰(Binary Search)์ด ํ•ญ์ƒ ๋™์ž‘ํ•˜๋„๋ก ๊ตฌํ˜„ํ•˜์—ฌ ํƒ์ƒ‰ ์†๋„๋ฅผ ๊ทน๋Œ€ํ™” ์‹œํ‚จ ์ž๋ฃŒ๊ตฌ์กฐ

โœ”๏ธ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ์˜ ์›๋ฆฌ

  • ํ•œ ๋ฒˆ ํ™•์ธํ•  ๋•Œ ๋งˆ๋‹ค ์›์†Œ์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ ˆ๋ฐ˜์”ฉ ์ค„์–ด๋“ ๋‹ค๋Š” ์ ์—์„œ ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ์ธ ๊ฒฝ์šฐ ํƒ์ƒ‰ ์‹œ๊ฐ„์— ๐‘‚(๐‘™๐‘œ๐‘”๐‘)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ€์ง„๋‹ค
  • ์ฐพ๊ณ ์ž ํ•˜๋Š” ๊ฐ’์ด ๋ถ€๋ชจ ๋…ธ๋“œ๋ณด๋‹ค ์ž‘์„ ๊ฒฝ์šฐ ์™ผ์ชฝ ์ž์‹์œผ๋กœ, ์ฐพ๊ณ ์ž ํ•˜๋Š” ๊ฐ’์ด ๋ถ€๋ชจ ๋…ธ๋“œ๋ณด๋‹ค ํด ๊ฒฝ์šฐ ์˜ค๋ฅธ์ชฝ ์ž์‹์œผ๋กœ ์ด์–ด ๋‚˜๊ฐ€๋ฉด์„œ ๋ฐฉ๋ฌธํ•œ๋‹ค

โœ”๏ธ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ ์˜ˆ์ œ:: ํƒ์ƒ‰

  • ํ•ญ์ƒ ๋ถ€๋ชจ ๋…ธ๋“œ๊ฐ€ ์™ผ์ชฝ ์ž์‹๋ณด๋‹ค๋Š” ํฌ๊ณ , ์˜ค๋ฅธ์ชฝ ์ž์‹๋ณด๋‹ค๋Š” ์ž‘๋‹ค

  • ๋‘ ๋ฒˆ์งธ ๋…ธ๋“œ์ธ 48์˜ ์ž์‹๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ๋ฐ”๋กœ ์ฐพ์•˜๋‹ค...


โœ”๏ธ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ ์˜ˆ์ œ:: ์‚ญ์ œ

  • ์ž์‹์ด ์—†๋Š” ๊ฒฝ์šฐ

    • ์‚ญ์ œํ•  ๋…ธ๋“œ์˜ ์ž์‹์ด ์—†๋Š” ๊ฒฝ์šฐ ๋‹จ์ˆœํžˆ ์ œ๊ฑฐํ•˜๋ฉด ๋œ๋‹ค

  • ์ž์‹์ด ํ•˜๋‚˜๋งŒ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ

    • ์‚ญ์ œํ•  ๋…ธ๋“œ์˜ ์ž์‹์ด ํ•˜๋‚˜๋งŒ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ ์‚ญ์ œํ•  ๋…ธ๋“œ์˜ ์ž๋ฆฌ์— ์ž์‹ ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค

  • ์ž์‹์ด ๋‘˜ ๋‹ค ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ

    • ์ž์‹์ด ๋‘˜ ๋‹ค ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ ๊ทธ ๋‹ค์Œ์œผ๋กœ ์‚ญ์ œํ•  ๋…ธ๋“œ์˜ ์ž๋ฆฌ์— ์ž๊ธฐ ๋‹ค์Œ์œผ๋กœ ํฐ ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค


๐Ÿ“Œ ์ฐธ๊ณ 

์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ์˜ ์„ฑ๋Šฅ์„ ์ตœ๋Œ€๋กœ ๋Œ์–ด๋‚ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ๊ฐ€ ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ์— ๊ฐ€๊นŒ์›Œ ์งˆ ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„ํ•ด์•ผ ํ•œ๋‹ค
โ–ถ๏ธŽ ๋†’์ด๊ฐ€ ๋‚ฎ์„์ˆ˜๋ก ํƒ์ƒ‰์„ ๋น ๋ฅด๊ฒŒ ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ท ํ˜•์ด ์žกํžŒ ํŠธ๋ฆฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„ํ•ด์•ผ ํ•œ๋‹ค


โœ”๏ธ ํŠธ๋ฆฌ(Tree)์˜ ํšจ์œจ์„ฑ

ํŠธ๋ฆฌ(Tree)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ํšจ์œจ์ ์ด๋‹ค

  • ํŠธ๋ฆฌ์—์„œ ๋ฐ์ดํ„ฐ์˜ ๊ฐœ์ˆ˜๊ฐ€ N๊ฐœ์ผ ๋•Œ, ๋ฐฐ์—ด๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ O(N)์˜ ๊ณต๊ฐ„๋งŒ์ด ์†Œ์š”๋˜๋ฉฐ
  • ์‚ฝ์ž… ๋ฐ ์‚ญ์ œํ•  ๋•Œ ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ, ๊ธฐ์กด์˜ ๋ฐฐ์—ด์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ์‹๋ณด๋‹ค ํšจ์œจ์ ์ด๋‹ค

โ–ถ๏ธŽ ๊ทธ๋ž˜์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ ๋Œ€์šฉ๋Ÿ‰ ์ €์žฅ ๋ฐ ๊ฒ€์ƒ‰ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋งŽ์ด ํ™œ์šฉ๋œ๋‹ค




โœจ tl;dr

  • ํŽธํ–ฅ ์ด์ง„ ํŠธ๋ฆฌ(Skewed Binary Tree)์€ ํƒ์ƒ‰ํ•  ๋•Œ ๐‘‚(๐‘)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์—
  • ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ๋ฅผ ์ตœ๋Œ€ํ•œ ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ์˜ ํ˜•ํƒœ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผํ•œ๋‹ค
profile
๐Ÿš€ ๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ์“ฐ๋Š” ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

0๊ฐœ์˜ ๋Œ“๊ธ€