內存中的數據以多種方式和不同的位置結構化。為了查找可用的數據,我們必須采用某種方法。搜索算法旨在從存儲元素的數據結構中檢索元素,以便用戶可以輕鬆地訪問和修改它。在鏈表、棧、數組、隊列、圖等不同的數據結構中,采用一種有效的算法從存儲器中檢索數據。
什麼是搜索:從內存中查找條目的過程在數據結構中稱為搜索。通過實現從存儲的數據結構中檢索元素的搜索算法來完成元素的搜索。具體有兩種算法;
- 順序搜索:在順序搜索中,通過檢查每個組件,依次遍曆每個元素。
的例子。線性搜索
- 區間搜索:在區間搜索中,算法應用於排序後的數據結構。該算法的時間複雜度較低,優於順序搜索算法。
的例子。二分查找
線性搜索:在線性搜索算法中,元素是按順序搜索的。在最好的情況下,時間複雜度是恒定的,即O(1),在最壞的情況下,時間複雜度是線性的,即O(n),其中n是列表中元素的總數。這是最簡單的算法,檢查每一項,直到與搜索的元素匹配為止。
例子:讓我們假設一個數組和它的元素是這樣的;
24 89 45 60 34 76 90
搜索元素:90
在上麵的例子中,對於搜索90,算法將工作7次,所以它的時間複雜度是O(n),這裏n=9。