演算法題 含答案和解析

2021-10-21 11:57:21 字數 1477 閱讀 6233

1. 某段文字中各個字母出現的頻率分別是,使用哈夫曼編碼,則哪種是可能的編碼:()

a  a(001)  b(000)  h(01)  i(10)  o(11)

b  a(0000)  b(0001)  h(001)  o(01)  i(1)

c  a(000)  b(001)  h(01)  i(10)  o(00)

d  a(0000)  b(0001)  h(001)  o(000)  i(1)

2. 下列陳述錯誤的是

a  數值概率演算法一般是求數值計算問題的近似解

b  monte carlo總能求得問題的乙個解,但該解未必正確

c  las vegas演算法的一定能求出問題的正確解

d  sherwood演算法的主要作用是減少或是消除好的和壞的例項之間的差別

3. 設順序線性表中有n個資料元素,則刪除表中第i個元素需要移動()個元素

a  n-i

b  n+l -i

c  n-1-i

d  i

4. 下面關於求關鍵路徑的說法不正確的是

a  求關鍵路徑是以拓撲排序為基礎的

b  乙個事件的最早開始時間同以該事件為尾的弧的活動最早開始時間相同

c  乙個事件的最遲開始時間為以該事件為尾的弧的活動最遲開始時間與該活動的持續時間的差

d  關鍵活動一定位於關鍵路徑上

5. 用二進位制來編碼字串「abcdabaa」,需要能夠根據編碼,解碼回原來的字串,最少需要()長的二進位制字串?

a  12

b  14

c  18

d  24

6. ()的遍歷仍需要棧的支援

a  前序線索樹

b  中序線索樹

c  後序線索樹

7. 採用二叉鍊錶作為儲存結構,樹的前序遍歷和其相應的二叉樹的前序遍歷的結果是一樣的

a  對

b  錯

8. 已知模式串的 next 陣列,使用 kmp 演算法進行串匹配,以下空格應填入的語句是()

int index_kmp(sstring s, sstring t, int pos) 

else 

________; // 模式串向右移動 

} if (j > t[0]) return i-t[0]; // 匹配成功 

else return 0; 

} // index_kmp 

}a  j = next[j]

b  i = next[j]

c  j = i + 1

d  i = j + 1

9. 若 gethead 【 gettail 【 gethead 【 ((a,b),(c,d)) 】】】 = a;, 則a為

a  (a,b)

b  ( (a,b ) )

c  a

d  b

10. 連通分量指的是有向圖中的極大連通子圖

a  對

b  錯

獲取答案和詳細的答案解析:

演算法題 含答案和解析

1.十字鍊錶是無向圖的一種儲存結構 a 對 b 錯 2.以下關於廣義表的敘述中,正確的是 a 廣義表是0個或多個單因素或子表組成的有限序列 b 廣義表至少有乙個元素是子表 c 廣義表不可以是自身的子表 d 廣義表不能為空表 3.kmp演算法的最大特色是指示主串的指標不需回溯 a 正確 b 錯誤 4....

演算法題 含答案和解析

1.分支限界法與回溯法都是在問題的解空間樹t上搜尋問題的解,關於二者說法中正確的是 a 求解目標不同,搜尋方式相同 b 求解目標不同,搜尋方式也不同 c 求解目標相同,搜尋方式不同 d 求解目標相同,搜尋方式也相同 2.下列程式段,迴圈體執行次數是 y 2 while y 16 y 2 print ...

演算法題 含答案和解析

1.關於 0 1 揹包問題以下描述正確的是 a 可以使用貪心演算法找到最優解 b 能找到多項式時間的有效演算法 c 使用教材介紹的動態規劃方法可求解任意0 1揹包問題 d 對於同一揹包與相同的物品,做揹包問題取得的總價值一定大於等於做0 1揹包問題 2.在asc演算法team日常開發中,常常面臨一些...