코드 스피드를 빠르게 하고 싶으면 알고리즘+자료구조에 정답이 있다!!
알고리즘 → 레시피
모든 배열에 쓸 수 없다 정렬된 배열(Sorted Array)에만 쓸 수 있다.
특정한 자료구조에만 알고리즘이 가능하다.
예를 들면 0부터 100까지 정렬이 된 배열에서만 사용 가능
→ 정렬 하면서 느려질 수 있지만 검색에서만큼은 엄청 빠르다
반을 쪼갠 것을 의미한다 이것은 정렬한 배열의 중앙을 기준으로 더 가까운 값 기준으로 배열을 돌린다.
→ step의 단계를 줄일 수 있다.
더 빛을 보게 되는 순간은 그 데이터가 무수히 많을때다.
단점
→ Linear Time Complexity(선형 시간 복잡도) 라고 한다.
Linear Time Complexity
이진 검색 알고리즘을 짜려면 정렬하는데 시간을 쏟아야하지만 검색에서는 빠르다 이것은 알고리즘과 데이터 구조가 상층 관계라는걸 알 수 있다.