演算法 查詢陣列中元素

2021-09-23 17:21:04 字數 593 閱讀 8245

查詢演算法

1.線性查詢

缺點:效率不高,通過遍歷迴圈,乙個個查詢比對。

2.二分法

通過死迴圈不斷地將陣列一分為二,得到中間元素,然後目標元素與中間元素進行比對,當出位置等於末位置時,退出。

缺點:侷限性很大,只能用於排好序了地陣列

public

class

search

}class

mysearch;}

//線行查詢

public

intlinesearch

(int value)

}//沒有找到,返回-1

return-1

;}//二分法,

public

inttwosearch

(int value)

//判斷目標值是否與中間元素相等

if(array[midindx]

==value)

else

else

//取出新的中間位置

midindx=

(begin+end)/2

;}}}

}

陣列中元素的查詢

二分法 取陣列的兩個端點left,right,定義乙個mid left right 2表示中間元素。比較需要查詢到元素與mid對應的數值大小,再根據其大小關係決定left,right的變化情況 include includeusing namespace std int cmp int x,int ...

Python演算法 分治法查詢陣列中元素最小最大值

給定陣列a1,a2,a3,an,找出陣列中最大值和最小值。陣列中兩兩各不相同 演算法思想類似於上圖,將陣列兩兩分為一組,如果陣列元素奇數個,就把最後乙個元素單獨分為一組,然後分別對每一組中相鄰兩個元素比較,把二者中值小的數放在陣列左邊,值大的數放在陣列右邊,只需比較n 2次就可以將陣列分組完成。這時...

二維陣列中元素的查詢

題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排列。求該二維陣列中是否存在給定數字number。解題思路 實現 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排列。求該二維陣列中是否存在給定數字number param...