2. void ABC(BTNode * BT){if BT {ABC (BT->left);ABC (BT->right);cout}}該算法的功能是:
五、算法填空(共8分)
二叉搜索樹的查找遞歸算法:
bool Find(BTreeNode* BST,ElemType& item){if (BST==NULL)return false; //查找失敗else {if (item==BST->data){item=BST->data;//查找成功return ___________;}else if(itemdata)return Find(______________,item); else return Find(_______________,item); }//if}
六、編寫算法(共8分)
統(tǒng)計出單鏈表HL中結(jié)點的值等于給定值X的結(jié)點數(shù)。 int CountX(LNode* HL,ElemType x)
數(shù)據(jù)結(jié)構(gòu)習題參考答案
一、選擇題(每題2分,共20分)
1.A 2.D 3.D 4.C 5.C 6.D 7.D 8.C 9.D 10.A
二、填空題(每空1分,共26分)
1. 正確性 易讀性 強壯性 高效率
2. O(n)
3. 9 3 3
4. -1 3 4 X * + 2 Y * 3 / -
5. 2n n-1 n+1
6. e 2e
7. 有向無回路
8. n(n-1)/2 n(n-1)
9. (12,40) ( ) (74) (23,55,63)
10.增加1
11.O(log2n) O(nlog2n)
12.歸并
三、計算題(每題6分,共24分)
1. 線性表為:(78,50,40,60,34,90)
?0?1??1??1
?02. 鄰接矩陣:?1110?0101??1011??0101?1110??
鄰接表如圖11所示:
圖11
3. 用克魯斯卡爾算法得到的最小生成樹為:
(1,2)3, (4,6)4, (1,3)5, (1,4)8, (2,5)10, (4,7)20
4. 見圖12
26
四、讀算法(每題7分,共14分)
1. (1)查詢鏈表的尾結(jié)點
(2)將第一個結(jié)點鏈接到鏈表的尾部,作為新的尾結(jié)點
(3)返回的線性表為(a2,a3,?,an,a1)
2. 遞歸地后序遍歷鏈式存儲的二叉樹。
五、法填空(每空2分,共8 分)
true BST->left BST->right
六、編寫算法(8分)
int CountX(LNode* HL,ElemType x)
{ int i=0; LNode* p=HL;//i為計數(shù)器
while(p!=NULL)
{ if (P->data==x) i++;
p=p->next;
}//while, 出循環(huán)時i中的值即為x結(jié)點個數(shù)
return i;
}//CountX
以上就是關(guān)于數(shù)據(jù)結(jié)構(gòu)習題分享,希望能夠幫助到你。
2021-07-09
2021-07-08
2021-07-08
2021-07-08
2021-07-08
2021-07-08
2021-07-07
2021-07-07
2021-07-07
2021-07-07
2021-07-07
2021-07-06
2021-07-06
2021-07-06
工作態(tài)度怎么寫 具有穩(wěn)定的工作心態(tài)
2021-07-06
該文觀點僅代表作者本人,查查吧平臺系信息發(fā)布平臺,僅提供信息存儲空間服務,不承擔相關(guān)法律責任。圖片涉及侵權(quán)行為,請發(fā)送郵件至85868317@qq.com舉報,一經(jīng)查實,本站將立刻刪除。