๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ด์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ2

11-3๊ฐ•. ์ด์ง„๊ฒ€์ƒ‰ํŠธ๋ฆฌ (Binary Search Tree) ์ง€๋‚œ ๊ฐ•์˜ ๊ณต๋ถ€ ๋‚ด์šฉ... ์ด์ง„๊ฒ€์ƒ‰ํŠธ๋ฆฌ์˜ ํƒ์ƒ‰, ์‚ฝ์ž… ์ด์ง„๊ฒ€์ƒ‰ํŠธ๋ฆฌ/์ด์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ์˜ ์‚ญ์ œ Case 1 : ์ž์‹๋…ธ๋“œ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ -> ํ•ด๋‹น ๋…ธ๋“œ๋ฅผ ๊ทธ๋ƒฅ ์‚ญ์ œํ•œ๋‹ค. Case 2 : ์ž์‹๋…ธ๋“œ๊ฐ€ 1๊ฐœ์ธ ๊ฒฝ์šฐ -> ์ž์‹ ์˜ ์ž์‹๋…ธ๋“œ๋ฅผ ์›๋ž˜ ์ž์‹ ์˜ ์œ„์น˜๋กœ ๋ณด๋‚ธ๋‹ค. Case 3 : ์ž์‹๋…ธ๋“œ๊ฐ€ 2๊ฐœ์ธ ๊ฒฝ์šฐ -> ํ•ด๋‹น ๋…ธ๋“œ์˜ ์ž๋ฆฌ๋Š” ๊ทธ๋Œ€๋กœ ๋‘๊ณ , ๋ฐ์ดํ„ฐ๋งŒ ์‚ญ์ œํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ๋…ธ๋“œ์™€ ๊ฐ€์ž์•„ ๊ฐ€๊นŒ์šด ๊ฐ’์ธ ๋‹ค๋ฅธ ๋…ธ๋“œ๋ฅผ ํ•ด๋‹น ์ž๋ฆฌ๋กœ ๊ฐ€์ ธ ์˜จ๋‹ค. ๊ทธ ๋‹ค๋ฅธ ๋…ธ๋“œ๋Š” ์‚ญ์ œํ•˜๋ ค๋Š” ๋…ธ๋“œ์˜ successor์ด๋‹ค. ์‚ญ์ œํ•˜๋ ค๋Š” ๋…ธ๋“œ์˜ successor๋Š” ์ตœ๋Œ€ 1๊ฐœ์˜ ์ž์‹๋…ธ๋“œ๋ฅผ ๊ฐ€์ง„๋‹ค. TREE-DELETE(T, z)// z : ์‚ญ์ œํ•  ๋…ธ๋“œ { if left[z] == null or right[z] == null then y 2020. 11. 15.
์ œ11-1๊ฐ•. ์ด์ง„๊ฒ€์ƒ‰ํŠธ๋ฆฌ(Binary Search Tree) ์ด์ง„๊ฒ€์ƒ‰ํŠธ๋ฆฌ(Binary Search Tree) - ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ‚ค(key)๋ฅผ ์ €์žฅ - ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ฐ์‚ฐ๋“ค์„ ์ง€์›ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ INSERT - ์ƒˆ๋กœ์šด ํ‚ค์˜ ์‚ฝ์ž… SEARTCH - ํ‚ค ํƒ์ƒ‰ DELETE - ํ‚ค์˜ ์‚ญ์ œ ex) ์‹ฌ๋ณผํ…Œ์ด๋ธ” search insert delete ๋ฐฐ์—ด ์ •๋ ฌ๋œ ๊ฒฝ์šฐ O(logn) O(n) O(n) ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ O(n) O(1) O(1) ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ์ •๋ ฌ๋œ ๊ฒฝ์šฐ O(n) O(n) O(1) ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ O(n) O(1) O(1) ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•๋“ค - ์ •๋ ฌ๋œ, ํ˜น์€ ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฐฐ์—ด ํ˜น์€ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ INSERT, SEARCH, DELETE ์ค‘ ์ ์–ด๋„ ํ•˜๋‚˜๋Š” O(n) - ์ด์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ(Binary Search Tree), ๋ ˆ๋“œ-๋ธ”๋ž™ํŠธ๋ฆฌ(red-black tree), A.. 2020. 11. 10.