知識儲備
通常效能的好與壞,直接決定著可行還是不可行。例如,對於實時的需求。演算法總是處於解決問題的最前沿,如果你討論的只是重新實現十年前人們就做過的東西。那某種意義上,效能就不在重要。但是如果你正在積極嘗試其他人沒有成功的事情,之所以別人沒有成功,因為太消耗時間,不具備可擴充套件的空間,這是第一層原因,演算法能夠將不可行變成可行。
第二層原因,演算法是一種描述程式行為的語言,它業已形成了一種語言,一種已經廣泛應用於電腦科學領域,已經被所有的實踐者所採用的理論語言,它是一種讓程式最為簡潔的思考方式。
有乙個很好的比喻來形容效能以及為何效能處於最底層,它所扮演的角色就如同經濟中的貨幣一般,想想一沓鈔票有什麼好的?我們更需要有食物,水,房子等等。我們需要用鈔票才能買下這些商品,儘管水對於我們的生命比鈔票重要。同樣,效能是確保良好的使用者體驗的前提,也是安全的保障。為什麼你需要效能,因為你需要效能作為支付其他東西的貨幣。在某種意義上,這就是為什麼效能是處於最底層的原因。因為它是衡量的一般性標準,你願意消耗兩倍的效能在使用者體驗還是消耗三倍的效能在安全上呢,之類等等。另外,其他資源方面同樣適用。例如通訊,記憶體等等。
學習演算法效能最後乙個原因是,這裡充滿了樂趣。速度永遠讓人渴望,對吧。
演算法導論 隨機演算法
一.概率分布 對於有些問題本身是屬於概率問題,如僱傭問題 對於此類問題,我們需要利用概率分析來得到演算法的執行時間,有時也用來分析其他的量。例如,僱傭問題中的費用問題也需要結合概率分析來計算得到。為了使用概率分析,我們必須使用或者假設已知關於輸入的概率分布,然後通過分析該演算法計算出平均情況下的執行...
《演算法導論》 演算法導論2 2 1插入排序
2.1 插入排序。我們分析的第乙個演算法是插入排序演算法,輸入 n個數 a1,a2,a3,a4,a5,a6,a7 an 輸出 序列的乙個排列 即重新排序 a1 a2 a3 使a1 a2 a3 插入排序演算法的偽 是以乙個過程的形式給出的,稱為insertion sort,它的引數是乙個陣列。包括了n...
演算法導論目錄
出版者的話 專家指導委員會 譯者序前言 第一部分 基礎知識 引言 第1章 演算法在計算中的作用 1.1 演算法 1.2 作為一種技術的演算法 第2章 演算法入門 2.1 插入排序 2.2 演算法分析 2.3 演算法設計 2.3.1 分治法 2.3.2 分治法分析 第3章 函式的增長 3.1 漸近記號...