잡초의 일지

[C language] [Swift] 알고리즘 | 이진 탐색 Binary Search 본문

[코딩] 배우는것

[C language] [Swift] 알고리즘 | 이진 탐색 Binary Search

JabCho 2020. 6. 7. 07:47
728x90
반응형
SMALL

the-brain-of-sic2.tistory.com/44

 

[스위프트:알고리즘] 이진 탐색[2 / 3]: Binary Search: 이진 탐색: 반복문, 재귀호출로 구현하기

안녕하세요 !  씩이 입니다! 저는 Swift 와 iOS 를 공부하고 연구하는 학생입니다. 같은 분야를 공부하는 분들에게 조금이라도 도움이 주고 싶어서 공부하는 것들을 공유합니다. 제 3자가 있다

the-brain-of-sic2.tistory.com

참고한곳.

 

 

 

이진탐색!

이번학기 수업에서 들었던 내용이다.

 

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
Comments