๐Ÿ”น B-Tree๋ž€?

โœ… ๊ท ํ˜• ํŠธ๋ฆฌ(Balanced Tree) ๊ตฌ์กฐ

โœ… ๋ชจ๋“  ๋ฆฌํ”„ ๋…ธ๋“œ๊ฐ€ ๊ฐ™์€ ๊นŠ์ด๋ฅผ ๊ฐ€์ง โ†’ ์ฆ‰, ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์ด ๊ท ์ผํ•จ

โœ… ํ•œ ๊ฐœ์˜ ๋…ธ๋“œ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ‚ค์™€ ์ž์‹ ๋…ธ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ โ†’ ํ•œ ๋ฒˆ์— ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํƒ์ƒ‰ ๊ฐ€๋Šฅ

โœ… ๋””์Šคํฌ I/O๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋จ โ†’ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋น ๋ฅธ ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅ


๐Ÿ”น B-Tree vs. ์ผ๋ฐ˜ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ(BST)

๋น„๊ต ์š”์†Œ B-Tree ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ (BST)
์ž์‹ ๊ฐœ์ˆ˜ ํ•œ ๋…ธ๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž์‹์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ ๋…ธ๋“œ๋‹น ์ตœ๋Œ€ 2๊ฐœ์˜ ์ž์‹๋งŒ ๊ฐ€์ง
๋†’์ด ๋‚ฎ์Œ (O(log N)) โ†’ ๋น ๋ฅธ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ๊ฐ€ ํŽธํ–ฅ๋˜๋ฉด O(N)๊นŒ์ง€ ์ฆ๊ฐ€ ๊ฐ€๋Šฅ
๊ท ํ˜• ์œ ์ง€ โœ… ์ž๋™์œผ๋กœ ๊ท ํ˜• ์œ ์ง€ โŒ ํŽธํ–ฅ๋  ์ˆ˜ ์žˆ์Œ (AVL ํŠธ๋ฆฌ, Red-Black ํŠธ๋ฆฌ ํ•„์š”)
๋””์Šคํฌ ์ ‘๊ทผ โœ… ์ตœ์†Œํ™” (ํ•œ ๋ฒˆ์— ๋งŽ์€ ๋ฐ์ดํ„ฐ ๋กœ๋“œ) โŒ ๋…ธ๋“œ๋งˆ๋‹ค ๋””์Šคํฌ ์ ‘๊ทผ์ด ๋งŽ์•„์งˆ ๊ฐ€๋Šฅ์„ฑ ์žˆ์Œ

๐Ÿ”น B-Tree ๊ตฌ์กฐ ์˜ˆ์ œ

B-Tree์—์„œ ๊ฐ ๋…ธ๋“œ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ‚ค๋ฅผ ๊ฐ€์ง€๋ฉฐ, ํ‚ค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ๋จ.

์•„๋ž˜๋Š” ์ฐจ์ˆ˜(Order) = 3 ์ธ B-Tree ์˜ˆ์ œ์•ผ.

css
๋ณต์‚ฌํŽธ์ง‘
        [30]
       /    \\
   [10, 20]  [40, 50]


๐Ÿ”น B-Tree ๋™์ž‘ ๋ฐฉ์‹

โœ… 1. ๊ฒ€์ƒ‰ (O(log N))