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.검색을 많이하는 상황 -> 정렬된 배열 > 아이템추가시 시간이 오래걸리는 양면성.
'코딩 > 알고리즘' 카테고리의 다른 글
백준 javascript 10998 (0) | 2023.03.04 |
---|---|
백준 1000 javascript (0) | 2023.03.04 |
Big O (0) | 2023.03.04 |
Hash Table, Queue, Stack (0) | 2023.03.03 |
Array 배열 (0) | 2023.01.29 |