Algorithm
                
              Searching Algorithm
                주인장 꼬비
                 2022. 7. 27. 23:05
              
              
            
            목표
- Searching Algorithm이 무엇인지 파악한다.
- Linear Search를 구현한다.
- 정렬된 배열에서의 Binary Search를 구현한다.
- naive string searching algorithm을 구현한다.
- KMP string searching algorithm을 구현한다.
js에서 사용할 수 있는 검색 메소드
- indexOf
- includes
- find
- findIndex
=> 이 메소드들은 첫부분에서 시작해서 끝부분으로 이동하면서 한번에 하나의 항목을 확인한다.
=> Linear Search (선형 검색)

function linearSearch(arr, num) {
  for (const idx in arr) {
    if (arr[idx] === num) {
      return Number(idx);
    }
  }
  return -1;
}
Linear Search Big(O)
Best : O(1) -> 한번에 찾는 경우
Average : O(n)
Worst : O(n) -> 배열의 크기만큼 찾는 것