js顺序查找与二分查找
2017-03-29 18:30
211 查看
顺序查找适合数据随机排列的列表O(N)
二分查找适合排序列表O(log2n)
顺序查找
二分查找
二分查找适合排序列表O(log2n)
顺序查找
function seqSearch(arr, data) { var returnIndex = -1 var max = arr[0] var min = arr[0] arr.forEach((cur, index) => { if (cur === data) { returnIndex = index } if (cur > max) { max = cur } if (min > cur) { min = cur } }) return { index: returnIndex, max: max, min: min } } var arr = [4, 5, 7, 1, 8, 19] seqSearch(arr, 8) //{index: 4,max: 19,mix: 1}
二分查找
function binSearch(arr, data){ var up = arr.length - 1 var low = 0 while(low <= up){ var mid = Math.floor((up+low)/2) if (arr[mid] > data) { up = mid + 1 } else if (arr[mid] < data) { low = mid -1 } else { return mid } } return -1 } var arr = [1,2,3,4,6,7,8,11,14,17,20] binSearch(arr, 8) //6
相关文章推荐
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现,附代码)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现) (转载)
- 2008秋-计算机软件基础- 第四章- 顺序查找,二分查找
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)