非常推薦剛接觸計算機的朋友花上三五小時將全書通讀一遍,沒有技術細節,沒有公式證明,它會告訴作者挑選出的九大演算法出現的緣由和發展的過程。這些不關乎實現細節的思想概括,更能體現演算法在整個領域中的存在的原因。它們不再是冷冰冰的演算法過程,這是閱讀大多數的書籍、教材所難以獲得的。
至於我的推薦原因,如下全文。
大二大三的那兩年,在學校上過了網路、作業系統、資料庫、演算法設計等諸多計算機領域的基礎必修課程。由於生性愚鈍加之令人頭大的磚頭書的體系化、理論化,對於知識的掌握頂多處於知其然卻不知其所以然的程度。在這種情況下,學習就退化為了填鴨式的記憶。比如我記得 rsa 的公鑰加密流程,卻無法理解為何要套用這麼一大堆的數學方法來得到如此神奇的效果,比如,我知道資料庫有一套日誌機制,卻不知道它是如何與其他的元件共同構建起乙個系統的……沒有來龍去脈,就沒有對技術發展的感知,沒有對技術本質的理解和認識。
經過了四年多的摸爬滾打,到現在對這些基礎知識的認識自然遠好於當年上課的理解水平,不是因為我在反覆的學習課程內容,而是從實踐中獲得了新的認識。
大多數人的思維習慣,傾向於從已知的事物中衍生對新事物的認識,這是一種類推。而高校的大多數教材和教授方式較少考慮到這一點,一種簡單粗暴的直入主題的方式被大量的使用,排斥了知識的前因後果,技術的來龍去脈,剩下的只是新體系本身。這增加了學習曲線的入門坡度。
理論是灰色的,生活之樹常青《改變未來的九大演算法》是對歌德這句話的良好實踐。
比如在闡述公鑰加密機制時,作者從生活中的寄信講起,一步步模擬到計算機的通訊上,並用染料配色的方式舉例了迪菲赫爾曼機制。生動形象的描述了演算法的原理和來由。
過往的教材一旦陷入對某些實現細節的闡釋,就失去了對全域性上下文的把握。就像鏡頭對焦到了乙個點上,造成了周邊景物的模糊化效果。
《改變未來的九大演算法》全書很少涉及到技術的實現細節,這正是它的優勢所在。比如資料庫的一致性章節,從乙個銀行轉賬的例項講起,通過所面臨的一系列問題的解決方案的描述,讓人對資料庫的整體實現有了全域性的把握。在理解的前提下,更深入的學習也變得更有動力和方向。
奈何自己已經過了朦朦朧朧的那幾年,在此將本書強烈推薦給初涉計算機領域的朋友們。當然,其他人粗讀一遍,也是對自己知識體系的一次小梳理啦;)。
未來手機的九大新功能
1.微型核能電池裝入,手機不僅免充電,還可作投影儀 放壩壩電影3d電影 或當電警棒防身 也可直接做乙個移動電源插座。2.手機發射超聲波測距,超聲波驅蚊殺蟲,蝙蝠式的超聲波室內人體定位或室外布控,防水手機在水下可作小型聲納。3.手機醫療只要把手機揣在身上就ok,測心率,量血壓,計步數,自動發射次聲波對...
九大排序演算法
常見的排序分為兩類,一類是內部排序 直接插入排序 希爾排序 簡單選擇排序 堆排序 氣泡排序 快速排序 歸併排序 基數排序 一類是外部排序。當n較大時,應該使用時間複雜度為o nlog2n 的排序,如快速排序 堆排序 歸併排序。快排是基於比較的內部排序中,最好的方法。假設陣列為r 0 r n 1 第一...
九大排序演算法
重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越大的元素會經由交換慢慢 浮 到數列的頂端,故名。package com.demo.main 氣泡排序 public c...