๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กbinary search (1)

๐˜š๐˜ญ๐˜ฐ๐˜ธ ๐˜ฃ๐˜ถ๐˜ต ๐˜ด๐˜ต๐˜ฆ๐˜ข๐˜ฅ๐˜บ

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ด๋ถ„ ํƒ์ƒ‰(Binary Search)

1. ์ด๋ถ„ ํƒ์ƒ‰ ; Binary Search 1.1 ๊ฐœ๋… ๋ฒ”์œ„๋ฅผ ์ ์  ์ขํ˜€๊ฐ€๋ฉฐ ํƒ์ƒ‰์„ ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ, ์ด์ง„ ํƒ์ƒ‰์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค. ํ•˜๋‚˜์”ฉ ์ฐพ๋Š” ๊ฒƒ์ด ์•„๋‹Œ left์™€ right ์–‘์ชฝ์—์„œ ํƒ์ƒ‰์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜ ํƒ์ƒ‰์— ๋น„ํ•ด ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค. ์‹œ๊ฐ„๋ณต์žก๋„๋Š” ์ผ๋ฐ˜ ํƒ์ƒ‰์ด O(n), ์ด๋ถ„ ํƒ์ƒ‰์ด O(log n)์ด๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋ฏธ๋ฆฌ ์ •๋ ฌ๋œ ๋ฐฐ์—ด์—์„œ, ์ •ํ•ด๋†“์€ ์ธ๋ฑ์Šค ์œ„์น˜์ธ left์™€ right๋กœ mid ๊ฐ’์„ ์ •ํ•ด์คŒ(mid = (left + right) / 2) mid๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’๊ณผ ๋ชฉํ‘œ ๊ฐ’(result)์„ ๋น„๊ตํ•œ๋‹ค. mid > result, right = mid - 1 mid๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’๋ณด๋‹ค ๋ชฉํ‘œ ๊ฐ’์ด ๋” ์ž‘์„ ๊ฒฝ์šฐ, ๋ชฉํ‘œ ๊ฐ’์ด ์ ˆ๋ฐ˜ ์•„๋ž˜์ชฝ์— ํฌํ•จ๋œ ๋ฒ”์œ„ ์•ˆ์— ๋“ค์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ri..