《演算法導論(原書第3版)》一本章註記

2021-09-23 10:06:06 字數 670 閱讀 7032

2023年,knuth發表了總標題為《計算機程式設計藝術》[209,210,211]的三卷著作中的第1卷。第1卷引領了現代計算機演算法的研究,使之聚焦於執行時間的分析。對這裡給出的許多主題,這3卷著作仍然是有吸引力的且有價值的參考書。依照knuth的說法,「演算法」這個詞**於9世紀一位波斯數學家的名字「al-khowrizm」。

aho、hopcroft和ullman[5]提倡使用第3章引入的記號,包括θ記號,把演算法的漸近分析作為比較相對效能的一種方法。他們還推廣了使用遞迴關係來描述遞迴演算法的執行時間。

knuth[211]提供了許多排序演算法的一種百科全書似的處理。他對各種排序演算法的比較包括精確的執行步數分析,這種分析類似於我們這裡對插入排序所做的分析。knuth對插入排序的討論包括該演算法的幾種變形。其中最重要的是由d.l.shell提出的shell排序,它對輸入序列的週期性子串行使用插入排序,結果形成了一種更快的排序演算法。

knuth還描述了歸併排序。他提到在2023年就有人發明了一種機械排序裝置,能夠在一趟內合併兩組穿孔卡片。電腦科學的先驅之一j.von neumann顯然於2023年在計算機edvac上為歸併排序編寫過乙個程式。

gries[153]描述了證明程式正確性的早期歷史,他把該領域的第一篇文章歸功於p.naur,並把迴圈不變式歸功於r.w.floyd。mitchell[256]編寫的教材中描述了證明程式正確性的一些更新的進展。

《演算法導論(原書第3版)》一思考題

2 1 在歸併排序中對小陣列採用插入排序 雖然歸併排序的最壞情況執行時間為 nlgn 而插入排序的最壞情況執行時間為 n2 但是插入排序中的常量因子可能使得它在n較小時,在許多機器上實際執行得更快。因此,在歸併排序中當子問題變得足夠小時,採用插入排序來使遞迴的葉變粗是有意義的。考慮對歸併排序的一種修...

ROS機械人程式設計(原書第2版)1 5 本章小結

1.5 本章小結 在這一章,我們學習了如何在不同ubuntu裝置上 計算機 virtualbox beaglebone black 安裝ros hydro。通過這些步驟,你已經在系統上安裝了一切必要的軟體,可以使用ros開始工作,也可以練習本書中的示例。你也可以使用源 來安裝ros。但這樣做需要編譯...

《演算法導論 第3版》第1章 筆記 習題答案

若對每個輸入例項,演算法都以正確的輸出停機,則稱該演算法是正確的,並稱正確的演算法解決了給定的計算問題。不正確的演算法對某些輸入例項可能根本不停機。問題描述 判斷乙個程式是否會在有限時間內結束執行。這個答案是否定的,這裡涉及邏輯數學中可計算性理論。離散數學及其應用 第8版 第13章 計算模型 電腦程...