《啊哈!演算法》讀書筆記
《啊哈!演算法》這本書中的演算法舉例貼近生活,語言詼諧幽默,不會讓人產生枯燥感,並配有很多幽默的插圖。演算法講解通俗易懂,並配有詳細c語言**和注釋,是一本適合初學者學習以及借鑑的演算法書籍。
由於時間有限,我簡單花了一些時間閱讀了其中的排序板塊,各種排序演算法層出不窮,一直都是困擾像我一樣的初學者們的難題,我簡單寫一下讀書時以及結合網路部落格上相關博文整理出的筆記:
學到了乙個新的簡單排序演算法:桶排序
桶排序是將待排序集合中處於同乙個值域的元素存入同乙個桶中,也就是根據元素值特性將集合拆分為多個區域,則拆分後形成的多個桶,從值域上看是處於有序狀態的。對每個桶中元素進行排序,則所有桶中元素構成的集合是已排序的。
桶排序過程中存在兩個關鍵環節:
元素值域的劃分,也就是元素到桶的對映規則。對映規則需要根據待排序集合的元素分布特性進行選擇,若規則設計的過於模糊、寬泛,則可能導致待排序集合中所有元素全部對映到乙個桶上,則桶排序向比較性質排序演算法演變。若對映規則設計的過於具體、嚴苛,則可能導致待排序集合中每乙個元素值對映到乙個桶上,則桶排序向計數排序方式演化。
排序演算法的選擇,從待排序集合中元素對映到各個桶上的過程,並不存在元素的比較和交換操作,在對各個桶中元素進行排序時,可以自主選擇合適的排序演算法,桶排序演算法的複雜度和穩定性,都根據選擇的排序演算法不同而不同。
演算法複雜度分析:
由演算法過程可知,桶排序的時間複雜度為
演算法分析與設計 作業13 讀書筆記
我在知乎上找有關演算法書的推薦,偶然間找到了這本 演算法導論 雖然我沒有完全看完,但我還是獲得了一些收穫。通過閱讀這本書使我更深刻地了解了演算法思想。我了解了書中有關動態規劃 貪心演算法 攤還分析 b樹 斐波那契堆等內容。初次接觸演算法,我感到還是有點困難,尤其是在演算法分析這一塊。一般來說學習演算...
演算法分析與設計實踐 作業13 讀書筆記
我從圖書館借閱了 演算法演化論 一書,此文是我讀後對該書的一些感想。計算機數學是科學計算的一門主體學科,它伴隨著電子計算機的推廣應用而成長壯大,是一門僅有40餘年歷史的新學科。在科學計算蓬勃發展的今天,迫切要求充實完善計算數學的學課體系。翻開科學發展史,可以看到,一門學科的形成可以有不同的方式 方法...
演算法分析與實踐 作業13 讀書筆記
演算法競賽高階指南 讀書筆記 在學習了演算法設計與分析基礎這門課後,我還翻閱了 演算法競賽高階指南 這本書,這本書根據ccf noi資訊學奧利匹克競賽涉及的知識體系進行編寫,對計算機程式設計的基本技能 資料結構與演算法進行了深入的講解。我覺得通過這本書,我了解到的東西還是比較豐富的。比如字典樹的概念...