二分法查找是基于有序_201,查找顺序查找
生活随笔
收集整理的這篇文章主要介紹了
二分法查找是基于有序_201,查找顺序查找
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
查找算法中順序查找算是最簡單的了,無論是有序的還是無序的都可以,也不需要排序,只需要一個個對比即可,但其實(shí)效率很低。我們來看下代碼
1public?static?int?search1(int[]?a,?int?key)?{2????for?(int?i?=?0,?length?=?a.length;?i?3????????if?(a[i]?==?key)
4????????????return?i;
5????}
6????return?-1;
7}
如果找到就返回查找的數(shù)所在數(shù)組中的下標(biāo),如果沒找到就返回-1。還有說上面的代碼可以優(yōu)化,使用一個哨兵,免去了每次都要越界的判斷,但通過實(shí)際測試運(yùn)行效率并沒有提高,無論測試的數(shù)據(jù)是多還是少運(yùn)行的時間都差不多,我們來看下代碼。
1public?static?int?search2(int[]?a,?int?key)?{2????int?index?=?a.length?-?1;
3????if?(key?==?a[index])
4????????return?index;
5????a[index]?=?key;
6????int?i?=?0;
7????while?(a[i++]?!=?key)?;
8????return?i?==?index?+?1???-1?:?i?-?1;
9}
順序查找是最簡單的一種查找算法,對數(shù)據(jù)的要求也很隨意,不需要排序即可查找。后面會介紹二分法查找,插值查找和斐波那契查找都是基于已經(jīng)排序過的數(shù)據(jù)。
總結(jié)
以上是生活随笔為你收集整理的二分法查找是基于有序_201,查找顺序查找的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 科技一周大事(11 月 20 日-26
- 下一篇: excel通过VLOOKUP函数从一个表