靜態查詢表,意思是針對這個表進行靜態查詢,何為靜態,那就是不能動態修改表中內容,不能對錶進行增加、刪除。
靜態查表表,有哪幾種基本辦法呢?
順序查詢法、折半查詢法、分塊查詢法
順序查詢法,從佇列頭部逐個比對到末尾就可以了。儲存資料可以使用陣列或鍊錶,資料通常沒有非遞增、非遞減關係
折半查詢:針對有嚴格大小順序排列的序列,需要定兩個變數乙個指向儲存空間的首部、乙個指向尾部。然後用求平均的方式找到中間位置數,將這個數的大小與被查詢數進行比較,通過大小來修改兩個變數的指向。
例如:a[7] = 輸入數字3試查詢表內是否有3
變數 int low, high, mid; low = 0; high = 6; //分別指向有序序列兩端, mid為存放平均值變數
(1)mid = (6 + 0) / 2 = 3; 將a[3]與3比較 a[3] = 5 ;大於3 所以high = 3 - 1 = 2;
(2) mid = (2 + 0) / 2 = 1 a[1] = 3與3相等,則找到要找的數,比較函式結束
分塊查詢
儲存特點:乙個有n個資料元素的陣列或鍊錶,將其分成幾段(s0,s2,s3,s4 ... sm-1),這裡設為m段,這m段之間有大小關係,即s1中的元素 全小於或大於 s2中元素,以此類推。 另外需要乙個索引表,儲存每塊的第乙個元素位置和每塊中的最大元素數值是多少。
當查詢數字x時,先在索引表裡查詢,數字x會在哪乙個塊的資料範圍中,如果max(k - 1) < x < max(k)(1 < k < m),則x在k塊中,接下來就可以在k塊中使用線性查詢,如果存在返回成功,不存在則返回失敗。
資料結構 靜態查詢
主要討論順序表 有序表 索引表和雜湊表查詢的各種實現方法,以及相應查詢方法在等概率情況下的平均查詢長度。查詢表 search table 相同型別的資料元素 物件 組成的集合,每個元素通常由若干資料項構成。關鍵字 key,碼 資料元素中某個 或幾個 資料項的值,它可以標識乙個資料元素。若關鍵字能唯一...
資料結構 靜態查詢表
從查詢說起 在英漢字典中查詢某個英文單詞的中文解釋 在新華字典中查詢某個漢字的讀音 含義 在對數表 平方根表中查詢某個數的對數 平方根 郵遞員送信件要按收件人的位址確定位置等等。從計算機 計算機網路中查詢特定的資訊,就需要在計算機中儲存包含該特定資訊的表。查詢是許多程式中最消耗時間的一部分。因而,乙...
資料結構 靜態查詢表
此為本人在學習資料結構時所寫的,各個功能能夠實現,有demo,node.h,tree.h,tree.cpp四個檔案,使用說明如下 按照要求,先進行建樹操作 然後按照輸出的介面選擇查詢操作即可 輸入的資料6 5 4 2 1 3 6。表示建立了一棵二叉鍊錶樹 54 6 21 3 在查詢時輸入 1,則進行...