資料結構 嚴蔚敏版 查詢基本操作

2021-09-06 01:53:19 字數 1215 閱讀 5270

順序查詢過程:從表中的最後乙個記錄開始,逐個進行記錄的關鍵字與給定值進行比較,若某個記錄的關鍵字與給定值相等,則查詢成功,找到所查的記錄;反之,若直到第乙個記錄,其關鍵字和給定值比較都不相等,則表明表中沒有所查的記錄,查詢失敗。

演算法描述為

int search(int d,int a,int n)

二分查詢又稱折半查詢,它是一種效率較高的查詢方法。

【二分查詢要求】:1.必須採用順序儲存結構2.必須按關鍵字大小有序排列。

【優缺點】折半查詢法的優點是比較次數少,查詢速度快,平均效能好;其缺點是要求待查表為有序表,且插入刪除困難。因此,折半查詢方法適用於不經常變動而查詢頻繁的有序列表。

【演算法思想】首先,將表中間位置記錄的關鍵字與查詢關鍵字比較,如果兩者相等,則查詢成功;否則利用中間位置記錄將表分成前、後兩個子表,如果中間位置記錄的關鍵字大於查詢關鍵字,則進一步查詢前一子表,否則進一步查詢後一子表。

重複以上過程,直到找到滿足條件的記錄,使查詢成功,或直到子表不存在為止,此時查詢不成功。

【演算法複雜度】假設其陣列長度為n,其演算法複雜度為o(log(n))

下面提供一段二分查詢實現的偽**:

binarysearch(max,min,des)

mid-des then

max=mid-1

else

min=mid+1

return max

#include #include #include #include #define maxsize 20

#define ok 1

#define error 0

#define true 1

#define false 0

using namespace std;

typedef int elemtype;

typedef int status;

typedef int keytype;

typedef structredtype;

typedef struct sstable;

void createlist(sstable &l,keytype key,int n)

//順序查詢

int search_seq(sstable st,keytype key)

//折半查詢

int intsearch_bin(sstable st,keytype key)

資料結構 嚴蔚敏版 緒論

資料 所有能被輸入到計算機中,且能被計算機處理的符號的集合。資料元素 資料中的乙個 個體 資料結構中討論的基本單位。資料結構 帶結構的資料元素的集合。資料的邏輯結構可以分為 1.集合結構 資料元素關係 結構之間的元素同屬於乙個集合體 2.線性結構 資料元素關係 結構之間的元素存在一對一的關係 3.樹...

資料結構 嚴蔚敏

最近一直想找一本純資料結構的書來學習,找來找去都沒有找到一本合適的書籍,相比之下國內的書籍之中,嚴蔚敏和吳偉民的還算是經典版了,很多國內其他資料結構教材都參考這本書的。但缺點是很多都是偽 對程式設計初學者來說有一些難度,甚至有些考研的同學來看這本書有很多還看不懂,並且裡面也有些容易迷惑人的地方。出於...

資料結構(嚴蔚敏)

說起為什麼重新拿起這本書,著實非常慚愧。是因為面試的時候,第乙個面試官面試完專案之後。第二面試官說我們就當聊聊天,考考資料結構,演算法就好了。結果以乙個問題就把我難住了,這個問題是 雜湊表是什麼?所以我打算花兩天的時間重新把這本書看一遍,並做下筆記,這次我一定會記住。目前,計算機已深入到社會生活的各...