일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- jupyter lab
- 플러터
- Unity
- docker
- github
- HTML
- Flutter
- 도커
- Python
- 구조체
- 깃
- git
- 포인터
- vim
- c#
- Algorithm
- C++
- c# 윈폼
- dart 언어
- c언어
- jupyter
- Houdini
- C언어 포인터
- 유니티
- c# winform
- 다트 언어
- gitlab
- c# 추상 클래스
- Data Structure
- C# delegate
Archives
- Today
- Total
목록python 이진 탐색 알고리즘 (1)
nomad-programmer
[Programming/Algorithm] 이진 탐색 알고리즘
이진 탐색 알고리즘을 요약하면 다음과 같다 리스트의 모든 데이터는 정렬된 상태여야 한다. 첫 번째 인덱스를 start로 설정하고 마지막 인덱스를 end로 설정한다. 가운데 인덱스를 mid로 설정하고 mid 데이터와 target 데이터를 비교한다. target 데이터와 mid 데이터가 같다면 mid를 반환한다. target 데이터가 작다면 end를 mid-1로 한다. target 데이터가 크면 start를 mid+1로 한다. 데이터를 찾거나 start와 end가 교차하기 전까지 계속 진행한다. 데이터를 찾지 못했다면 -1 혹은 None을 반환한다. 이진 탐색 알고리즘을 적용하려면 반드시 데이터가 정렬된 상태여야 한다. 이미 정렬이 상태이므로 target이 mid의 데이터보다 작다는 것은 mid 이후 데이터..
Programming/Algorithm
2021. 2. 9. 23:53