-
順序搜尋方法是程式設計中最常用的演算法之一,最原始的方法是從頭到尾逐一查詢。 查詢是程式設計中最常用的演算法之一,假設x的值存在於n個整數中,最原始的方法是從頭到尾逐一查詢,這種搜尋方法稱為順序搜尋和引腳搜尋。
1. 順序搜尋:
1)最佳情況:首先要尋找的是: 時間複雜度為:o(1)。
2)最壞的情況:最後乙個是要尋找的元素。時間複雜度不是:o(n)。
3) 平均而言,它是:(n+1) 2.
所以一般來說,時間複雜度是:o(n)。
2. 二進位搜尋:o(log2n)->log 的對數,以 2 為底 n。
解釋:2 t = n; t = log(2)n。
3. 插值查詢:o(log(2)(log(2)n)))-log with 2 as log, with the logic with the bottom of the trade(log with 2 as base n).
4. 斐波那契查詢:o(log2n)-以 2 為底 n 的對數的>對數。
5. 樹表搜尋:
1)二叉樹:o(log2n) o(n)。
2)紅黑樹:O(LGN)。
3) B 和 B+ 樹:O(log2N)。
6.塊搜尋:o(log2n) o(n)。
7. 雜湊查詢:o(1)。
-
順序搜尋過程:從表中最後一條記錄開始,將記錄的關鍵字與給定值逐一比較,如果一條記錄的關鍵字等於給定值,則搜尋成功,找到搜尋到的記錄; 另一方面,如果關鍵字和給定值在第乙個記錄之前不相等,則意味著表中沒有記錄並且搜尋失敗。 該演算法被描述為 int search(int d,int a,int n)。
-
C語言實現了詳細查詢原始碼的順序,教你輕鬆學習演算法。
-
選擇排序是一種排序演算法,這裡我們以從小到大的排序為例進行說明。
基本思想和示例。
選擇排序(從小到大)的基本思想是,首先,選擇最小的數字並將其放在第一位; 然後,選擇第二個最小的數字並將其放在第二個位置; 依此類推,直到所有數字從小到大排序。
在實現中,我們通常首先確定第 i 個最小數的位置,然後與第 i 個數交換。
下面,用 3 2 4 1 條目折彎年份的選擇排序來說明排序過程,使用最小索引記錄當前最小編號所在的位置。
第 1 輪排序過程(查詢第乙個最小數字的位置)。
3 2 4 1 (最初,最小指數=1)。
3 2 4 1(3 > 2,所以最小指數=2)。
3 2 4 1(2 < 4,所以最小指數=2)。
3 2 4 1(2 > 1,所以最小指數=4,第乙個最小數在位置 4 處確定)。
1 2 4 3 (第一輪結果,交換 3 和 1,即交換位置 1 和位置 4)。
第 2 輪排序過程(查詢第 2 個最小數字的位置)。
1 2 4 3 (第 1 輪結果,最小指數=2,只需從位置 2 開始)。
1 2 4 3 (4 > 2,所以最小指數=2)。
1 2 4 3(3 > 2,所以最小指數=2)。
1 2 4 3 (第 2 輪結果,因為最小指數放在第 2 位,無需互換)。
第 3 輪排序過程(找到第 3 個最小的數字)。
1 2 4 3 (第 2 輪結果,最小指數=3,只需從位置 2 開始檢視即可)。
1 2 4 3 (4 > 3,所以最小指數=4)。
1 2 3 4 (第3輪結果,3號位和4號位互換,即4號位和3號位互換)。
至此,排序完成。
總結和實施。
選擇“排序”(Sorting)對大小為 n 的無序陣列 r[n] 進行排序,對 n 輪選擇過程進行排序。 在第 i 輪中,選擇第 i 個最小的數字並將其放置在第 i 個位置。 當 n-1st 完成時,第 n 個最小(即最大)數字自然位於最後乙個位置。
1.首先,開啟視覺化C++軟體,按快捷鍵crtl+n建立乙個新任務,在彈出的視窗中用滑鼠左鍵點選檔案,選擇C++原始檔: >>>More