일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 백준 1644
- 1644 파이썬
- 1753 파이썬
- 1806 파이썬
- Coroutine Flow
- 1806 투포인터
- 이진 탐색
- java
- 백준 10819
- android hilt
- 투포인터 알고리즘
- 5582 파이썬
- Android Room
- 안드로이드 hilt
- 자바
- git local remote
- Jetpack Room
- 6588 파이썬
- 10819 파이썬
- 5582 DP
- 1753 다익스트라
- Android mvp
- 백준 2096
- 2096 파이썬
- 1003 파이썬
- 자료구조
- 코루틴 플로우
- 1806 백준
- flow buffering
- 백준 5582
- Today
- Total
목록이진 탐색 (2)
Gemstone's Devlog
#include int BSearchRecur(int ar[], int first, int last, int target) { int mid; if (first > last) // 재귀함수의 탈출 조건 return -1; // -1의 반환은 탐색의 실패를 의미 mid = (first + last) / 2; // 탐색대상의 중앙을 찾는다. if (ar[mid] == target) return mid; // 탐색된 타겟의 인덱스 값 반환 else if (target < ar[mid]) return BSearchRecur(ar, first, mid - 1, target); else return BSearchRecur(ar, mid + 1, last, target); } int main(void) { int a..
순차 탐색 알고리즘 : O(n) 의 알고리즘을 이진 탐색 알고리즘 : O(logn) 의 알고리즘으로 개선시키는 것이 직접 연산횟수의 비교를 통해서 도대체 왜? 약간의 개선이 아닌 혁신적인 성능의 개선으로 간주되는지 알아보자. 비교를 위한 실험의 원칙은 다음과 같다. 1. 최악의 경우를 대상으로 비교하는 것이 목적이니 탐색의 실패를 유도한다. 2. 탐색의 실패가 결정되기까지 몇 번의 비교연산이 진행되는지를 센다. 3. 데이터의 수는 500, 5000, 50000일 때를 기준으로 각각 실험을 진행한다. #include int BSearch(int ar[], int len, int target) { int first = 0; int last = len - 1; int mid; int opCount = 0; /..