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

๋ชฉ๋ก๐Ÿ“š Computer Science (4)

Algo ์“ฐ์ž

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

์ •๋ ฌ๋œ ๋ฆฌ์ŠคํŠธ์˜ ๋ฒ”์œ„๋ฅผ ๋ฐ˜์”ฉ ๋‚˜๋ˆ„์–ด ํƒ์ƒ‰์„ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ •๋ ฌ๋œ ๋ฆฌ์ŠคํŠธ์—์„œ๋งŒ ์‚ฌ์šฉ๊ฐ€๋Šฅ ์†๋„๊ฐ€ ๋น ๋ฆ„ ์ƒํ™ฉ ์†๋„ ์ตœ์  O(1) ๋ณดํ†ต O(logn) ์ตœ์•… O(logn) ๋™์ž‘ ๋ฐฐ์—ด์˜ ์ค‘๊ฐ„๊ฐ’ ์„ค์ • ์ค‘๊ฐ„๊ฐ’๊ณผ ๊ฒ€์ƒ‰๊ฐ’ ๋น„๊ต ๊ฒ€์ƒ‰๊ฐ’๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ - ํƒ์ƒ‰์™„๋ฃŒ ๊ฒ€์ƒ‰๊ฐ’์ด ์ค‘๊ฐ„๊ฐ’๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ - low๋ฅผ ์ค‘๊ฐ„๊ฐ’+1 ๋กœ ์กฐ์ • ๊ฒ€์ƒ‰๊ฐ’์ด ์ค‘๊ฐ„๊ฐ’๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ - high๋ฅผ ์ค‘๊ฐ„๊ฐ’-1 ๋กœ ์กฐ์ • low๊ฐ€ high๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€๊ฒฝ์šฐ๊นŒ์ง€ ๋ฐ˜๋ณต(๊ฐ’์„ ์ฐพ์€ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด) ์ด์ง„ํƒ์ƒ‰ ๊ตฌํ˜„ def binarySearch(data, num): low = 0 high = len(data) - 1 while(low data[mid]: low = mid + 1 else : high = mid - 1 return False ์ด์ง„ํƒ์ƒ‰ ์‚ฌ์šฉ ์˜ˆ์‹œ ์ฝ”๋“œ n..