自己搜的算法题2.0
1、二分搜索算法是利用(A )實現的算法。
A、分治策略B、動態規劃法 C、貪心法 D、回溯法
2、下列不是動態規劃算法基本步驟的是(A )。
A、找出最優解的性質B、構造最優解C、算出最優解 D、定義最優解
3、最大效益優先是( A )的一搜索方式。
A、分支界限法 B、動態規劃法 C、貪心法 D、回溯法
4、在下列算法中有時找不到問題解的是(B )。
A、蒙特卡羅算法 B、拉斯維加斯算法C、舍伍德算法 D、數值概率算法
5、下列算法中不能解決0/1背包問題的是(A)
A貪心法B動態規劃C回溯法D分支限界法
6、回溯法搜索狀態空間樹是按照(C)的順序。
A中序遍歷B廣度優先遍歷C深度優先遍歷D層次優先遍歷
7、下列隨機算法中運行時有時候成功有時候失敗的是(C)
A數值概率算法B舍伍德算法C拉斯維加斯算法D蒙特卡羅算法
8、實現合并排序利用的算法是(A )。
A、分治策略 B、動態規劃法 C、貪心法 D、回溯法、
9、算法分析的目的是(D)
A、找出數據結構的合理性B、找出算法中輸入和輸出之間的關系 C、分析算法的易懂性和可靠性 D、分析算法的效率以求改進
10、如果按index訪問item并就地插入或刪除數據,這種操作比較頻繁,那使用什么結構最節省時間?
A、數組 B、雙向鏈表 C、單獨存儲 head 指針的雙向鏈表 D、鏈表
二、填空題(每空2分,共30分)
1、算法是指解決問題的(一種方法)或(一個過程)。
2、從分治法的一般設計模式可以看出,用它設計出的程序一般是(遞歸算法)。
3、問題的(最優子結構性質),是該問題可用動態規劃算法或貪心算法求解的
關鍵特征。
4、以深度優先方式系統搜索問題解的算法稱為(回溯法)。
5、數值概率算法常用于(數值問題)的求解。
6、一個算法的優劣可以用(空間復雜度)和(時間復雜度)?來衡量。
7、直接或間接調用直接的方法稱之為(遞歸技術)。
9貪心算法從初始階段開始,每一個階段總是作一個使(局部最優)的貪
心選擇。
另一個試卷
2、單項選擇題(本大題共30分,共 15 小題,母小題2分)
1.算法分析的兩個主要方面是(??A )。
A.空間復雜度和時間復雜度
B.正確性和簡單性
C.可讀性和文檔性
D.數據復雜度和程序復雜度
2.計算機算法指的是?(??C ?)。
A.算方法
?B.排方法
C.解決問題的方法和過程
D.調度方法
3.多階段決策問題,就是要在可以選擇的那些策略中間,選取一個(??A)??策略、使在預定的標準下達到最好的效果。 A.最優 B.最差 C. 平衡 D. 任意
4.根據排序元素所在位置的不同,排序分(???A?)。
A.內排序和外排序
B.首排序和尾排序
C.逆排
D.堆排序和棧排序
5.算法必須具備輸入、輸出和(??B )等5個特性。
A.可執行性、可移植性和可擴充性
B.可行性、確定性和有窮性
C.確定性、有窮性和穩定性
D.易讀性、穩定性和安全性
D.經分解得到子問題往往是任意的
?A.x<a[n/2]
A.回溯法
B.分支限界法
C.回溯法和分支限界法
D.回溯法求解子集樹問題
10.適用動態規劃的問題必須滿足( D???)
A.優化原理
B.無前效性
C.優化理和后效
D.最優化原理和無后效性
11.算法的每種運算必須要有確切的定義,不能有二義性,以下符合算法確定性運算的是( B) A.5/0
B.將6或7與x相加
C.未賦值量參與運算
D.f(n)=f(n-1)+2,F(1)=10,n為自然數
12.直接或間接的調用自身的算法稱為(B )。
A.貪心算法
B.遞歸算法
C.迭代算法
D.動態規劃算法
13. 二分查找只適用(B?)存儲結構。
A.堆
B. 順序 C.任意順序
D. 棧
14.實現快速排序算法如下:
?
A.quickSort(p,q-1) B.quickSort(p+1q-1) C.quickSort(p,q+1) D.quickSort(p,q-2)
15.應用分治法的兩個前提是(??A)。 A.問題的可分性和解的可歸并性 B.問題的可分性和解的存在性
C.問題的復雜性和解的可歸并性 D.問題的可分性和解的復雜性
二、判斷題(本大題共 70分,共 20 小題,每小題 3.5 分)
1.算法就是一組有窮的規則?(??√ )
2.概率算法中蒙特卡羅算法得到的解必是正確的?(??x ?)
3.程序和算法一樣,都是某種程序設計語言的具體實現。(??x ?)
4.合并排序算法是漸近最優算法????(??√ ??)
5.遞歸定義必須是有確切含義是指必須一步比一步簡單,最后是有終結的,決不能無限循環下去(??√ ?)
6.二分搜索方法在最壞的情況下用0(logn)時間完成搜索任務。(??√ )
7.能否利用分治法完全取決于問題是否具有如下特征:利用該問題分解出的子問題的解可以合并為該問題的解。(???√ )
8.分治法的基本思想是將一個規模較大的問題分解成若干個規模較小的子問題,這些子問題之間并不一定相互獨立(??x ?)
9.遞歸算法的效率往往很低,費時和費內存空間(?√ )
10.當一個問題具有最優子結構性質時只能用動態規劃方法求解。(??x )
11.如果一類活動過程一個階段的決策確定以后,常影響到下一個階段的決策,則稱它為多階段決策問題。????(???√ )
12.反復應用分治手段,不能使子問題與原問題類型一致而其規模卻不斷縮小?(???√ ?)?
13.裴波那契數列的定義:f(n)=f(n-1)+f(n-2),f(0)=1f(1)=2,其數據的定義形式不是按遞歸定義。(???x ??)
14?0-1背包問題與背包問題這兩類問題都可以用貪心算法求解。(??x ?)
15.證明貪心選擇后的問題簡化為規模更小的類似子問題的關鍵在于利用該問題的最優子結構性質。(??x )
16.子問題之間不包含公共的子問題,這個條件涉及到分治法的效率()17.概率算法允許在執行過程中隨機地選擇下一個計算步驟?(??√ ?)
18,二分搜索法的二分查找只適用于順序存儲結構。 (?√ )
19.要想在電腦上擴大所處理問題的規模,有效的途徑是降低算法的計算復雜度(?√ )
20.用回溯法解題一個顯著特征是在搜索過程中動態產生問題的解空間(??√ )
2011年12月考試算法設計分析第二次作業
一、單項選擇題(本大題共30分,共15 小題,每小題2 分)
1.優先隊列的分支限界法將活結點表組織成一個優先隊列,并按優先隊列中規定的結點優先級選取優先級最高的下一個結點成為當前擴展結點。優先隊列中規定的結點優先級常用一個與該結點相關的數值p來表示。結點優先級的高低與p值大小相關,根據問題的不同情況,采用(???C ??)來描述優先隊列。
?A.先進先出隊列
B.后進先出的棧
C.最大堆或最小堆
D.隨機序列
2.階乘函數用遞歸定義 Public static int factorial(intn)
{if(n==O)
return 1;
?return ();
} ??B
An*factorial(n) B.n*factorial(n-1) C.n*factorial(n-2) D.n*factorial(n+1)
3.(??B ?)能夠求得問題的解,但卻無法有效地判定解的正確性
A.數值概率算法 B.蒙特卡羅算法 C.拉斯維加斯算法 D全伍得算法
4.對于n個元素的排序問題。n=2時,只要作(???C ?)次比較即可排好序
A. 3
B. 2
C.1
?D. 4
5,一般地講,當一個問題的所有子問題都至少要解一次時,用動態規劃算法和備忘錄算法相比: (???B ??)
A.效果一樣動態規劃效果好
B.備忘錄方法效果好
C.無法判斷 D.哪個效果好
6分支限界法與回溯法都是在問題的解空間樹T上搜索問題的解,二者( ?B ??)
D.求解目標相同,搜索方式也相同
A.數據的定義形式按遞歸定義
B.數據之間的關系(即數據結構)按遞歸定義
C.問題解法按遞歸算法實現
D,概率問題
8.當子問題之間包含公共的子子問題則分治法要做許多不必要的工作,重復地解公共的子問題,此時一般用(??A ?)法較好
A.動態規劃?
B.分治
C.貪心
D. 概率
9.分治法所能解決的問題應具有的關鍵特征是( ??C ?)。
A.該問題的規模縮小到一定的程度就可以容易地解決
B。該問題可以分解為若干個規模較小的相同問題
C.用該問題分解出的子問題的解可以合并為該問題的解
?D.該問題所分解出的各個子問題是相互獨立的
10.對于貨箱裝船問題,根據貪心策略,首先選擇( ?A ?)的貨箱,然后選 ()的貨箱,如此下去直到所有貨箱均裝上船或船上不能再容納其他任何一個貨箱
A.最輕次輕
B.最重次重
C.最輕重
D.最重次輕
11.用回溯法解n后問題時,用完全n叉樹表示解空間??尚行约s束place剪去不滿足行、列和斜線約束的子樹,place的if判斷條件應為( ?A ?)
?A.(Math.abs(k-j)==Math.abs(x[j]-x[k]))(x[j]==x[k])
B.(Math.abs(k-j)==Math.abs(x[j]-x[k])
?C.(x[j]==x[k]) D,以上都不正確
12.分支限界法的搜索策略是:在擴展結點處,先生成其(???D )兒子結點(分支),然后再從當前的活結點表中選擇下一個擴展對點。為了有效地選擇下一擴展結點,以加速搜索的進程,在每一活結點處,計算一個函數值(限界),并根據這些已計算出的函數值,從當前活結點表中選擇一個最有利的結點作為擴展結點,使搜索朝著解空間樹上有最優解的分支推進,以便盡快地找出一個最優解。
A.一個 B.二個
C.任意多個 D. 所有的
13.能夠用動態規劃解決的問題還有一個顯著特征(??D ?)這個性質并不是動態規劃適用的必要條件,但是如果該性質無法滿足,動態規劃算法同其他算法相比就不具備優勢。
A.子問題的可求解性
B.子問題的獨立性
C.子問題的可合并性
D.子問題的重疊性
?A
A.0(n) B.0(n!) C. 0(n) D. O(n')
二、判斷題(本大題共 70分,共 20小題,每小題35 分)
1.從分治法的一般設計模式可以看出,用它設計出的程序一般是一個遞歸過程。因此,分治法的計算效率通??梢杂眠f歸方程來進行分析。( ?√ ?)
2.多階段決策問題中,每一個階段可能有若干個決策可供選擇(??√ ?)
3.拉斯維加斯算法不會得到不正確的解,但有時找不到解。 (??√ ?)
4.在通往邊界條件的遞歸調用過程中,系統用堆棧保存的每次調用的中間結果是局部變量和返回地址值。(????√ ???)
5.要想在電腦上擴大所處理問題的規模,有效的途徑是提高算法的計算復雜度。(??x ?)
6.程序必須滿足算法具有數據輸出的性質(??√ ?)
7.反復應用分治手段,可以使子問題與原問題類型一致而其規模卻不斷縮小(??√ )
8.一個算法產生一個或多個輸出,它們是同輸入有某種特定關系的量(??√ ?)
9.最優子結構性質特征反映了遞歸思想的應用()10.遞歸邊界本身并不使用遞歸的定義(??√ )
12.用回溯法解問題時,首先應明確定義問題的解空間。問題的解空間應到少包含問題的一個(最優)解。(??√ ?)
13.好的約束函數能顯著地減少所生成的結點數,但這樣的約束函數往往計算量較大。因此,在選擇約束函數時通常存在生成結點數與約束函數計算量之間的折衷。??√
15.最優子結構性質是應用分治法的前提(?√ ?)
17,有些數據結構如二叉樹等,由于其本身的遞歸特性、特別適合用遞歸的形式來描述。(?√ )
18.概率算法的一個基本特征是,對所求問題的同一個實例用同一個算法求解兩次一定能得到完全相同的效果。(??x)
19.問題可以分解為若干個規模較小的相同問題,即稱該問題具有最優子結構性質(??x ?)
20.遞推是從內邊界條件出發,通過遞推式達到邊界條件。(?√ )
2011年12月考試算法設計分析第三次作業
一、填空題(本大題共30分,共5小題,每小題6分)
1.分支限界法的求解目標 是???(找出滿足約束條件的一個解)
2.貪心算法和(動態規劃)算法都要求問題具有最優子結構性質。
3.動態規劃法所針對的問題有一個顯著的特征,即它所對應的子問題樹中的子問題呈現(大量的重復) 。
5.動態規劃是一種將問題實例分解為更小的、相似的子問題,并存儲子問題的解而避免計算重復的子問題,以解決(最優化問題)的算法策略。
二、改錯題(本大題共30分,共5小題,每小題6分)
1.好的約束函數能顯著地減少所生成的結點數,但這樣的約束函數往往計算量較大。(??對)
2.能夠用動態規劃解決的問題有一個顯著特征:子問題的重疊性。(???對)
3.與分治法不同的是,適合于用動態規劃求解的問題經分解得到子問題往往是互相不獨立的(???錯)??解析: 往往相互獨立
4.分限界法不僅通過約束條件,而且可通過目標函數的限界來減少無效搜索(??對)
5.貪心算法所做的選擇都是目前最佳的(??對)
?
4、漸進算法分析是指?B
(A)算法在最佳情況、最差情況和平均情況下的代價
(B)當規模逐步往極限方向增大時,對算法資源開銷“增長率”上的簡化分析
(C)數據結構所占用的空間
(D)在最小輸入規模下算法的資源代價
?
6、采用“順序搜索法”從一個長度為N的隨機分布數組中搜尋值為K的元素。以下對順序搜索法分析正確的是。???B
(A)最佳情況、最差情況和平均情況下,順序搜索法的漸進代價都相同
(B)最佳情況的漸進代價要好于最差情況和平均情況的漸進代價
(C)最佳情況和平均情況的漸進代價要好于最差情況的漸進代價
(D)最佳情況的漸進代價要好于平均情況的漸進代價,而平均情況的漸進代價要好于最差情況的漸進代價
7、遞歸通常用來實現。??C
(A)有序的線性表 (B)隊列 (C)棧 (D)數組
8、分治法的設計思想是將一個難以直接解決的大問題分割成規模較小的子問題,分別解決子問題,最后將子問題的解組合起來形成原問題的解。這要求原問題和子問題。??C
(A)問題規模相同,問題性質相同
(B)問題規模相同,問題性質不同
(C)問題規模不同,問題性質相同
(D)問題規模不同,問題性質不同
9、在尋找n個元素中第k小元素問題中,如快速排序算法思想,運用分治算法對n個元素進行劃分,如何選擇劃分基準?下面 答案解釋最合理。??D
(A)隨機選擇一個元素作為劃分基準?
(B)取子序列的第一個元素作為劃分基準
(C)用中位數的中位數方法尋找劃分基準
(D)以上皆可行。但不同方法,算法復雜度上界可能不同
(A)0-1背包問題和背包問題都可用貪心算法求解???
(B)0-1背包問題可用貪心算法求解,但背包問題則不能用貪心算法求解
(C)0-1背包問題不能用貪心算法求解,但可以使用動態規劃或搜索算法求解,而背包問題則可以用貪心算法求解
(D)因為0-1背包問題不具有最優子結構性質,所以不能用含心算法求解
11、關于回溯搜索法的介紹,下面是不正確描述。??D
(A)回溯法有“通用解題法”之稱,它可以系統地搜索一個問題的所有解或任意解
(B)回溯法是一種既帶系統性又帶有跳躍性的搜索算法
(C)回溯算法在生成解空間的任一結點時,先判斷該結點是否可能包含問題的解,如果肯定不包含,則跳過對該結點為根的子樹的搜索,逐層向祖先結點回溯
(D)回溯算法需要借助隊列這種結構來保存從根結點到當前擴展結點的路徑
12、關于回溯算法和分支限界法,以下 是不正確描述。??A
(A)回溯法中,每個活結點只有一次機會成為擴展結點
(B)分支限界法中,活結點一旦成為擴展結點,就一次性產生其所有兒子結點,在這些兒子結點中,那些導致不可行解或導致非最優解的兒子結點被舍棄,其余兒子加入活結點表中
(C)回溯法采用深度優先的結點生成策略
(D)分支限界法采用廣度優先或最小耗費優先(最大效益優先)的結點生成策略
(A)棧(B)堆(C)隊列
(D)二叉查找樹
14、在分支限界算法中,根據從活結點表中選擇下一擴展結點的不同方式可有幾種常用分類,以下描述最為準確???D
(A)采用FIFO隊列的隊列式分支限界法
(B)采用最小值堆的優先隊列式分支限界法
(C)采用最大值堆的優先隊列式分支限界法
(D)以上都常用,針對具體問題可以選擇采用其中某種更為合適的方式
15、對布線問題,以下是不正確描述???C
(A)布線問題的解空間是一個終?
(B)可以對方格陣列四周設置圍墻,即增設標記的附加方格的預處理,使得算法簡化對邊界的判定
(C)采用廣度優先的標號法找到從起點到終點的布線方案(這個方案如果存在的話)不一定是最短的
(D)采用先入先出的隊列作為活結點表,以終點b為擴展結點或活結點隊列為空作為算法結束條件
二、填空題(20分,每空2分)
2、一個直接或間接調用自身的算法稱為_?遞歸_算法。
出自于“平衡子問題”的思想,通常分治法在分割原問題,形成若干子問題時,這些子問題的規模都大致( ?相等) 。
3、使用二分搜索算法在n個有序元素表中搜索一個特定元素,在最佳情況下,搜索的時間復雜性為O(???),在最壞情況下,搜索的時間復雜性為0(???)。
?
4、動態規劃算法的基本要素是?(最優子結構性質) ?和(子問題重疊性質)
5、動態規劃算法有一個變形方法-( ?備忘錄方法 ?)。這種方法不同于動態規劃算法“自底向上”的填充方向,而是“自頂向下”的遞歸方向,為每個解過的子問題建立了備忘錄以備需要時查看,同樣也可避免相同子問題的重復求解。
6、貪心算法的基本要素是??(貪心選擇性質)?和最優子結構性質。
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的自己搜的算法题2.0的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js 对象
- 下一篇: 【CF613D】Kingdom and