程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 中國大學MOOC-陳越、何欽銘-數據結構-2016秋期中考試,mooc--2016

中國大學MOOC-陳越、何欽銘-數據結構-2016秋期中考試,mooc--2016

編輯:關於C語言

中國大學MOOC-陳越、何欽銘-數據結構-2016秋期中考試,mooc--2016


判斷題:

1-1  

算法分析的兩個主要方面是時間復雜度和空間復雜度的分析。 (2分)

1-2   將N個數據按照從小到大順序組織存放在一個單向鏈表中。如果采用二分查找,那麼查找的平均時間復雜度是O(logN)。 (3分)   1-3   通過對堆棧S操作:Push(S,1), Push(S,2), Pop(S), Push(S,3), Pop(S), Pop(S)。輸出的序列為:123。 (3分)   1-4   所謂“循環隊列”是指用單向循環鏈表或者循環數組表示的隊列。 (2分)   1-5   在一棵二叉搜索樹上查找63,序列39、101、25、80、70、59、63是一種可能的查找時的結點值比較序列。 (3分)   1-6   將1、2、3、4、5、6順序插入初始為空的AVL樹中,當完成這6個元素的插入後,該AVL樹的先序遍歷結果是:4、2、1、3、5、6。 (3分)   1-7   一棵有124個結點的完全二叉樹,其葉結點個數是確定的。 (3分)   1-8   用鄰接表法存儲圖,占用的存儲空間數只與圖中結點個數有關,而與邊數無關。 (3分)   1-9   如果無向圖G必須進行兩次廣度優先搜索才能訪問其所有頂點,則G中一定有回路。 (3分)   1-10   某二叉樹的前序和中序遍歷序列正好一樣,則該二叉樹中的任何結點一定都無右孩子。(3分)     選擇題:   2-4 
設h為不帶頭結點的單向鏈表。在h的頭上插入一個新結點t的語句是:(4分) 
A、h=t; t->next=h->next; 
B、t->next=h->next; h=t; 
C、h=t; t->next=h; 
D、t->next=h; h=t;   2-5
若借助堆棧將中綴表達式a+b*c+(d*e+f)*g轉換為後綴表達式,當讀入f時,堆棧裡的內容是什麼(按堆棧自底向上順序)? (4分) 
A、+(*+ 
B、+(+ 
C、++(+ 
D、abcde   2-6
若用大小為6的數組來實現循環隊列,且當前front和rear的值分別為0和4。當從隊列中刪除兩個元素,再加入兩個元素後,front和rear的值分別為多少? (4分) 
A、2和0 
B、2和2 
C、2和4 
D、2和6   2-7
三叉樹中,度為1的結點有5個,度為2的結點3個,度為3的結點2個,問該樹含有幾個葉結點? (4分) 
A、8 
B、10 
C、12 
D、13   2-8 
已知一棵二叉樹的先序遍歷結果是ABC,則以下哪個序列是不可能的中序遍歷結果: (4分) 
A、ABC 
B、BAC 
C、CBA 
D、CAB   2-9 
在一個用數組表示的完全二叉樹中,如果根結點下標為1,那麼下標為17和19這兩個結點的最近公共祖先結點在哪裡(數組下標)? (注:兩個結點的“公共祖先結點”是指同時都是這兩個結點祖先的結點) (4分) 
A、8 
B、4 
C、2 
D、1   2-10 
將6、4、3、5、8、9順序插入初始為空的最大堆(大根堆)中,那麼插入完成後堆頂的元素為: (4分) 
A、3 
B、5 
C、6 
D、9   2-11 
設一段文本中包含字符{a, b, c, d, e},其出現頻率相應為{3, 2, 5, 1, 1}。則經過哈夫曼編碼後,文本所占字節數為: (4分) 
A、40 
B、36 
C、25 
D、12   2-12 
在並查集問題中,已知集合元素0~8所以對應的父結點編號值分別是{ 1, -4, 1, 1, -3, 4, 4, 8, -2 }(注:-n−n表示樹根且對應集合大小為nn),那麼將元素6和8所在的集合合並(要求必須將小集合並到大集合)後,該集合對應的樹根和父結點編號值分別是多少? (4分) 
A、1和-6 
B、4和-5 
C、8和-5 
D、8和-6     程序填空題:   3-1 下列代碼的功能是從一個大頂堆H的某個指定位置p開始執行下濾。
 1 void PercolateDown( int p, PriorityQueue H )
 2 {
 3    int  child;
 4    ElementType  Tmp = H->Elements[p];
 5    for ( ; p * 2 <= H->Size; p = child ) {
 6       child = p * 2;
 7       if ( child!=H->Size && 
 8 
 9 (6分) )
10          child++;
11       if ( H->Elements[child] > Tmp )
12          
13 
14 (6分);
15       else  break;
16    }
17    H->Elements[p] = Tmp; 
18 }
  3-2 下列代碼的功能是返回帶頭結點的單鏈表L的逆轉鏈表。
 1 List Reverse( List L )
 2 {
 3     Position Old_head, New_head, Temp;
 4     New_head = NULL;
 5     Old_head = L->Next;
 6 
 7     while ( Old_head )  {
 8         Temp = Old_head->Next;
 9         
10 (6分);  
11         New_head = Old_head;  
12         Old_head = Temp; 
13     }
14     
15 (6分);
16     return L;
17 }
    參考答案:   判斷題:TFFFF  TTFFF   選擇題:CACDB  AADBD  CB   程序填空題: H->Elements[child+1] > H->Elements[child]  H->Elements[p] = H->Elements[child]   Old_head->Next = New_head  L->Next = New_head

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved