일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 최솟값 만들기
- 카카오
- 머신러닝
- 프로그래머스 답
- 소수
- 날씨 앱
- SwiftUI
- swift 시작
- 파이썬
- 이미지학습
- supervisely
- Python
- Siwft
- 카카오 2018
- roboflow
- swift
- 카카오 2019
- 프로그래머스
- kakao 2018
- 스위프트
- 데이터셋 만들기
- 카카오 2021
- 문제
- swift 배열
- 카카오 2020
- Kakao
- c언어
- fast.ai
- coco 데이터셋
- ios 개발 시작
Archives
- Today
- Total
잡초의 일지
[C language] [Swift] 알고리즘 | 이진 탐색 Binary Search 본문
728x90
반응형
SMALL
the-brain-of-sic2.tistory.com/44
참고한곳.
이진탐색!
이번학기 수업에서 들었던 내용이다.
array에 들어있는 값을 처음 원소부터 찾지 않고, 중간값, 또 그 중간값, 또 그 중간값... 하면서 찾는거다
만약에 8을 찾는다고 치면, 이렇게 찾는다.
다시 말하자면 범위를 좁혀주는거라고 할 수도 있다.
처음에 찾아야 하는 범위는 [0] ~ [9] 까지이다. (left : [0], right : [9])
그 다음은
이렇게 범위가 줄어들었다. (left : [6], right : [9])
이런 식으로 간다.
그럼 코드로 어떻게 구현하는지 보자. c 로 하나 swift로 하나 문법 차이라서 둘 다 하고싶진 않지만, 뭐... 그냥 해봐야겠다..내 노동 하나하나가 다 피와살이라고 생각하고.
먼저 c 반복문으로 구현하면,
이렇다. end = 9; 라고 선언해준걸 sizeof()를 써서 바꾸고 싶었는데, 포인터형을 반환한다며 자꾸 안된다.
근데 또 그냥 printf("%d", sizeof(arr)); 하면 된다...흠... 왤까.. 머리가 안돌아간다.
swift도 뭐.. 그게 그거긴 한데 일단 연습삼아 코드를 쳐보겠다....
이렇다...
새로 바꿔준 start와 end값을 사용해서 재귀함수로 나타낼수도 있겠다.
728x90
반응형
LIST
'[코딩] 배우는것' 카테고리의 다른 글
MVVM 디자인 패턴 패러다임 (0) | 2020.07.14 |
---|---|
[C language] [Swift] 알고리즘 | 재귀함수 (GCD 최대공약수) (0) | 2020.05.22 |
[C language] [Swift] 알고리즘 | 재귀함수 (hanoi 하노이 탑) (0) | 2020.05.22 |
[C language] [Swift] 알고리즘 | 재귀함수 (fibonacci 피보나치 수열) (0) | 2020.05.22 |
[C language] [Swift] 알고리즘 | 재귀함수 (power 거듭제곱) (0) | 2020.05.21 |
Comments