算法导论(第三版)第一章习题答案
算法導(dǎo)論(第三版)第一章習(xí)題答案
這個(gè)專欄主要是將算法學(xué)習(xí)過程中使用的《算法導(dǎo)論》一書的練習(xí)題的答案進(jìn)行匯總,有一部分習(xí)題答案可能是我自己做的或者是從網(wǎng)上搜集的,難免會(huì)存在錯(cuò)誤的地方,希望能得到大家的指正。因?yàn)檫@是初次接觸算法,所以后續(xù)的章節(jié)更新會(huì)比較慢,并且可能會(huì)出現(xiàn)很多我做不出來的題目,但是會(huì)我盡量堅(jiān)持下去,每天看兩頁(yè)書。碼字不易,如果對(duì)你有用希望能點(diǎn)個(gè)贊,如果有問題歡迎在評(píng)論區(qū)討論。
1.1 算法
1-1
生活中需要排序的例子有很多,比如名次,成績(jī),身高統(tǒng)計(jì)等等。
凸殼問題:
令S為平面上的一個(gè)點(diǎn)集,封閉S中的所有頂點(diǎn)的最小凸多邊形也成為S的凸殼。
在地上放置一些不可移動(dòng)的木樁,用一根繩子把他們?nèi)繃饋?#xff0c;并且繩子的輪廓為凸邊形。
1-2
存儲(chǔ)空間占用情況,答案精確度等。
如果單指效率還有功率,轉(zhuǎn)化率等等度量單位。
1-3
鏈表:優(yōu)勢(shì)在于可以較快的實(shí)現(xiàn)結(jié)點(diǎn)的插入刪除等操作,但是在鏈表的尾部插入,或者隨機(jī)讀取鏈表中的元素時(shí)會(huì)比較麻煩。
1-4
相似之處:都需要尋找到一個(gè)最短路線
不同之處:最短路徑(交通)問題需要找的時(shí)兩個(gè)點(diǎn)之間的最短距離,并不要求經(jīng)過其他點(diǎn)。旅行商問題要求在經(jīng)過所有點(diǎn)的同時(shí),走最短路徑。
1-5
暫時(shí)想不到有什么好的例子。以后做題如果發(fā)現(xiàn)了如果還記得會(huì)回來補(bǔ)充。其實(shí)問題1-4在一定程度上可以作為本題的答案,比如旅行商問題我們往往得出近似的最優(yōu)解即可。
1.2 作為一種技術(shù)的算法
2-1
一個(gè)播放器想在接下來像按照順序給使用者依次播放他喜歡的音樂。
利用排序算法對(duì)使用者的聽歌次序進(jìn)行排序,并且得到排序后的序列并依次播放這些音樂。
2-2
要求插入排序優(yōu)于歸并排序,相當(dāng)于要求:8n2<64nlog2n8n^2<64nlog_2n8n2<64nlog2?n
整理有n<8log2nn<8log_2nn<8log2?n
因此只要滿足上述公式的n的數(shù)字,都時(shí)插入排序優(yōu)于歸并排序的解,其中n<43n<43n<43
2-3
根據(jù)題目要求,我們可以得到如下公式:100n2<2n100n^2<2^n100n2<2n
因?yàn)樯鲜鲱}目需要的時(shí)最小解,通過枚舉我們可以得出n=15n=15n=15。
思考題
| 210002^{1000}21000 | 26×1042^{6\times10^4}26×104 | ∝\propto∝ | ∝\propto∝ | ∝\propto∝ | ∝\propto∝ | ∝\propto∝ |
| 10610^6106 | 3.6×1093.6\times10^93.6×109 | 1.296×10131.296\times10^{13}1.296×1013 | ∝\propto∝ | ∝\propto∝ | ∝\propto∝ | ∝\propto∝ |
| 1000 | 60000 | 3.6×1053.6\times10^53.6×105 | 8.64×1068.64\times10^68.64×106 | 2.592×1072.592\times10^72.592×107 | 3.1104×1083.1104\times10^83.1104×108 | 3.1104×10103.1104\times10^{10}3.1104×1010 |
| 141 | 4896 | - | - | - | - | - |
| 31 | 244 | 1897 | 9295 | 50911 | 176363 | 1763632 |
| 10 | 39 | 153 | 442 | 1373 | 3144 | 14597 |
| 10 | 16 | 22 | 27 | 32 | 35 | 42 |
| 7 | 8 | 9 | 11 | 12 | 13 | 15 |
上述中由于對(duì)數(shù)不太好算,故該行跳過,這里只需要了解不同的時(shí)間復(fù)雜度在處理效率隨時(shí)間的變化情況,同時(shí)月份是按照30天來進(jìn)行計(jì)算。
接下來以其中一個(gè)為例:
1秒鐘為1000 ms,如果想要計(jì)算一秒鐘的能處理的問題的規(guī)模,那么有
n!<1000n!<1000n!<1000,可以得出n<8n<8n<8,因此最大能夠處理的規(guī)模為7。其他的計(jì)算規(guī)模依次類推,可以在網(wǎng)上找階乘計(jì)算器或者對(duì)數(shù)計(jì)算器,方便得出結(jié)果。
總結(jié)
以上是生活随笔為你收集整理的算法导论(第三版)第一章习题答案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hibernate【inverse和ca
- 下一篇: sql server紧急状态下登录脚本