python

的確,正如偶像Bruce Eckel所說,“Life is short, you need Python”! 如果你正在考慮學Java還是Python的話,那就別想了,選Python吧,你的人生會有更多的時間做其他有意思的事情。 工作之前我沒學python是有原因的:首先,我怕蛇,很怕很怕,而這貨的logo竟然就是蛇,我因故而避之;其次,我不喜歡腳本語言,我會shell,但是寫的時候不是很爽,只是在處理些文件操作或者字符串操作的時候才會想起它,聽說python腳本神馬的,我便又避之。

但是,工作了之后發現用Python的人很多,而且這貨簡直被神化了,無所不能,吊炸天的Edx的后臺竟然就是用的Python,于是花了一個下午刷了本《Head First Python》,感覺沒啥特別,只是寫起來輕便,甚至還能開發Android,讓我大吃一驚。后來,又接著看了些Python書,發現真的如此,很多時候用Java寫了幾十行的代碼用Python幾行就搞定了,而且它同樣擁有大量的第三方模塊,于是我就這么走進了Python的世界。Python要入門很簡單,畢竟我搞Java這么多年了,這倆太多的相似點了,看完書之后寫寫數據結構,寫寫算法,熟悉一些高級特性,使用一些第三方模塊之后應該就算入門了吧?,F在,做任何事情,我首先想到的是用Python如何實現?!嘿嘿,“Life is short, go start Python”!

1. Python基礎知識篇

Python BasicsPython Advances 前者是Python基礎的簡單總結(大部分摘自網上恩師@廖雪峰老師的Python教程),后者推薦了些關于Python高級特性的好文章(大部分摘自伯樂在線Python分類的文章)

2. Python數據結構篇

數據結構篇主要是閱讀Problem Solving with Python [該網址鏈接可能會比較慢]時寫下的閱讀記錄,當然,也結合了部分算法導論中的內容,此外還有不少wikipedia上的內容,所以內容比較多,可能有點雜亂。這部分主要是介紹了如何使用Python實現常用的一些數據結構,例如堆棧、隊列、二叉樹等等,也有Python內置的數據結構性能的分析,同時還包括了搜索和排序(在算法設計篇中會有更加詳細的介紹)的簡單總結。每篇文章都有實現代碼,內容比較多,簡單算法一般是大致介紹下思想及算法流程,復雜的算法會給出各種圖示和代碼實現詳細介紹。

這一部分是下面算法設計篇的前篇,如果數據結構還不錯的可以直接看算法設計篇,遇到問題可以回來看數據結構篇中的某個具體內容充電一下,我個人認為直接讀算法設計篇比較好,因為大家時間也都比較寶貴,如果你會來讀這些文章說明你肯定有一定基礎了,后面的算法設計篇中更多的是思想,這里更多的是代碼而已,嘿嘿。

(1)搜索
簡述順序查找和二分查找,詳述Hash查找(hash函數的設計以及如何避免沖突)

(2)排序
簡述各種排序算法的思想以及它的圖示和實現

(3)數據結構
簡述Python內置數據結構的性能分析和實現常用的數據結構:棧、隊列和二叉堆

(4)樹總結
簡述二叉樹,詳述二叉搜索樹和AVL樹的思想和實現

3. Python算法設計篇

算法設計篇主要是閱讀Python Algorithms: Mastering Basic Algorithms in the Python Language[點擊下載]之后寫下的讀書總結,原書大部分內容結合了經典書籍算法導論,內容更加細致深入,主要是介紹了各種常用的算法設計思想,以及如何使用Python高效巧妙地實現這些算法,這里有別于前面的數據結構篇,部分算法例如排序就不會詳細介紹它的實現細節,而是側重于它內在的算法思想。這部分使用了一些與數據結構有關的第三方模塊,因為這篇的重點是算法的思想以及實現,所以并沒有去重新實現每個數據結構,但是在介紹算法的同時會分析Python內置數據結構以及第三方數據結構模塊的優缺點,也就意味著該篇比前面都要難不少,但是我想我的介紹應該還算簡單明了,因為我用的都是比較樸實的語言,并沒有像算法導論一樣列出一堆性質和定理,主要是對著某個問題一步步思考然后算法就出來了,嘿嘿,除此之外,里面還有很多關于python開發的內容,精彩真的不容錯過!
這里每篇文章都有實現代碼,但是代碼我一般都不會分析,更多地是分析算法思想,所以內容都比較多,即便如此也沒有包括原書對應章節的所有內容,因為內容實在太豐富了,所以我只是選擇經典的算法實例來介紹算法核心思想,除此之外,還有不少內容是原書沒有的,部分是來自算法導論,部分是來自我自己的感悟,嘻嘻。該篇對于大神們來說是小菜,請一笑而過,對于菜鳥們來說可能有點難啃,所以最適合的是和我水平差不多的,對各個算法都有所了解但是理解還不算深刻的半桶水的程序猿,嘿嘿。
本篇的順序按照原書Python Algorithms: Mastering Basic Algorithms in the Python Language的章節來安排的(章節標題部分相同部分不同喲),為了節省時間以及保持原著的原滋原味,部分內容(一般是比較難以翻譯和理解的內容)直接摘自原著英文內容。

(1)Python Algorithms - C1 Introduction
本節主要是對原書中的內容做些簡單介紹,說明算法的重要性以及各章節的內容概要。

(2)Python Algorithms - C2 The basics
本節主要介紹了三個內容:算法漸近運行時間的表示方法、六條算法性能評估的經驗以及Python中樹和圖的實現方式。

(3)Python Algorithms - C3 Counting 101
原書主要介紹了一些基礎數學,例如排列組合以及遞歸循環等,但是本節只重點介紹計算算法的運行時間的三種方法

(4)Python Algorithms - C4 Induction and Recursion and Reduction
本節主要介紹算法設計的三個核心知識:Induction(推導)、Recursion(遞歸)和Reduction(規約),這是原書的重點和難點部分

(5)Python Algorithms - C5 Traversal
本節主要介紹圖的遍歷算法BFS和DFS,以及對拓撲排序的另一種解法和尋找圖的(強)連通分量的算法

(6)Python Algorithms - C6 Divide and Combine and Conquer
本節主要介紹分治法策略,提到了樹形問題的平衡性以及基于分治策略的排序算法

(7)Python Algorithms - C7 Greedy
本節主要通過幾個例子來介紹貪心策略,主要包括背包問題、哈夫曼編碼和最小生成樹等等

(8)Python Algorithms - C8 Dynamic Programming
本節主要結合一些經典的動規問題介紹動態規劃的備忘錄法和迭代法這兩種實現方式,并對這兩種方式進行對比

(9)Python Algorithms - C9 Graphs
本節主要介紹圖算法中的各種最短路徑算法,從不同的角度揭示它們的內核以及它們的異同


轉載自https://hujiaweibujidao.github.io/python/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,488評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,034評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,327評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,554評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,337評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,883評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,114評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,625評論 1 332
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,555評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,737評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,244評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,973評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,362評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,615評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,343評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,699評論 2 370

推薦閱讀更多精彩內容