์ฝ๋ฉํ
์คํธ/๊ธฐ๋ณธ ์๊ณ ๋ฆฌ์ฆ
2022. 2. 20.
์ด์งํ์(Binary_Search)
Binary_Search(์ด์ง ํ์) 1. Binary_Search๋ ๋ฐฐ์ด์ ๋ด๋ถ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฌ๋์ด ์์ด์ผ ์ฌ์ฉ๊ฐ๋ฅํ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์กฐ๊ฑด๋ง ๋ง๋ค๋ฉด ๋งค์ฐ ๋น ๋ฅด๋ค. (O(logn)์ ์๊ฐ๋ณต์ก๋) ๋ฐ์ดํฐ๋ฅผ ์ ๋ฐ์ฉ ์ขํ๊ฐ๋ฏ๋ก ์์น๋ฅผ ๋ํ๋ด๋ ๋ณ์ (์์์ , ์ค๊ฐ์ , ๋์ ) 3๊ฐ๊ฐ ํ์ํ๋ค. ์ฐพ์ผ๋ ค๋ ๋ฐ์ดํฐ์ ์ค๊ฐ์ ์์น์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ๋น๊ตํ๋๊ฒ์ด ์งํ๋ฐฉ์์ด๋ค. 2. ์์์ฝ๋ 2.1 ์ฌ๊ทํจ์ ๋ฐฉ์ def binary_search(array, target, start, end): if start > end: # array์ target๊ฐ์ด ์กด์ฌํ์ง ์์ ๊ณ์๋ ์ฌ๊ทํจ์ ํธ์ถ๋ก start > end๊ฐ ๋๊ฒฝ์ฐ None return return None mid = (start + end) // 2 # ์ค๊ฐ์ if ..