이분탐색
-
알고리즘 - 이진탐색 코드를 짜보자(1)Knowledge/Algorithm 2019. 6. 21. 07:19
오늘은 저번 이진탐색 개념정리에 이어서 직접 코드를 구현하는 시간을 가져보려고 한다. https://shineild-security.tistory.com/22 알고리즘 - 이진탐색 알고리즘 개념 안녕하세요. 오늘은 이진탐색 알고리즘 개념에 대해서 정리하려 합니다. 이진탐색이란 이진법, 이분법에서 파생된 말로 아메바를 예로 들 수가 있겠네요. 아메바는 번식을 할 때 자신의 몸을 반으로 나눠서 개체.. shineild-security.tistory.com 이진탐색을 진행함에 앞서서 필요한 전제조건이 뭔지 생각해보자. 우선은 데이터 정렬이 진행되어야 할 것이다. 여러 정렬들이 있지만 나는 하나밖에 정렬코드를 안만들어 놨음으로 버블소트 정렬을 사용할 것이다. 기존 버블소트 코드를 일단 가져왔다. #include..
-
알고리즘 - 이진탐색 알고리즘 개념Knowledge/Algorithm 2019. 6. 17. 00:50
안녕하세요. 오늘은 이진탐색 알고리즘 개념에 대해서 정리하려 합니다. 이진탐색이란 이진법, 이분법에서 파생된 말로 아메바를 예로 들 수가 있겠네요. 아메바는 번식을 할 때 자신의 몸을 반으로 나눠서 개체 수를 증가시킵니다. 그래서 사람들은 우수겟소리로 이분법적인 사고로 나눠서 판단하지 말라고도 말합니다. 두개로 분할한다라는 뜻으로 생각하시면 편할 것 같습니다. 그리고 이것을 수학적으로 접근해보면 우리는 친근한 게임을 예시로 들 수 있습니다. 그것은 바로 업다운 게임인데요. 우리는 업다운 게임을 할 때 본능적으로 가장 적은 횟수로 높은 확률을 갖을 수 있는 방법을 고안해 냅니다. 그것은 바로 1~100이란 숫자 중에 50을 기준으로 유추하기 시작하는 거죠. 만약 숫자가 87이라면 50을 묻고 높다고 판명이..