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