이진탐색트리
단순탐색의 시간복잡도는 O(N),
이진탐색의 시간복잡도는 O(logN)이다.
따라서 N의 크기가 커질수록 이차이는 커진다.
예를들어 40억개를 탐색하면
단순탐색은 40억번을 계산해야하고
이진탐색은 32번만 계산하면된다.
배열에서 특정숫자를 찾는 이진탐색은 다음과같다.
function bst(list,item){
let min = 0
let max = list.length-1;
while(min<=max){
let mid = Math.floor((min+max)/2);
if(item === list[mid]) return mid;
else if(item < list[mid]){
max = mid-1;
}else{
min = mid+1;
}
}
return null
}
'개인공부 > TIL(Today I Learned)' 카테고리의 다른 글
TIL 47일차_자료구조: 그래프와 트리 (0) | 2021.03.06 |
---|---|
TIL 46일차_알고리즘문제_잘린 사각형의 개수 (0) | 2021.03.05 |
TIL 44일차_setTimeout의 this와 이를 제어하는 bind메소드 (0) | 2021.03.03 |
TIL 43일차_1급시민 (0) | 2021.03.02 |
TIL 42일차_상속 방법 두가지: pseudoClassical패턴과 ES6+ class문법 (0) | 2021.03.01 |