์•Œ๊ณ ๋ฆฌ์ฆ˜ 2

[Algorithm]์ด์ง„ํƒ์ƒ‰(Binary Search)

์ด์ง„ํƒ์ƒ‰(Binary Search) ์ •๋ ฌ๋œ ์ƒํƒœ์˜ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ํšจ๊ณผ์ ์ธ ํƒ์ƒ‰ ๋ฐฉ๋ฒ• ์˜ค๋ฆ„์ฐจ์ˆœ ํƒ์ƒ‰ ๋ฐฉ๋ฒ• ๋ฐฐ์—ด์˜ ๊ฐ€์šด๋ฐ ์›์†Œ A[x]์™€ ํƒ์ƒ‰ํ‚ค y๋ฅผ ๋น„๊ต. 1) ํƒ์ƒ‰ํ‚ค = ๊ฐ€์šด๋ฐ ์›์†Œ -> ํƒ์ƒ‰ ์„ฑ๊ณต(์ธ๋ฑ์Šค x)๋ฅผ ๋ฐ˜ํ™˜ ํ›„ ์ข…๋ฃŒ 2) ํƒ์ƒ‰ํ‚ค '์ด์ง„ ํƒ์ƒ‰(์›๋ž˜ ํฌ๊ธฐ 1/2์ธ ์™ผ์ชฝ ๋ถ€๋ถ„ ๋ฐฐ์—ด) ': ์ˆœํ™˜ํ˜ธ์ถœ 3) ํƒ์ƒ‰ํ‚ค '์ด์ง„ ํƒ์ƒ‰(์›๋ž˜ ํฌ๊ธฐ 1/2์ธ ์˜ค๋ฅธ์ชฝ ๋ถ€๋ถ„ ๋ฐฐ์—ด) ': ์ˆœํ™˜ํ˜ธ์ถœ ์˜ˆ์ œ T(n) = T(n/2) + O(1) (n > 1), T(1) = 1 T(n) = O(logn) ํŠน์ง• ๋ฐฐ์—ด์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ •๋ ฌ๋œ ๊ฒฝ์šฐ์—๋งŒ ์ ์šฉ. ์‚ฝ์ž… / ์‚ญ์ œ ์—ฐ์‚ฐ์€ ๋ถ€๊ฐ€์ ์ธ ๋ฐ์ดํ„ฐ ์ด๋™์„ ์ˆ˜๋ฐ˜. ๋ฐ์ดํ„ฐ์˜ ์ •๋ ฌ ์ƒํƒœ ์œ ์ง€๋ฅผ ์œ„ํ•ด์„œ ํ‰๊ท  n/2๊ฐœ์˜ ๋ฐ์ด..

CS 2022.02.24

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค](level 2)ํ”ผ๋ณด๋‚˜์น˜์˜ ์ˆ˜

ํ”ผ๋ณด๋‚˜์น˜์˜ ์ˆ˜ Before we go further ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 1๋ ˆ๋ฒจ์„ ์–ด๋Š์ •๋„ ํ’€๊ณ  ๋ ˆ๋ฒจ 2๋ฅผ ํ’€๊ธฐ์œ„ํ•ด ๋ช‡ ๋ฌธ์ œ๋“ค์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด๋•Œ๋ถ€ํ„ฐ ์ €์˜ ์ขŒ์ ˆ์ด ์‹œ์ž‘๋œ ๋“ฏ ํ•ฉ๋‹ˆ๋‹คใ…Žใ…Ž ๋„ˆ๋ฌด ์–ด๋ ต๋”๊ตฐ์š”... ๊ทธ๋ž˜์„œ ์ฃผ๋ณ€์— ์˜๊ฒฌ์„ ๋ฌผ์–ด๋ณด๋‹ˆ ์–ด๋Š์ •๋„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ์ง€์‹์ด ์—†๋‹ค๋ฉด ํ’€๊ธฐ ์–ด๋ ต๋‹ค๊ณ  ํ•˜๋”๊ตฐ์š”. ๊ทธ๋ž˜์„œ ์ œ๋Œ€๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ํ’€๊ณ ์ž ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ ˆ๋ฒจ 2 ๋ฌธ์ œ ํ”ผ๋ณด๋‚˜์น˜์˜ ์ˆ˜์— ๋Œ€ํ•ด ์ž‘์„ฑํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํ”ผ๋ณด๋‚˜์น˜์˜ ์ˆ˜ ์—ญ์‚ฌ์™€ ๊ฐ™์€ ๊ฒƒ๋“ค์€ ๋”ฐ๋กœ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์˜ Refernce์˜ ์œ„ํ‚ค ๋งํฌ๋ฅผ ํƒ€๊ณ  ๊ฐ€์‹œ๋ฉด ์ž์„ธํžˆ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊นŠ์ด ์žˆ๊ฒŒ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ ์—ญ์‹œ ๋„˜์–ด๊ฐ€๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ณ  ์‚ฌ์šฉํ•˜๋Š” ์ˆ˜์ค€ ์ •๋„๋กœ๋งŒ ์ •๋ฆฌํ•˜๊ณ  ๋„˜์–ด๊ฐ€๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๊นŠ์ด ์žˆ๊ฒŒ ๋“ค์–ด๊ฐ€๋Š” ์ˆœ๊ฐ„ ๋„ˆ..

CS 2022.01.10
728x90
๋ฐ˜์‘ํ˜•