快速查找算法 查找算法有幾種?
查找算法有幾種?1、順序搜索條件:無序或有序隊(duì)列。原則:按順序比較每個元素,直到找到關(guān)鍵字。時間復(fù)雜度:O(n)二進(jìn)制搜索(半搜索)條件:有序數(shù)組原則:搜索過程從數(shù)組的中間元素開始。如果中間元素正好是
查找算法有幾種?
1、順序搜索條件:無序或有序隊(duì)列。原則:按順序比較每個元素,直到找到關(guān)鍵字。時間復(fù)雜度:O(n)二進(jìn)制搜索(半搜索)條件:有序數(shù)組原則:搜索過程從數(shù)組的中間元素開始。如果中間元素正好是要搜索的元素,則搜索過程結(jié)束。如果某個特定元素大于或小于中間元素,則該元素位于數(shù)組中大于或小于中間元素的那一半,然后按開始時所做的那樣從中間元素進(jìn)行比較。如果某個步驟中的數(shù)組為空,則表示找不到它。這種搜索算法每次比較將搜索范圍縮小一半。時間復(fù)雜度:O(logn)3。哈希表(Hash table)條件:首先創(chuàng)建一個哈希表(Hash table)原則:根據(jù)鍵值進(jìn)行搜索,通過Hash函數(shù)定位數(shù)據(jù)元素。時間復(fù)雜度:幾乎為o(1),取決于沖突的數(shù)量。