大學計算機——計算思維導論 第3章 問題求解框架 3.2 演算法類問題求解框架 課後作業
1、演算法就是一個有窮規則的集合,其中之規則規定了解決某一特定型別問題的一個運算序列。回答下列問題。
(1)關於演算法的特性,下列說法不正確的是_____。
(A)演算法必須有明確的結束條件,即演算法應該能夠結束,此即演算法的有窮性;√
(B)演算法的步驟必須要確切地定義,不能有歧義性,此即演算法的確定性;√
(C)演算法可以有零個或多個輸入,也可以有零個(錯誤,必須由一個或者一個以上的輸出)或多個輸出,此即演算法的輸入輸出性;
(D)演算法中有待執行的運算和操作必須是相當基本的,可以由機器自動完成,進一步,演算法應能在有限時間內完成,此即演算法的能行性;√
(E)上述說法有不正確的;√
演算法的特徵(1)有窮性(2)確定性(3)輸入(可以有零個或多個)(4)輸出(至少有一個)(5)能行性(步驟基本的,可以由機器自動完成,可以在有限時間內完成)
選C
(2)關於演算法與程式、計算機語言之間的關係,下列說法不正確的是_____。
(A)演算法是解決問題的步驟,某個問題可能有多個求解演算法;√
(B)演算法不能直接由計算機執行,必須將其轉換為程式才能夠由計算機執行;√
(C)演算法只能由高階(計算機)語言實現,不能(錯誤)通過機器語言實現;
(D)求解問題的多個演算法不一定獲得相同的解。√
3、揹包問題的定義是:給定一組物品,每種物品都有自己的重量和價格,在限定的總重量內,我們如何選擇,才能使得物品的總價格最高。問題的名稱來源於如何選擇最合適的物品放置於給定揹包中。揹包問題的一個例子:應該選擇哪些盒子,才能使價格儘可能地大,而保持重量小於或等於15 kg?其示意圖如下:
(1)該揹包問題的可能解的數量是_____。
(A) 5 (B) 10 (C) 32 (D) 64
(2)假定求解該問題的一種貪心策略是:優先選擇能裝下盒子中單位重量價值最高的,依據該演算法策略所得到的解的總價值是_____。
(A) 16 (B) 15 (C) 14 (D) 13
(3) 使用遍歷演算法策略所得到的解的總價值是_____。
(A) 8 (B) 15 (C) 14 (D) 13