哈爾濱工業大學2019算法設計期末試題


寫在前面

對於工大的專業課考試,考試范圍和往年題型是最重要的兩個東西。
然而算法課考試,老師在考試之前沒說題型,甚至連考試范圍都說的很模糊;智障記憶那里賣的題差不多又都是將近10年以前的題,題型上可能有一些出入,網上能夠搜到的也只有一篇13年的題型介紹(直接百度即可搜到)。因此這些都給我們的考前復習(預習)帶來了很大的不便。
因此在這里憑記憶將今年的期末考試題型記錄一下,希望對以后的學弟學妹們有幫助。

試卷構成

  1. 判斷題(10 * 2 分)

    印象中有幾道題不是很簡單,考的知識點比較細。涵蓋的知識點主要有第一章算法的基本概念,排序算法的理解,圖算法,字符串算法,搜索等。總之就是除了分治貪心動態規划之外的其他幾章知識點的考察(但不能保證分治貪心動態規划不考),涵蓋的還算全面。

    能記得的有以下幾道題:

    A*算法一定可以得到最優解?
    調試程序可以證明算法的正確性?
    dijkstra算法是貪心算法?
    如果一個基於比較的排序算法的時間復雜性是Ω(nlogn),那么他可能是基於比較算法中時間復雜性最低的算法?
    一個關於堆排序的插入和刪除操作的時間復雜性的問題。(具體怎么問忘了)
    一個問KMP算法的時間復雜性的問題。

  2. 簡答題(5 * 4分)

    第一題:一個master定理的題目(很類似於ppt上的一道例題)應該是T(n) = 3T(n/4) + n^(1/2)

    第二題:一個非常簡單的復雜函數階的證明,已知fx = O(g(x)), gx = o(hx),證明 fx = o(hx)

    第三題:寫出0-1背包問題的輸入規模和時間復雜性

    第四題:說明平攤分析的目的,以及任舉一種平攤分析方法說明其大致思想,以及使用時需要注意的點

  3. 第一道大題(8分)

    一個最大流的問題,給了一個最大流的圖
    第一問要求畫出某一步之后的余圖
    第二問要求找出一條可以使流量增加1的増廣路徑
    第三問要求給出一個最小割

  4. 第二道大題(7分)

    給出一個加權有向圖,要求用A*算法把整個過程寫一遍,並給出最后所得的最短路徑。

  5. 第三道大題(20分)

    分治算法的題,是作業題上的一道原題。
    原題如下:

    題目

    分三個小問
    第一問寫出算法思想
    第二問寫偽代碼
    第三問分析時間復雜度

  6. 第四道大題(15分)

    貪心算法的題。(這道題我真是無力吐槽,考場上沒看懂怎么寫,考完之后問了幾個同學都說貪心思想和算法隨便寫的,且每個人寫的都不一樣,后來問老師那個題怎么寫,老師說只要言之有理都算對,,,)

    題目大概寫一下吧,反正我覺得這題出的真差,你們復習的時候可以自己找點別的貪心算法的題做。

    有一條環形公路,公路上有n個加油站,一輛油箱容量無限大的汽車在這條路上行駛,每個加油站所能給車加的最大油量為si,車在每兩個加油站之間行駛耗得油為ci。要求寫出一個貪心算法,讓這個車選擇一個加油站作為起始點,能夠成功繞這個環形公路一圈並回到起始點,如果沒有這樣的加油站,則返回-1,有則返回所選擇的起始加油站的編號。

    第一問寫貪心思想
    第二問證明貪心思想
    第三問偽代碼
    第四問時間復雜度

  7. 第五道大題(10分)

    動態規划的題。比較簡單,多做幾道動態規划的題應該就可以做出來了。

    題目大致如下:
    給定如圖所示的一個樹狀圖,每個節點上都標有該點權值,該樹共有5層,從第一層的節點進入,從第五層的節點出來,要求找出一條長為4(即通過了5個節點)的路徑,使得該條路徑所經過的5個節點和最小。

    圖像大致如下:
    示意圖

    第一問寫優化子結構和子問題重疊性,並要求證明之。
    第二問寫dp方程。(就是關鍵部分遞歸的方程)
    第三問寫偽代碼
    第四部分時間復雜度。

總結及復習建議

試題格式是判斷題加簡答題加大題的形式,判斷題的話主要還是考第一章和后面幾章的基本知識點;簡答題和大題中,master定理應該必考,最大流應該必考,給一個圖用指定搜索算法寫搜索過程應該必考,分治算法,貪心算法,動態規划這三章應該是必各出一道大題的。
建議平時作業題一定要做,出原題的可能性很大;平時作業題一定要動手寫偽代碼,不能只是會這道題的思想了就作罷,否則考場上很可能寫不出偽代碼,或者把偽代碼寫成c語言或java語言(這種情況會十分的浪費時間,且沒有必要);課件上的經典算法(尤其是最長公共子序列,01背包,任務安排問題)要熟悉到會寫算法偽代碼的程度。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM