1. 程式人生 > >資料結構_練習 第7章  查詢

資料結構_練習 第7章  查詢

1.選擇題

1n個元素的表做順序查詢時,若查詢每個元素的概率相同,則平均查詢長度為   

A(n-1)/2       B n/2      C(n+1)/2        Dn

答案:C

解釋:總查詢次數N=1+2+3++n=n(n+1)/2,則平均查詢長度為N/n=(n+1)/2

2適用於折半查詢的表的儲存方式及元素排列要求為   

  A.連結方式儲存,元素無序B.連結方式儲存,元素有序

C.順序方式儲存,元素無序D.順序方式儲存,元素有序

答案:D

解釋:折半查詢要求線性表必須採用順序儲存結構,而且表中元素按關鍵字有序排列。

3)如果要求一個線性表既能較快的查詢,又能適應動態變化的要求,最好採用(    )查詢法。

A.順序查詢B.折半查詢

C.分塊查詢D.雜湊查詢

答案:C

解釋:分塊查詢的優點是:在表中插入和刪除資料元素時,只要找到該元素對應的塊,就可以在該塊內進行插入和刪除運算。由於塊內是無序的,故插入和刪除比較容易,無需進行大量移動。如果線性表既要快速查詢又經常動態變化,則可採用分塊查詢。

4折半查詢有序表(4610122030507088100)。若查詢表中元素58,則它將依次與表中   比較大小,查詢結果是失敗。

A20703050                    B

30887050

C2050                         D308850

答案:A

解釋:表中共10個元素,第一次取ë(1+10)/2û=5,與第五個元素20比較,58大於20,再取ë(6+10)/2û=8,與第八個元素70比較,依次類推再與3050比較,最終查詢失敗。

522個記錄的有序表作折半查詢,當查詢失敗時,至少需要比較   次關鍵字。

A3    B4 C5     D6

答案:B

解釋:22個記錄的有序表,其折半查詢的判定樹深度為ëlog222û+1=5,且該判定樹不是滿二叉樹,即查詢失敗時至多比較5次,至少比較4次。

6

折半搜尋與二叉排序樹的時間效能   )。

  A.相同B.完全不同

C.有時不相同D.數量級都是O(log2n)

答案:C

7分別以下列序列構造二叉排序樹,與用其它三個序列所構造的結果不同的是   )。

A.(100809060120110130

B.(100120110130806090

C.(100608090120110130

D(100806090120130110)

答案:C

解釋:ABCD四個選項構造二叉排序樹都以100為根,易知ABD三個序列中第一個比100小的關鍵字為80,即100的左孩子為80,而C選項中100的左孩子為60,故選C

8在平衡二叉樹中插入一個結點後造成了不平衡,設最低的不平衡結點為A,並已知A的左孩子的平衡因子為0右孩子的平衡因子為1,則應作   型調整以使其平衡。

ALL           BLR          CRL   DRR

答案:C

9下列關於mB-樹的說法錯誤的是   )。

A.根結點至多有m棵子樹

B.所有葉子都在同一層次上

C非葉結點至少有m/2 (m為偶數)m/2+1m為奇數)棵子樹

D根結點中的資料是有序的

答案:D

10下面關於B-B+樹的敘述中,不正確的是   )。

AB-樹和B+樹都是平衡的多叉樹       BB-樹和B+樹都可用於檔案的索引結構

CB-樹和B+樹都能有效地支援順序檢索 DB-樹和B+樹都能有效地支援隨機檢索

答案:C

11mB-樹是一棵   )。

Am叉排序樹Bm叉平衡排序樹

Cm-1叉平衡排序樹Dm+1叉平衡排序樹

答案:B

12下面關於雜湊查詢的說法,正確的是   )。

A雜湊函式構造的越複雜越好,因為這樣隨機性好,衝突小

B除留餘數法是所有雜湊函式中最好的

C不存在特別好與壞的雜湊函式,要視情況而定

D.雜湊表的平均查詢長度有時也和記錄總數有關

答案:C

13)下面關於雜湊查詢的說法,不正確的是(   )。

A.採用鏈地址法處理衝突時,查詢一個元素的時間是相同的

B.採用鏈地址法處理衝突時,若插入規定總是在鏈首,則插入任一個元素的時間是相同的

C.用鏈地址法處理衝突,不會引起二次聚集現象

  D.用鏈地址法處理衝突,適合表長不確定的情況

答案:A

解釋:在同義詞構成的單鏈表中,查詢該單鏈表表中不同元素,所消耗的時間不同

14設雜湊表長為14,雜湊函式是H(key)=key%11,表中已有資料的關鍵字為15386184共四個,現要將關鍵字為49的元素加到表中,用二次探測法解決衝突,則放入的位置是   )。

A8         B3        C5       D9

答案:D

解釋:關鍵字15放入位置4,關鍵字38放入位置5,關鍵字61放入位置6,關鍵字84放入位置7,再新增關鍵字49,計算得到地址為5,衝突,用二次探測法解決衝突得到新地址為6,仍衝突,再用用二次探測法解決衝突,得到新地址為4,仍衝突,再用用二次探測法解決衝突,得到新地址為9,不衝突,即將關鍵字49放入位置9

15)採用線性探測法處理衝突,可能要探測多個位置,在查詢成功的情況下,所探測的這些位置上的關鍵字 (    )

A不一定都是同義詞 B一定都是同義詞

C一定都不是同義詞D都相同

答案:A

解釋:所探測的這些關鍵字可能是在處理其它關鍵字衝突過程中放入該位置的。

2.應用

1假定對有序表:(34572430425463728795)進行折半查詢,試回答下列問題:

畫出描述折半查詢過程的判定樹;

若查詢元素54,需依次與哪些元素比較?

若查詢元素90,需依次與哪些元素比較?

假定每個元素的查詢概率相等,求查詢成功時的平均查詢長度。

答案:

先畫出判定樹如下(注:mid=ë(1+12)/2û=6):

30

5            63

3       7       42    87

              4     24       5472

相關推薦

資料結構_練習 7  查詢

1.選擇題 (1)對n個元素的表做順序查詢時,若查詢每個元素的概率相同,則平均查詢長度為(   )。 A.(n-1)/2       B. n/2      C.(n+1)/2

資料機構_練習 6

1.選擇題 (1)在一個圖中,所有頂點的度數之和等於圖的邊數的(   )倍。   A.1/2            B.1             C.2            

大話資料結構讀書筆記艾提拉總結 查詢演算法 和排序演算法比較好 1資料結構緒論 1 2演算法 17 3線性表 41 4棧與佇列 87 5串 123 6樹 149 7圖 21

大話資料結構讀書筆記艾提拉總結   查詢演算法 和排序演算法比較好     第1章資料結構緒論 1 第2章演算法 17 第3章線性表 41 第4章棧與佇列 87 第5章串 123 第6章樹 149 第7章圖 211

野生前端的資料結構基礎練習7)——二叉樹

網上的相關教程非常多,基礎知識自行搜尋即可。 習題主要選自Orelly出版的《資料結構與演算法javascript描述》一書。 參考程式碼可見:https://github.com/dashnowords/blogs/tree/master/Structure/btree 一.二叉樹的

java資料結構與演算法 2 陣列

1.建立陣列 在java中建立陣列的方式: String[] aArray = new String[5]; String[] bArray = {“a”,”b”,”c”, “d”, “e”};

java資料結構和演算法 3 簡單排序

氣泡排序、選擇排序、插入排序 public class SortDemo { public static void main(String[] args) { // T

java資料結構與演算法 4 棧和佇列

1.棧 棧只允許訪問一個數據項, 即最後插入的資料項,移除這個資料項才能訪問倒數第二個插入的資料項,依此類推。以下是java實現的棧: package exam; public class S

資料結構筆記整理5:樹和二叉樹

第5章 樹和二叉樹 本章內容 本章主要介紹樹、二叉樹的概念,遍歷方法以及應用等,本章在考研中是重點內容。 5.1 樹相關的基本概念 樹是一種非線性的資料結構,是若干結點的集合,有唯一的根結點和若干棵互不相交的子樹構成。其中每一棵子樹又是一棵樹,

資料結構1800試題()

第四章       串 一、選擇題 1.下面關於串的的敘述中,哪一個是不正確的?(    )【北方交通大學 2001 一、5(2分)】 A.串是字元的有限序列          B.空串是由空格構成的串 C.模式匹配是串的一種重要運算  D.串既可以採用順序儲存,也可以採用鏈式儲存 2  若串S1=‘ABC

數據結構學習之7 樹和二叉樹

順序 兩層 遍歷二叉樹 data 等價 樹的高度 高度 問題 truct 數據結構學習之第7章 樹和二叉樹 0x7.1.1 樹的基本概念 ?1.樹的定義 ? 樹是由n(n>=0)個結點(或元素)組成的有限集合(記為T) ? 如果n>0,這n個結點中有且僅有一個結

7 查詢(散列表)

  在前6章中學習幾種基本型別的資料結構,其中也有一些查詢的操作,第7章就是專門講比較具體的查詢演算法,還有各種優化。   首先,順序查詢和折半查詢是比較熟悉的,平常用處挺大的,不過兩種查詢方法都有很明顯的劣勢,而折半查詢時間複雜度O(log2N),相對來說查詢效率比較高,但它只限於有序表。為了解決查詢演算

讀書筆記之《資料結構》--- 查詢

本章目錄: 1.靜態查詢表 2.動態查詢表 3.雜湊表 基本概念: 查詢表:是由同一型別的資料元素構成的集合 靜態查詢表:只進行“查詢”操作的表 動態查詢表:在查詢過程中,對不存在的資料元素進行插入,或從表中刪除已存在的資料元素,此類操作的表稱為動態查詢表 關鍵

7 異常處理結構、代碼測試與調試

健壯性 發現 數據 font 高級編程 操作 好的 下標越界 提前   再牛的程序員也無法提前預見代碼運行時可能遇到的所有情況,機會每個程序員都被用戶說過“你編的那個軟件不好用啊”,而程序員經過反復檢查以後發現問題的原因是用戶操作不規範或者輸入了錯誤類型的數據,於是一邊修改

資料基礎---《利用Python進行資料分析·2版》7 資料清洗和準備

之前自己對於numpy和pandas是要用的時候東學一點西一點,直到看到《利用Python進行資料分析·第2版》,覺得只看這一篇就夠了。非常感謝原博主的翻譯和分享。 在資料分析和建模的過程中,相當多的時間要用在資料準備上:載入、清理、轉換以及重塑。這些工作會佔到分析師時間的80%或更多。

7 網路層協議(1)_網路層首部

1. 網路層首部 1.1 網路層協議 (1)TCP/IP協議棧網路層的4個協議:IP協議、ICMP協議、IGMP協議和ARP協議。 (2)IP協議:動態路上協議的統稱,包括RIP和OSPF協議。 (3)TCP/IP協議分成四層:應用層定義了客戶端和伺服器通訊規範,傳輸層實現可靠

7:檔案和資料格式化

註明:本系列課程專為全國計算機等級考試二級 Python 語言程式設計考試服務 目錄 考綱考點 知識導圖 1、檔案的使用 檔案 檔案的型別 檔案的開啟和關閉 檔案的讀寫 2、資料組織的維度 一維資料 二維資料 高維資料 3、一維資料的處理

《c and pointer》7問題與練習整理

#問題 1.具有空函式體的函式可以作為存根使用,你如何對這類函式進行修改,使其更有用? Have the stub(存根) print out a message when it is called,perhaps printing the values it

C++ Primer 五版7程式設計練習節選(函式指標陣列)

問題描述:設計一個函式指標用於完成兩個數字(x, y)的"平均值"計算,並驗證:調和平均數<=幾何平均數<=算術平均數<=平方平均數,當且僅當x = y 是等號成立。 要求:1,(x, y)可從控制檯連續輸入;            2,函式指標原型 d

C++ Primer Plus(五版)7程式設計練習

#include<iostream> int in(double scores[]); void out(const double scores[], int n); double average(const double scores[], int n);

查詢資料

7.1 基本查詢語句 使用SELECT語句。其基本格式: SELECT {*|<欄位列表>} [ FROM <表1>,<表2>... [WHERE <表示式> HAVING____ GROUP BY__ ORDER BY__ LIMIT_