탐색 2

[알고리즘] 이진 탐색

이진 탐색 리스트 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 탐색 알고리즘이다. 이미 데이터가 정렬되어 있다면 매우 빠르게 타겟값을 찾을 수 있다. 이진 탐색은 위치를 나타내는 변수를 3개를 사용한다. 리스트의 시작점, 끝점, 그리고 중간점이다. 타겟값과 중간점에 있는 데이터를 반복적으로 비교하며 타겟값을 찾는다. 예시 숫자 1, 3, 5, 7, 9, 11, 13, 15, 17, 19가 순서대로 저장되어 있을 때 15를 찾는 과정을 알아보자. 시작점을 리스트의 맨 처음 인덱스([0]), 끝점을 리스트의 맨 뒤 인덱스([9])로 설정한다. 중간점은 0과 9의 중간값인 [4]번 인덱스가 된다.(소수점 이하는 버린다.) 찾고자 하는 값인 15가 중간점의 데이터 값의 9보다 크므로 중간값 이전의 값은 확..

알고리즘 2022.11.05

[알고리즘] 순차 탐색

순차 탐색 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 탐색 방법이다. 보통 정렬되지 않은 리스트에서 데이터를 찾아야 할 때 사용한다. 시간만 충분하다면 데이터가 아무리 많아도 원하는 데이터를 찾아낼 수 있다. 예시 숫자 42, 23, 56, 11, 60이 순서대로 저장되어 있을 때 56을 찾는 과정을 알아보자. 준비된 데이터의 앞에서부터 56을 찾는다. 리스트의 맨 앞에는 42가 들어있다. 이는 찾고자 하는 56과 다르므로 다음 데이터로 이동한다. 그 다음에는 23이 들어있다. 이 또한 찾고자 하는 56과 다르므로 다음 데이터로 이동한다. 그 다음에는 56이 들어있다. 이는 찾고자 하는 56과 같으므로 탐색을 마친다. 코드 ## 순차 탐색 함수 ## 매개변수..

알고리즘 2022.11.05