個人記錄 錯題
用鄰接表法存儲圖,占用的存儲空間數只與圖中結點個數有關,而與邊數無關。(3分)
如果無向圖G必須進行兩次廣度優先搜索才能訪問其所有頂點,則G中一定有回路。(3分) F
對於順序存儲的長度為N的線性表,刪除第一個元素和插入最后一個元素的時間復雜度分別對應為O(1)和O(N)。(3分) F 都是O(1)
通過對堆棧S操作:Push(S,1), Push(S,2), Pop(S), Push(S,3), Pop(S), Pop(S)。輸出的序列為:123。(3分) F
在用數組表示的循環隊列中,front值一定小於等於rear值。(2分) F
已知一棵二叉樹的先序遍歷結果是ABC, 則CAB不可能是中序遍歷結果。(3分) T
將一棵完全二叉樹存於數組中(根結點的下標為1)。則下標為23和24的兩個結點是兄弟。(3分) F
若一棵平衡二叉樹的所有非葉結點的平衡因子都是0,則其必為完美二叉樹。 (3分) T 完美二叉樹 是完全二叉樹 ,但完全二叉樹不一定是完美二叉樹
在一棵由包含4、5、6等等一系列整數結點構成的二叉搜索樹中,如果結點4和6在樹的同一層,那么可以斷定結點5一定是結點4和6的父親結點。(3分) F
算法分析的兩個主要方面是時間復雜度和空間復雜度的分析。(2分) T
在並查集問題中,已知集合元素0~8所以對應的父結點編號值分別是{ 1, -4, 1, 1, -3, 4, 4, 8, -2 }(注:−n表示樹根且對應集合大小為n),那么將元素6和8所在的集合合並(要求必須將小集合並到大集合)后,該集合對應的樹根和父結點編號值分別是多少?(4分) D.4和-5
設一段文本中包含字符{a, b, c, d, e},其出現頻率相應為{3, 2, 5, 1, 1}。則經過哈夫曼編碼后,文本所占字節數為:(4分) D.25
下列哪個函數是O(N)的?(4分) B.log(N^2)
設 n 是描述問題規模的非負整數,下列程序段的時間復雜度是:(4分)
x = 0; while ( n >= (x+1)*(x+1) ) x = x+1;
循環順序隊列中是否可以插入下一個元素()。(4分) B.與隊頭指針和隊尾指針的值有關
若某圖的深度優先搜索序列是{V1, V4, V0, V3, V2},則下列哪個圖不可能對應該序列?(4分) D
D.
在將數據序列( 6, 1, 5, 9, 8, 4, 7 )建成大根堆時,正確的序列變化過程是:(4分) A.6,1,7,9,8,4,5 → 6,9,7,1,8,4,5 → 9,6,7,1,8,4,5 → 9,8,7,1,6,4,5
假設有5個整數以1、2、3、4、5的順序被壓入堆棧,且出棧順序為3、5、4、2、1,那么為了獲得這樣的輸出,堆棧大小至少為:(4分) D.4
將{5, 2, 7, 3, 4, 1, 6}依次插入初始為空的二叉搜索樹。則該樹的后序遍歷結果是:(4分) A.1, 4, 3, 2, 6, 7, 5
已知一棵完全二叉樹的第6層(設根為第1層)有8個葉結點,則該完全二叉樹的結點個數最多是:(4分) B.111 第六層裝滿結點32個(最后8個為葉結點) 第七層只有前24*2個結點 共 2^6-1+24*2=111個
三叉樹中,度為1的結點有5個,度為2的結點3個,度為3的結點2個,問該樹含有幾個葉結點?(4分) B.8 對於度為m叉樹 ,有 n(0)=n(2)+2*n(m)+1
設h
為不帶頭結點的單向鏈表。在h
的頭上插入一個新結點t
的語句是:(4分) C.t->next=h; h=t;
h=t; t->next=h->next;
t->next=h->next; h=t;
t->next=h; h=t;
h=t; t->next=h;
下列代碼的功能是將小頂堆H
中指定位置P
上的元素的整數鍵值下調D
個單位,然后繼續將H
調整為小頂堆。
void DecreaseKey( int P, int D, PriorityQueue H )
{
int i, key; key = H->Elements[P] - D; for ( i =/*填空處1 (6分)*/; H->Elements[i/2] > key; i/=2 ) /*填空處2 (6分)*/; H->Elements[i] = key; }
填空處 1. P 2. H->Elements[i] =H->Elements[i/2]
下列代碼的功能是返回帶頭結點的單鏈表L
的逆轉鏈表。
List Reverse( List L )
{
Position Old_head, New_head, Temp;
New_head = NULL; Old_head = L->Next; while ( Old_head ) { Temp = Old_head->Next; /*填空處1 (6分)*/; New_head = Old_head; Old_head = Temp; } /*填空處2 (6分)*/; return L; }
填空處 1. Temp->next = Old_head 2. L->next=New_head