《演算法導論》應該是每乙個程式設計師都應該看的經典吧。不過現在這個時代,設計重於資料結構和演算法,乙個普通程式設計師,只要會用api、sdk,再學一點軟體工程思想,就足夠應付日常工作了。在很多人眼中,演算法的研究只是一小撮人做的事,他們為我們提供底層工具,我們在其基礎上搭建面對使用者的應用程式,而應用程式的數量遠比底層工具大得多。
但是,以個人體會來說,工作幾年之後,程式設計師的的能力必然會到乙個瓶頸,如果不能突破這個瓶頸,要麼轉行做管理,要麼完全離開程式設計這個行業。如果這兩條路你都無法接受,那麼趕緊和我一起來學習《演算法導論》吧。
學習這門課程,你至少要懂一門程式語言,究竟是哪一種無所謂,書中的演算法都是用偽**表示,不涉及具體語言細節。不過我這個筆記裡,**是用c或c++來實現的。我會盡量用c,學過這門語言的人更多些,而且演算法中也用不到c++中的那麼多高階特性。
對於練習和思考題,我會挑一些有難度的來討論。
最後說明一下,高數我已經丟了好多年了,遇到涉及高數的習題可能不會做……實在不行我會惡補一下高數知識,也許咱還會開乙個專題叫「高等數學筆記」呢。
《演算法導論》學習之前言
在程式設計過程中,發現自己用 編寫演算法的能力,需要進一步提高。故開始學習 演算法導論 目的是讓理論素養與程式設計實現演算法能力齊頭並進。學會自己設計演算法,也是這本書編著者的乙個重要目標。因此這本書不像國內的那些將演算法的教材一樣,只是單純的講解各種經典演算法,而是啟迪讀者在能夠熟練掌握經典演算法...
Linux核心project導論 前言
想要研究linux核心。使用linux核心,首先要知道linux核心能做到什麼,提供了什麼。我看過非常多剛開始學習的人一進入公司就開始使用linux核心開發核心模組。使用的不管是通訊方式 記憶體介面還是裝置介面仍都是核心早已淘汰掉的。原因是他們一般是直接在網路上搜尋來怎樣完畢工作的。但他們手中的卻是...
《演算法導論》筆記彙總
列表裡沒有的,或者是純屬理論,不適合寫,比如第1 5章 或者是我也不怎麼明白的,比如斐波那契堆中抽取最小結點的平攤代價分析 還有沒看的,比如數論和np完全性等。陸續看了四個月,有些理解的還不是很深,筆記彙總到這裡。如果有問題,可以郵件交流。第六章 堆排序 堆排序 第七章 快速排序 四種快速排序 快速...