코딩/알고리즘
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.검색을 많이하는 상황 -> 정렬된 배열 > 아이템추가시 시간이 오래걸리는 양면성.