数据结构试卷及答案(四)
一、選擇題
1、設一維數組中有n個數組元素,則讀取第i個數組元素的平均時間復雜度為(? )。?
(A) O(n)?????????
(B) O(nlog2n)???
(C) O(1)????????
(D) O(n2)
2、設一棵二叉樹的深度為k,則該二叉樹中最多有(? )個結點。?
(A) 2k-1?????????
(B) 2k?????????
(C) 2k-1?????????
(D) 2k-1
3、設某無向圖中有n個頂點e條邊,則該無向圖中所有頂點的入度之和為(? )。?
(A) n???????????
(B) e???????????
(C) 2n??????????
(D) 2e
4、在二叉排序樹中插入一個結點的時間復雜度為(? )。?
(A) O(1)????????
(B) O(n)????????
(C) O(log2n)???
(D) O(n2)
5、設某有向圖的鄰接表中有n個表頭結點和m個表結點,則該圖中有(? )條有向邊。?
(A) n????????????
(B) n-1?????????
(C) m???????????
(D) m-1
6、設一組初始記錄關鍵字序列為(345,253,674,924,627),則用基數排序需要進行(? )趟的分配和回收才能使得初始關鍵字
序列變成有序序列。?
(A) 3????????????
(B) 4??????????
(C) 5???????????
(D) 8
7、設用鏈表作為棧的存儲結構則退棧操作(? )。?
(A) 必須判別棧是否為滿??????????
(B) 必須判別棧是否為空?
(C) 判別棧元素的類型????????????
(D) 對棧不作任何判別
8、下列四種排序中(? )的空間復雜度最大。?
(A) 快速排序????
(B) 冒泡排序????
(C) 希爾排序????
(D) 堆
9、設某二叉樹中度數為0的結點數為N0,度數為1的結點數為Nl,度數為2的結點數為N2,則下列等式成立的(? )。
(A) N0=N1+1??
(B) N0=Nl+N2?
(C) N0=N2+1??
(D) N0=2N1+l
10、設有序順序表中有n個數據元素,則利用二分查找法查找數據元素X的最多比較次數不超過(? )。?
(A) log2n+1??????
(B) log2n-1?????
(C) log2n???????
(D) log2(n+1)
二、填空題
1、設有n個無序的記錄關鍵字,則直接插入排序的時間復雜度為________,快速排序的平均時間復雜度為_________。
2、設指針變量p指向雙向循環鏈表中的結點X,則刪除結點X需要執行的語句序列為_______________________________(設結點中的兩個指針域分別為llink和rlink)。
參考答案是:p>llink->rlink=p->rlink; p->rlink->llink=p->rlink3、根據初始關鍵字序列(19,22,01,38,10)建立的二叉排序樹的高度為____________。
參考答案是:34、深度為k的完全二叉樹中最少有____________個結點。
參考答案是:2k-15、設初始記錄關鍵字序列為(K1,K2,…,Kn),則用篩選法思想建堆必須從第______個元素開始進行篩選。
參考答案是:n/26、設哈夫曼樹中共有99個結點,則該樹中有_________個葉子結點;若采用二叉鏈表作為存儲結構,則該樹中有_____個空指針
域。
7、設有一個順序循環隊列中有M個存儲單元,則該循環隊列中最多能夠存儲________個隊列元素;當前實際存儲_________個隊
列元素(設頭指針F指向當前隊頭元素的前一個位置,尾指針指向當前隊尾元素的位置)。
8、設順序線性表中有n個數據元素,則第i個位置上插入一個數據元素需要移動表中_______個數據元素;刪除第i個位置上的數據元
素需要移動表中_______個元素。
9、設一組初始記錄關鍵字序列為(20,18,22,16,30,19),則以20為中軸的一趟快速排序結果為___________。
參考答案是:(19,18,16,20,30,22)10、設一組初始記錄關鍵字序列為(20,18,22,16,30,19),則根據這些初始關鍵字序列建成的初始堆為_____________。
參考答案是:(16,18,19,20,32,22)11、設某無向圖G中有n個頂點,用鄰接矩陣A作為該圖的存儲結構,則頂點i和頂點j互為鄰接點的條件是_______________。
參考答案是:A[i][j]=112、設無向圖對應的鄰接矩陣為A,則A中第i上非0元素的個數_________第i列上非0元素的個數(填等于,大于或小于)。
參考答案是:等于13、設前序遍歷某二叉樹的序列為ABCD,中序遍歷該二叉樹的序列為BADC,則后序遍歷該二叉樹的序列為_____________。
參考答案是:BDCA14、設散列函數H(k)=k mod p,解決沖突的方法為鏈地址法。要求在下列算法劃線處填上正確的語句完成在散列表hashtalbe中查找
關鍵字值等于k的結點,成功時返回指向關鍵字的指針,不成功時返回標志0。
typedef struct node?
{
???? int key;
???? struct node *next;
} lklist;?
void createlkhash(lklist *hashtable[ ])
{
???? int i,k;? lklist *s;
???? for(i=0;i<m;i++)_____________________;
???? for(i=0;i<n;i++)
???? {
???????? s=(lklist *)malloc(sizeof(lklist));?
???????? s->key=a[i];
???????? k=a[i] % p;?
???????? s->next=hashtable[k];
???????? _______________________;
???? }
}
三、計算題
1、畫出廣義表LS=(( ) , (e) , (a , (b , c , d )))的頭尾鏈表存儲結構。
2、下圖所示的森林:
(1) 求樹(a)的先根序列和后根序列;?
(2) 求森林先序序列和中序序列;
(3)將此森林轉換為相應的二叉樹;
?
(2) ABCDEFGHIJK; BDEFCAIJKHG林轉換為相應的二叉樹;
(3)
3、設散列表的地址范圍是[ 0..9 ],散列函數為H(key)= (key2?+2)MOD 9,并采用鏈表處理沖突,請畫出元素7、4、5、3、6、
2、8、9依次插入散列表的存儲結構。
四、算法設計題
1、設單鏈表中有僅三類字符的數據元素(大寫字母、數字和其它字符),要求利用原單鏈表中結點空間設計出三個單鏈表的算法,使
每個單鏈表只包含同類字符。
2、設計在鏈式存儲結構上交換二叉樹中所有結點左右子樹的算法。
參考答案是:typedef?struct?node? {int?data;?struct?node?*lchild,*rchild; }?bitree; void?swapbitree(bitree?*bt) {bitree?*p;if(bt==0)?return;swapbitree(bt->lchild);?swapbitree(bt->rchild);p=bt->lchild;?bt->lchild=bt->rchild;?bt->rchild=p; }3、在鏈式存儲結構上建立一棵二叉排序樹。
參考答案是:#define?n?10 typedef?struct?node {int?key;?struct?node?*lchild,*rchild; }bitree; void?bstinsert(bitree?*&bt,int?key) {if(bt==0){bt=(bitree?*)malloc(sizeof(bitree));?bt->key=key;bt->lchild=bt->rchild=0;}else?if(bt->key>key)?bstinsert(bt->lchild,key);?else?bstinsert(bt->rchild,key); } void?createbsttree(bitree?*&bt) {int?i;for(i=1;i<=n;i++)?bstinsert(bt,random(100)); }來源:我是碼農,轉載請保留出處和鏈接!
本文鏈接:http://www.54manong.com/?id=48
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })(); '); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();總結
以上是生活随笔為你收集整理的数据结构试卷及答案(四)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 同济大学考研经验贴
- 下一篇: 展讯SC9820E驱动配置之camera