算法导论第三版 第一章答案
【時間】2018.09.18
【題目】算法導論第三版第一章答案
【參考鏈接】https://ita.skanev.com/
?
一、練習1.1
?
練習1.1.1
給出一個需要排序的現實示例或需要計算凸包的真實示例。
排序的真實例子非常簡單 - 例如,按字母順序呈現列表的每個網頁都需要對條目進行排序 - 目錄,索引或其他任何內容。
我不知道為什么我們需要計算凸包,但維基百科說有很多應用程序。
?
【補充】:
a)排序:將一次考試中?500名考生的成績按分數從高到低迕行排名。
b)確定多矩陣相乘的最佳順序:某實驗模型,需要計算 返?17個矩陣的積,根據矩陣乘法的結合律確定計算順序,以達到計算乘法次數最少的目的。※矩陣乘法的結合律:
c)找出凸殼:木板上釘了?21個釘子,以其中一些釘子為頂點組成的凸多邊形可以包含所有?21個釘子,找出使凸多邊形達到最小的所有釘子。
?
?
練習1.1.2
除了速度之外,在現實環境中可以使用哪些其他效率指標?
內存使用和資源利用(網絡,數據庫)是很好的答案。
?
?
?
?
練習1.1.3
選擇您之前看到的數據結構,并討論其優勢和局限性。
我們來看看單鏈表。
優勢:
-
它不需要內存中的順序空間
-
我們可以在任何地方插入新元素
限制:
-
隨機訪問是O(n)
-
它需要額外的內存用于鏈接
?
練習1.1.4
上面給出的最短路徑和旅行商問題如何相似?他們有什么不同?
它們是相似的,因為每個人都必須走一個圖并在其中找到一條路徑。
不同之處在于對解決方案的約束。最短路徑僅需要兩點之間的路徑,而旅行推銷員需要在返回第一點的更多點之間的路徑。
?
?
練習1.1.5
想出一個現實世界的問題,只有最好的解決方案才能解決。然后提出一個“近似”最好的解決方案就足夠了。
對目錄進行排序是一個問題,只有最佳解決方案才能實現。“近似”排序的目錄不會那么有用。
找到一個城市中兩點之間的最短路徑是一個問題,在那里可以做得足夠好。它可能不是最快的方式,但你仍然會到達那里。
?
?
二、練習1.2
?
練習1.2.1
舉例說明在應用程序級別需要算法內容的應用程序,并討論所涉及的算法的功能。
在兩個地方之間找到路線時的Google地圖。
算法是此用例的重要組成部分,因為路由是用戶最關心的。
?
?
練習1.2.2
假設我們在同一機器上比較插入排序和合并排序的實現。對于大小為n的輸入,插入排序以8n2步運行,而合并排序運行在64 nlgn步驟中。對于哪個值,插入排序優于合并排序?
在n>43處,合并排序優于插入排序。
?
?
?
練習1.2.3
在同一臺機器上,運行時間為100 n^2的算法比運行時間為2^n的算法跑得更快,那么n的最小值是多少?
在n>14時,第一個算法運行得更快。
?
?
三、思考題
?
對于下表中的每個函數f(N)和時間t,確定可以在時間t中解決的問題的最大大小n,假設求解該問題的算法需要f(N)微秒。
【PS】指數部分采用的是科學計數法
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的算法导论第三版 第一章答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android开发 ---多线程操作:H
- 下一篇: android 万能倒计时,时分秒倒计时