9K+ 次觀看
搜尋演算法用於從資料集查詢或查詢一個或多個元素。這類演算法用於從特定資料結構中查詢元素。搜尋可以是有序的,也可以是無序的。如果資料集中的資料是隨機的,則我們需要使用順序搜尋。否則,我們可以使用其他不同的技術來降低複雜度。在本部分中,我們將涵蓋 − 二分查詢 指數級查詢 插值搜尋 跳躍搜尋 線性搜尋 三分搜尋
3K+ 次觀看
與二分搜尋類似,它也會將列表劃分為子列表。此過程使用兩個中間 mid 值將列表分成三部分。隨著列表劃分為更多細分,搜尋鍵值所需的時間隨之減少。三分搜尋技術的時間複雜度時間複雜度:O(log3 n)空間複雜度:O(1)輸入和輸出輸入:一個排序的資料列表:12 25 48 52 67 79 88 93 搜尋鍵 52 輸出:在位置找到了項:3演算法ternarySearch(array, start, end, key)輸入 - 一個排序好的陣列,起始和結束位置,以及搜尋鍵輸出 - 鍵的位置(如果找到),否則出錯 ... 閱讀更多
4K+ 次觀看
指數搜尋也被稱為倍增搜尋或飛奔搜尋。此機制用於查詢可能存在搜尋鍵的範圍。如果 L 和 U 是列表的上限和下限,那麼 L 和 U 都是 2 的冪。對於最後一段,U 是列表的最後一個位置。因此,它被稱為指數。在找到特定範圍後,它使用二分搜尋技術查詢搜尋鍵的確切位置。指數搜尋技術的複雜性時間複雜度:對於最佳情況為 O(1)。O(log2 i) ... 閱讀更多