考研 資料結構 查詢演算法

2021-10-20 22:43:25 字數 670 閱讀 8304

//查詢演算法

//***1.順序查詢

typedef

struct

sstable;

intsearch_seq

(sstable s,

int k)

}return-1

;}//增加哨兵

intsearch_seq_02

(sstable s,

int k)

//2.***折半查詢(僅適用於有序的順序表)(o(log2(n)))

//公升序排列

intbinary_search

(sstable s,

int k)

return-1

;}//***3.分塊查詢(一般不考察**)

//索引表

typedef

struct

index;

//儲存實際元素的順序表

int list[

100]

;//在索引表中確定待查記錄所屬的分塊

//在塊內順序查詢

//r若使用折半查詢,若索引表不包含關鍵字,要在low分塊進行查詢

//***4.b樹

//五叉查詢樹

typedef

struct node

;

資料結構考研 KMP演算法

廢話少說,時間緊任務重,直接來。參考阮一峰的日誌 字串匹配的kmp演算法 只要求出部分匹配值 字首,字尾共有的最長的那個 也就是它到底移動幾位,也就解決了 移動位數 已匹配的字元數 對應的部分匹配值 部分匹配值 就是 字首 和 字尾 的最長的共有元素的長度。以 abcdabd 為例,a 的字首和字尾...

資料結構 考研 Floyd演算法

floyed 演算法與 dijkstra 演算法的思想完全一樣,遍歷整個鄰接矩陣,比較每一條邊可否加入迴圈中的兩邊之間來短接。floyed 演算法基於動態規劃演算法,可以允許有負權值,但不可以有帶負權值的邊存在。首先,初始化乙個鄰接矩陣,初始化乙個 dp 矩陣,初始化乙個頂點的前趨矩陣prev。de...

考研 資料結構 排序演算法

include include using namespace std 排序演算法 時間複雜度 最好,最壞,平均 插入排序 void insert sort int arr,int n arr j 1 temp 折半插入排序 void insert02 sort int arr,int n else...