第一章 算法在計算中的作用

練習

1.1-1 給出現實生活中需要排序的一個例子或者現實生活中需要計算凸殼的一個例子。

排序:購物網站需要知道當前商品下價格最低的店鋪或者銷量最高的店鋪。

凸殼:當需要在一片海域搜救時,必須通過重要的點來計算搜尋范圍。只有確定了凸殼的面積,才能確定最小搜救面積。

1.1-2 除速度外,在真實環境中還可能使用哪些其他有關于效率的量度?

功率,也就是焦耳/秒。代表一個物體制造或者消耗能量的速度。

1.1-3 選擇一種你以前已知的數據結構,并討論起優勢和局限。

數組,C語言內置的數據結構。

優勢:可以進行隨機訪問所以訪問的速度很快。

劣勢:但是無法快速的插入或者刪除,并且也不能隨意的改變容量。

1.1-4 前面給出的最短路徑與旅行商問題有哪些相似之處?又有哪些不同?

相似:最短路和旅行商問題都是計算最短路徑的問題。

不同:普通的最短路徑是定點求解,而旅行商問題是求解點和最短路徑,復雜度更高。

1.1-5 提供一個現實生活的問題,其中只有最優解才行。然后提供一個問題,其中近似最優解也足夠好。

唯一解:銀行卡在取款的時候,賬號必須精確匹配密碼才能進行取款操作。

近似解:電燈的電壓只要控制在一定的范圍之內就可以很好的工作。

練習

1.2-1 給出在應用層需要算法應用的一個例子,并討論涉及算法的功能。

計算一個電子地圖上出發地和目的地之間最短的路程。該應用需要使用以距離為權重的無向圖最短路算法。

1.2-2 假設我們正比較插入排序與歸并排序在相同的機器上實現。對規模為n的輸入,插入排序運行8n^2步,而歸并排序運行64nlgn步,問對哪些n值,插入排序優于歸并排序?

首先聯立,令:8n^2 = 64nlgn; 然后計算出n為43.5593時等式成立,即輸入規模n不超過43時插入排序優于歸并排序。

1.2-3 n的最小值為何值時,運行時間為 100n^2 的一個算法在相同的機器上快于運行時間為 2^n 的另一個算法?

首先聯立,令:100n^2 = 2^n;計算出n = 14.32,也就是說當輸入規模大于15時,前者快于后者。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1.1 算法 非形式地說,算法就是任何良定義的計算過程,該過程取某個值或值的集合作為輸入并產生某個值或值的集合作為...
    張文靖同學閱讀 1,102評論 0 1
  • 1.1 算法 算法就是把輸入轉換成輸出的計算步驟的一個序列。問題陳述說明期望的輸入/輸出關系,算法則描述一個特定的...
    Nautilus1閱讀 657評論 0 0
  • 概述 排序有內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部...
    蟻前閱讀 5,219評論 0 52
  • 你好我是中國人,我來自一個愛好和平的國家,來自一個擁有眾多歷史經歷的國家,來自一個擁有幾千年背景的國家,我為我是這...
    光年之外SNOW閱讀 293評論 0 1
  • 01:請馬上停用卸妝油 長期使用卸妝油的人幾乎都有一些共同的肌膚問題:臉頰泛紅,長一些小痘痘,所以最好用膏狀卸妝。...
    貝拉貝拉2閱讀 605評論 0 0