《啊哈!演算法》知識點彙總

2021-09-24 16:37:58 字數 829 閱讀 4411

這個知識點總結是朋友的讀書筆記,寫完之後扔給了我,發出來給其他人看看,希望更多的人能知道這本書,擺脫對演算法的陌生和畏懼感,也給我帶來點流量~ 感謝柏詩峰同學的支援~

這份導圖總結自《啊哈!演算法》這本書,但有不僅僅是總結,更標註了許多頁碼的索引,可以在想要回看知識點時快速的找到對應的章節。

書裡的演算法講解大致分為:排序、棧佇列鍊錶、列舉、搜尋、圖的遍歷、樹的遍歷、其他

這個順序很有意思,因為當你在學習演算法的時候,最開始接觸到的,基本都是氣泡排序~因為這是最簡單、最好理解的演算法,不僅僅是本身的理解,也是對演算法這個定義的理解。而其他的排序演算法,會讓你一步一步對時間、控制項複雜度有更好的了解;棧佇列鍊錶,也是常用的資料結構,最優的演算法一定是要配合最合適的資料結構,這一章會讓你感受到,選對了資料結構是演算法很重要的一步。與前面的排序演算法結合,如何根據不同的資料結構選擇最優的演算法,也是乙個課題,比如說列舉這一章;而圖和樹這兩章,會讓明白這兩個看似複雜的結構,對他們的搜尋遍歷也不是特別的難(當然優化的演算法挺複雜的,書裡沒有~);其他演算法,說實話我記不住了,你們自己看看吧哈哈哈。

我也讀過這本書,我目前對這本書的定義是:aha這本書是我演算法學習的乙個起點,也是鼓勵我通過書籍學習的乙個起點。這本書沒有將特別高深的演算法,而是以和你對話、講故事的方式,從排序、各種資料結構,到樹、圖的基本演算法,進行了很詳細的講解。在看這本書之前,我對樹、圖有一種天然的敬畏,這種敬畏源自於對於演算法了解的太少,說白了就是無知。而這本書的講解,很自然的讓你理解乙個又乙個例子,理解一步又一步,最終徹底明白這些演算法的意義。也推薦大家看一看這本書,才200多頁,很快就能看完~

演算法知識點彙總

1.求陣列元素之間相鄰的元素個數或者求字串的長度 指向同乙個陣列的不同元素的兩個指標可以相減,其差便是兩個指標之間相隔的元素個數。例如在乙個字串中,讓乙個指向該串的首元素,讓另乙個指向字串的結束符,兩個指標相減,其差便是字串的長度 2.怎樣判斷兩個指標指向的是陣列的同乙個元素?指標可以互相比較。如指...

演算法知識點彙總

貪心演算法 又稱貪婪演算法 是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的是在某種意義上的區域性最優解。貪心演算法不是對所有問題都能得到整體最優解,關鍵是貪心策略的選擇,選擇的貪心策略必須具備無後效性,即某個狀態以前的過程不會影響以後的狀態,只與當...

小知識點彙總

1 為什麼乙個數的各位數之和可以被3整除時,這個數就可以被3整除 設乙個n位數number,從個位起每一位為a1 an 則number a1 a2 10 a3 10 2 an 10 n 1 1 先證必要性 如果number的各位數之和是3的倍數,則a1 a2 an 3k k為正整數 2 由 2 得a...