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) -> 배열의 크기만큼 찾는 것

'Algorithm' 카테고리의 다른 글

Naive String Search  (0) 2022.07.31
Binary Search  (0) 2022.07.31
[문제풀이] Recursion 심화 (2)  (0) 2022.07.27
[문제풀이] Recursion 심화 (1)  (0) 2022.07.26
[문제풀이] Recursion  (0) 2022.07.24