๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

ํŠธ๋ฆฌ(Tree)๊ตฌ์กฐ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

by 5566 2023. 10. 28.

1. ํŠธ๋ฆฌ ๊ตฌ์กฐ์˜ ๊ฐœ๋…

ํŠธ๋ฆฌ ๊ตฌ์กฐ๋Š” ๊ณ„์ธต์ ์ธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋กœ, ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…ธ๋“œ(node)๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. ์ด ๊ตฌ์กฐ๋Š” ๋‚˜๋ฌด๋ฅผ ๋’ค์ง‘์–ด ์„ธ์šด ํ˜•ํƒœ์™€ ์œ ์‚ฌํ•˜๋‹ค๊ณ  ๋น„์œ ํ•  ์ˆ˜ ์žˆ๋‹ค. ํŠธ๋ฆฌ ๊ตฌ์กฐ์—์„œ๋Š” ๋งจ ์œ„์— ์œ„์น˜ํ•œ ๋…ธ๋“œ๋ฅผ ๋ฃจํŠธ(root)๋ผ๊ณ  ํ•˜๊ณ , ๊ฐ ๋…ธ๋“œ๋Š” ์„œ๋กœ ์—ฐ๊ฒฐ๋œ ๊ฐ€์ง€๋กœ ํ‘œํ˜„๋œ๋‹ค.

๊ฐ ๋…ธ๋“œ๋Š” 0๊ฐœ ์ด์ƒ์˜ ์ž์‹(child)์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ž์‹ ๋…ธ๋“œ๋“ค์€ ๋‹ค์‹œ ์ž์‹์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์–ด ๊ณ„์ธต์ ์ธ ๊ตฌ์กฐ๋ฅผ ํ˜•์„ฑํ•œ๋‹ค. ํ•œ ๋…ธ๋“œ๋Š” ํ•˜๋‚˜์˜ ๋ถ€๋ชจ(parent) ๋…ธ๋“œ๋ฅผ ๊ฐ€์ง€๋ฉฐ, ๋ฃจํŠธ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋…ธ๋“œ๋“ค์€ ๋ถ€๋ชจ๋กœ๋ถ€ํ„ฐ ๋…๋ฆฝ์ ์ธ ๊ณ„์ธต ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

ํŠธ๋ฆฌ๋Š” ํ˜„์‹ค ์„ธ๊ณ„์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฐœ๋…์œผ๋กœ, ํŒŒ์ผ ์‹œ์Šคํ…œ, ์กฐ์ง๋„, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ๋ฑ์Šค ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ™œ์šฉ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ์˜ ๊ณ„์ธต์ ์ธ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•˜๊ณ  ํƒ์ƒ‰ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋œ๋‹ค.

2. ํŠธ๋ฆฌ ๊ตฌ์กฐ์˜ ํŠน์ง•

ํŠธ๋ฆฌ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค:

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

์ด๋Ÿฌํ•œ ํŠน์ง•๋“ค์€ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋ฐ์ดํ„ฐ์˜ ๊ณ„์ธต์  ํ‘œํ˜„๊ณผ ํƒ์ƒ‰์— ์ ํ•ฉํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋งŒ๋“ค์–ด์ค€๋‹ค.

3. ํŠธ๋ฆฌ ๊ตฌ์กฐ์˜ ๊ตฌ์„ฑ ์š”์†Œ

ํŠธ๋ฆฌ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค:

  • ๋…ธ๋“œ (Node): ํŠธ๋ฆฌ์˜ ๊ธฐ๋ณธ ๋‹จ์œ„๋กœ์„œ, ๋ฐ์ดํ„ฐ์™€ ํฌ์ธํ„ฐ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ๊ฐ ๋…ธ๋“œ๋Š” ๊ฐ’ ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ , ์ž์‹ ๋…ธ๋“œ์™€ ์—ฐ๊ฒฐ๋œ ํฌ์ธํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
  • ๊ฐ„์„  (Edge): ๊ฐ ๋…ธ๋“œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์„ ์œผ๋กœ, ๋ถ€๋ชจ ๋…ธ๋“œ์™€ ์ž์‹ ๋…ธ๋“œ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๊ฐ„์„ ์€ ๋ฐฉํ–ฅ์„ฑ์„ ๊ฐ€์ง€๋ฉฐ, ๋ถ€๋ชจ์—์„œ ์ž์‹์œผ๋กœ ํ–ฅํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.
  • ๋ฃจํŠธ (Root): ํŠธ๋ฆฌ์˜ ๋งจ ์œ„์— ์œ„์น˜ํ•œ ๋…ธ๋“œ๋กœ, ๋‹ค๋ฅธ ๋ชจ๋“  ๋…ธ๋“œ๋“ค์—๊ฒŒ ์ƒ์œ„ ๋…ธ๋“œ๋กœ์„œ์˜ ์—ญํ• ์„ ํ•œ๋‹ค. ํŠธ๋ฆฌ๋Š” ๋‹จ ํ•˜๋‚˜์˜ ๋ฃจํŠธ๋ฅผ ๊ฐ€์ง„๋‹ค.
  • ๋ถ€๋ชจ (Parent): ์–ด๋–ค ๋…ธ๋“œ์˜ ๋ฐ”๋กœ ์œ„์— ์œ„์น˜ํ•œ ๋…ธ๋“œ๋ฅผ ๋ถ€๋ชจ๋ผ๊ณ  ํ•œ๋‹ค. ๋ถ€๋ชจ ๋…ธ๋“œ๋Š” ์ž์‹ ๋…ธ๋“œ๋“ค์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.
  • ์ž์‹ (Child): ์–ด๋–ค ๋…ธ๋“œ ์•„๋ž˜์— ์œ„์น˜ํ•œ ๋…ธ๋“œ๋“ค์„ ์ž์‹์ด๋ผ๊ณ  ํ•œ๋‹ค. ํ•œ ๋…ธ๋“œ๋Š” 0๊ฐœ ์ด์ƒ์˜ ์ž์‹์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฆฌํ”„ (Leaf): ์–ด๋–ค ๋…ธ๋“œ์˜ ์ž์‹์ด ์—†๋Š” ๋…ธ๋“œ๋ฅผ ๋ฆฌํ”„ ๋…ธ๋“œ๋ผ๊ณ  ํ•œ๋‹ค. ๋ฆฌํ”„ ๋…ธ๋“œ๋Š” ๊ฐ€์žฅ ํ•˜์œ„์—์„œ ๋งˆ์ง€๋ง‰์— ์œ„์น˜ํ•œ ๋…ธ๋“œ๋กœ, ์ž์‹์ด ์—†๋Š” ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

๋…ธ๋“œ๋“ค๊ณผ ๊ฐ„์„ ๋“ค์˜ ์กฐํ•ฉ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋Š” ๊ณ„์ธต์ ์ธ ๋ฐ์ดํ„ฐ ํ‘œํ˜„๊ณผ ํƒ์ƒ‰์— ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

4. ํŠธ๋ฆฌ ๊ตฌ์กฐ์˜ ์ข…๋ฅ˜

ํŠธ๋ฆฌ ๊ตฌ์กฐ์—๋Š” ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜๊ฐ€ ์žˆ์œผ๋ฉฐ, ๊ฐ ์ข…๋ฅ˜๋Š” ํŠน์ •ํ•œ ๋ชฉ์ ์— ๋งž๊ฒŒ ์„ค๊ณ„๋˜์–ด ์‚ฌ์šฉ๋œ๋‹ค. ์ฃผ์š”ํ•œ ํŠธ๋ฆฌ ๊ตฌ์กฐ์˜ ์ข…๋ฅ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

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

๊ฐ๊ฐ์˜ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋Š” ํŠน์ •ํ•œ ๋ฌธ์ œ์— ์ตœ์ ํ™”๋œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ ๋ฐ ํƒ์ƒ‰์— ์ ํ•ฉํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ํ™œ์šฉ๋œ๋‹ค.

5. ํŠธ๋ฆฌ ๊ตฌ์กฐ์˜ ํ™œ์šฉ ์˜ˆ์‹œ

ํŠธ๋ฆฌ ๊ตฌ์กฐ๋Š” ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ™œ์šฉ๋˜๋ฉฐ, ๊ทธ ์ค‘์—์„œ๋„ ์ฃผ์š”ํ•œ ์˜ˆ์‹œ๋“ค์„ ์‚ดํŽด๋ณด์ž:

1. ํŒŒ์ผ ์‹œ์Šคํ…œ

ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ํŒŒ์ผ๊ณผ ํด๋”๋“ค์„ ํšจ์œจ์ ์œผ๋กœ ๊ตฌ์„ฑํ•˜๊ณ  ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ตœ์ƒ์œ„ ํด๋”๊ฐ€ ๋ฃจํŠธ ๋…ธ๋“œ๋กœ ์‹œ์ž‘ํ•˜์—ฌ ๊ฐ ํด๋”๋“ค์ด ์ž์‹ ๋…ธ๋“œ๊ฐ€ ๋˜๋Š” ๊ตฌ์กฐ๋กœ ํŒŒ์ผ๋“ค์„ ๊ณ„์ธต์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ํŒŒ์ผ ๋ฐ ํด๋”์˜ ํƒ์ƒ‰, ๋ณต์‚ฌ, ์‚ญ์ œ ๋“ฑ์˜ ์ž‘์—…์„ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

2. ์ธํ„ฐ๋„ท ๋ผ์šฐํŒ…

์ธํ„ฐ๋„ท์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ๋ผ์šฐํ„ฐ๋“ค์€ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋ผ์šฐํ„ฐ๋“ค์€ ๊ฐ ๋…ธ๋“œ๊ฐ€ ๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ ํ–ฅํ•˜๋Š” ๊ฒฝ๋กœ๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์ด๋Ÿฌํ•œ ๊ฒฝ๋กœ๋“ค์€ ๊ฐ„์„ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค. ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ๋ผ์šฐํŒ…์ด ์ด๋ฃจ์–ด์ง€๋ฉฐ, ๋ชฉ์ ์ง€๋กœ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ผ์šฐํ„ฐ๋ฅผ ์ฐพ์•„ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ๊ณ„์ธต์  ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

ํŠธ๋ฆฌ ๊ตฌ์กฐ๋Š” ๊ณ„์ธต์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. ์กฐ์ง์˜ ์กฐ์ง๋„, ํ”„๋กœ์ ํŠธ์˜ ์—…๋ฌด ๊ตฌ์กฐ, ๋ถ„๋ฅ˜์ฒด๊ณ„ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ํŠธ๋ฆฌ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ๊ด€๊ณ„์™€ ๊ณ„์ธต์„ ๋ช…ํ™•ํžˆ ํ‘œํ˜„ํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋‹ค.

4. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„

ํŠธ๋ฆฌ ๊ตฌ์กฐ๋Š” ๋‹ค์–‘ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ์—๋„ ํ™œ์šฉ๋œ๋‹ค. ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ๊ฒ€์ƒ‰๊ณผ ์ •๋ ฌ์„ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. AVL ํŠธ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ์ถ”๊ฐ€์™€ ์‚ญ์ œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. B-ํŠธ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ธ๋ฑ์Šค ๊ตฌ์กฐ๋กœ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋ฉฐ, ํŠธ๋ผ์ด๋Š” ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์‚ฌ์šฉ๋œ๋‹ค.

ํŠธ๋ฆฌ ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ์˜ ๊ณ„์ธต์  ํ‘œํ˜„ ๋ฐ ํƒ์ƒ‰์— ํšจ๊ณผ์ ์ด๋ฉฐ, ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ์œ ์šฉํ•˜๊ฒŒ ํ™œ์šฉ๋˜๊ณ  ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์กฐ์™€ ํŠน์„ฑ์— ๋งž๊ฒŒ ์ ์ ˆํ•œ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฉด ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ์™€ ์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋Œ“๊ธ€