內容簡介
了解數據結構與算法是透徹理解計算機科學的前提。隨著Python日益廣泛的套用,Python程式設計師需要實現與傳統的面向對象程式語言相似的數據結構與算法。本書是用Python描述數據結構與算法的開山之作,匯聚了作者多年的實戰經驗,向讀者透徹講解在Python環境下,如何通過一系列存儲機制高效地實現各類算法。通過本書,讀者將深刻理解Python數據結構、遞歸、搜尋、排序、樹與圖的套用,等等。
圖書目錄
第 1章 導論 1
1.1 本章目標 1
1.2 入門 1
1.3 何謂計算機科學 1
1.3.1 何謂編程 3
1.3.3 為何學習算法 4
1.4 Python基礎 5
1.4.1 數據 5
1.4.2 輸入與輸出 16
1.4.3 控制結構 18
1.4.4 異常處理 21
1.4.5 定義函式 23
1.4.6 Python面向對象編程:定義類 24
1.5 小結 37
1.6 關鍵術語 38
1.7 討論題 38
1.8 編程練習 38
第 2章 算法分析 40
2.1 本章目標 0
2.2 何謂算法分析 40
2.2.1 大O記法 43
2.2.2 異序詞檢測示例 46
2.3 Python數據結構的性能 49
2.3.1 列表 49
2.3.2 字典 53
2.4 小結 55
2.5 關鍵術語 55
2.6 討論題 56
2.7 編程練習 56
第3章 基本數據結構 57
3.1 本章目標 57
3.2 何謂線性數據結構 57
3.3 棧 58
3.3.1 何謂棧 58
3.3.3 用Python實現棧 60
3.3.4 匹配括弧 62
3.3.5 普通情況:匹配符號 64
3.3.6 將十進制數轉換成二進制數 65
3.3.7 前序、中序和後序表達式 67
3.4 佇列 75
3.4.1 何謂佇列 75
3.4.2 佇列抽象數據類型 75
3.4.3 用Python實現佇列 76
3.4.4 模擬:傳土豆 77
3.4.5 模擬:列印任務 79
3.5 雙端佇列 84
3.5.1 何謂雙端佇列 84