[CS50] 알고리즘 - 선형 검색
TIL
선형 검색(Linear Search)은 원하는 값을 찾을 때까지 처음부터 마지막까지 차례대로 검색하는 방법이다.찾고자 하는 값이 발견될 때까지 모든 자료를 순서대로 확인한다. 효율성선형 검색은 정확하지만 효율적이지 못한 방법이다.최악의 경우찾는 값이 맨 마지막에 있거나 없는 경우길이가 n인 배열에서 n번 실행시간 복잡도: O(n)최선의 경우첫 번째 시도에서 값을 찾는 경우시간 복잡도: Ω(1)선형 검색은 자료가 정렬되어 있지 않거나 추가 정보가 없을 때 유용하다. 무작위로 탐색하는 것보다 순서대로 탐색하는 것이 더 효율적이기 때문이다. 정렬 후 검색하면 더 빠르지만, 정렬 자체에 시간이 오래 걸린다는 문제가 있다. 구현숫자 배열 검색주어진 배열에서 특정 값을 찾는 코드다.#include #include ..
[CS50] 알고리즘 - 검색 알고리즘
TIL
검색 알고리즘메모리 구조, 자료형, 배열과 같은 기본 개념을 활용하여 검색과 정렬 문제를 푸는 알고리즘을 배워보자. 주어진 배열에서 특정 값을 찾는 방법부터 알아보자. 배열은 한 자료형의 여러 값이 메모리상에 모여 있는 구조다. 컴퓨터는 배열의 인덱스를 하나씩 접근한다.어떤 값이 배열 안에 있는지 찾으려면 배열이 정렬되어 있는지에 따라 다른 방법을 사용한다.선형 검색배열의 인덱스를 처음부터 끝까지 하나씩 증가시키며 값을 검사한다.For i from 0 to n–1 If i'th element is 50 Return trueReturn false모든 원소를 순서대로 확인하므로 정렬 여부와 관계없이 사용할 수 있다.시간 복잡도: O(n) 이진 검색배열이 정렬되어 있다면..