이진탐색 binarySearch with swift
전화번호부에서 이름을 검색할 때 이진 탐색을 사용한다. 이전 프로젝트에서도 전화번호부에서 이름을 검색해야 했는데 배열의 처음부터 다 매칭 해보는 방법을 사용해 O(n)의 시간 복잡도를 가졌습니다. 그때 이진 탐색을 사용했더라면 O(logn)의 시간 복잡도를 가져 배열이 길수록 훨씬 더 효율적으로 검색할 수 있었겠죠. ㅠ_ㅠ 사실 이진 탐색 알고리즘이 무엇인지는 학교에서 배워서 대충은 알고 있었으나 실전에서 이렇게 사용되는지는 와 닿지 않았습니다. 그래서 이번 기회에 이진 탐색 알고리즘을 학습하고 정리하려 합니다. 먼저 이진 탐색 알고리즘의 조건은 데이터가 정렬되어 있어야 합니다. 스위프트로 작성한 코드를 봅시다. 중간 인덱스를 찾아서 중간 인덱스의 값이랑 비교를 합니다. 중간 인덱스 값과 내가 원하는 값..
Tech/Algorithm
2019. 10. 15. 12:45
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 애니메이션
- Deep learning
- ARC
- Xcode
- 알고리즘
- 머신러닝
- rxswift
- swift5
- 책 후기
- objective-c
- 문자열
- wwdc
- 스위프트UI
- objc
- 독서
- 책
- SWIFT
- 스위프트
- leetcode
- stanford SwiftUI
- ios
- Algorithm
- RX
- string
- Animation
- iOS SwiftUI
- swiftUI
- 책 추천
- 딥러닝
- ReactiveX
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함