코딩/알고리즘

Search알고리즘 (binary Search Linear Seach)

코딩쪼렙 2023. 1. 30. 22:57
728x90

  1. 데이터구조와 알고리즘 2가지가 묶여서 성능을 좌우함 (책꽂이 정리에 시간이 걸리지만, 잘 정리해두면 쉽게 찾을 수 있듯이) 2. 따라서, 주목적이 무엇인지 (쌓아두는 것이 목적인지, 나중에 빨리 찾는 것이 목적인지)에 따라서 구조와 알고리즘 조합을 선택해야

 

알고리즘:레시피

 

 

Search 알고리즘(binary Search Linear Seach)

Linear Search

배열이 커질수록 복잡해짐

binary Search 

정렬된 배열에서만 사용가능 

 

추가

소요시간 : sorted array > unsorted array (그냥 맨끝에 추가 ) 

정렬된 배열에선 아이템을 하나하나 비교하고 옆에 있는것을 옮겨야하기때문에

 

이진검색 : 반으로 쪼개는것 

중간에서부터 시작 

중간에서 타겟보다 큰지 작은지 비교후 나머지무시  >  그 중간에서 비교 > 그 중간에서비교

매 스텝에서 절반으로 줄임

10 , 20 개 배열에서  

3번 , 4번으로 스텝은 +1개만 추가됨 

 

1.binary Search : 거대한 배열을 다룰 때 효율적

2.그러나 배열을 정리해야함

3.검색을 많이하는 상황 -> 정렬된 배열  > 아이템추가시 시간이 오래걸리는 양면성.