參考:https://www.cnblogs.com/lsqin/p/9342929.html
順序查找
算法簡介
順序查找又稱爲線性查找,是一種最簡單的查找方法。適用於線性表的順序存儲結構和鏈式存儲結構。該算法的時間複雜度爲O(n)。
基本思路
從第一個元素m開始逐個與需要查找的元素x進行比較,當比較到元素值相同(即m=x)時返回元素m的下標,如果比較到最後都沒有找到,則返回-1。
優缺點
缺點:是當n 很大時,平均查找長度較大,效率低;
優點:是對錶中數據元素的存儲沒有要求。另外,對於線性鏈表,只能進行順序查找。
算法實現
/**
* 順序查找
* @param list
* @param selectValue
* @return
*/
private static int select(List<Integer> list, int selectValue) {
if (list == null || list.isEmpty()){
return -1;
}
for(int i = 0;i < list.size(); i++) {
if (selectValue == list.get(i)) {
return i;
}
}
return -1;
}