靜態查詢表演算法

2021-09-23 23:45:58 字數 917 閱讀 6881

演算法1:採用順序儲存結構建立靜態查詢表,對查詢表進行順序查詢和改進的順序查詢,並對其查詢效率進行比較;

演算法2:採用順序儲存結構建立靜態查詢表——有序表,對有序表進行二分查詢;

#include

#include

typedef

int keytype;

//typedef float keytype

//typedef char *keytype

//對數值型關鍵字的比較巨集定義

#define eq(a,b) ((a)==(b))

#define lt(a,b) ((a)<(b))

#define lq(a,b) ((a)<=(b))

//資料元素型別定義

typedef

struct

elemtype;

typedef

struct

sstable;

intcreate

(sstable *st)

st->length =n;

return1;

}int

search_seq

(sstable st,keytype key)

intsearch_sseq

(sstable st,keytype key)

intsearch_bin

(sstable st,keytype key)

}int

main()

else

printf

("改進演算法順序查詢關鍵字結果為:\n");

i=search_sseq

(st,key);if

(i==0)

else

}else

else

}}

有序表的靜態查詢演算法 折半查詢

今天在看到資料結構 靜態表的查詢的時候,看到乙個演算法挺有意思,理解也 比較容易。這是乙個有序表的查詢演算法,比如 2,3,4,5,11,22,23,44,55,57,88 這樣的有序結構。折半查詢 binary search 的過程 先確定帶查記錄所在的範圍或者區間,然後逐步縮小範圍,直到找到或者...

靜態樹表查詢演算法 次優查詢樹

自 有關在靜態查詢表中對特定關鍵字進行順序查詢 折半查詢或者分塊查詢,都是在查詢表中各關鍵字被查詢概率相同的前提下進行的。例如查詢表中有 n 個關鍵字,表中每個關鍵字被查詢的概率都是 1 n。在等概率的情況,使用折半查詢演算法的效能最優。而在某些情況下,查詢表中各關鍵字被查詢的概率是不同的。例如水果...

靜態查詢表

查詢表 search table 靜態查詢表 只進行查詢操作 動態查詢表 在查詢表上可以進行刪除和插入操作 1.靜態查詢表的順序查詢 int search seq sstable t,keytype key 2.有序表的查詢 2.1折半查詢 binary search int search bin ...