有哪些用Python語言講算法和數據結構的書?
強烈推薦一本免費算法書《用Python解決數據結構與算法問題》。學 Python 僅僅只學 Python 語法和 API 是遠遠不夠的,掌握算法和數據結構這種永遠都不會過時的核心技能才是決定一個程序員職業發展的關鍵因素。算法和數據結構對專業程序員來說重要性不言而喻,同樣一個問題,不同算法效率可謂千差萬別。在問題規模很小的時候你可能感知不到,但是一旦數據上升到TB級別,兩者的差距就像西瓜和芝麻的差別了。
舉個簡單例子:我們要計算前n個整數之和,你最先想到的算法可能是迭代。代碼非常直觀,初學者都能讀懂,就是從1累加到n,得到最后的結果。這種算法的效率隨著n的增加而變化,時間復雜度是O(n),線性時間,大O表示法指出了最糟糕情況下的運行時間。
想象一下,這個數足夠大的時候,所耗費的時間將是無法估量的,當然,還有很多比線性時間更糟糕的算法。當然,最后還有一種最理想的算法,就是常數級別的,O(1) 常數級復雜度。也就是說程序運行的時間與需要處理的數據大小無關。
如果利用數學方程而不是迭代來計算前n個整數的和,他的復雜度就是 O(1)。下非常榮幸回答您的提問,下面是這本書的目錄,希望對您有幫助!