資料結構 -- 使用 Python (附範例光碟)
內容描述
本書特色
1.本書以Python語言來實作資料結構中的重要理論,適合已經學過Python程式語法、具有基礎Python類別與物件語法與概念的讀者進階研習資料結構。
2.章節安排從資料結構的基礎到進階依序編次,讓學習有目標,有方法。
3.圖解各種資料結構新增、刪除、搜尋元素的方法及步驟,讓資料結構的觀念一看就懂。
內容簡介
本書適合已經學過Python程式語法、具有基礎Python類別與物件語法與概念的讀者進階研習資料結構。使用圖解方式說明資料結構的概念,依照步驟顯示資料結構中新增、刪除、搜尋元素的運作過程,各種資料結構的優缺點與使用時機,務求讓概念的解說清楚易懂。接著,進行程式碼實作與解說,並分析程式的執行效率。本書從基礎到進階方式安排章節次序,依序為資料結構簡介、Python的資料儲存容器、陣列、鏈結串列、佇列與堆疊、樹狀結構、進階樹狀結構、排序、搜尋與雜湊、圖形資料結構與圖形走訪、圖形最短路徑、常見圖形演算法、2-3-Tree、2-3-4-Tree 與B-Tree。一步步帶領讀者進入資料結構的世界,熟悉資料結構的概念,以運用資料結構解決問題,提高程式執行速度。學習資料結構沒有捷徑,在程式實作中不斷地融入資料結構,比較不同資料結構對程式執行速度的影響,慢慢累積就會進步。
目錄大綱
第1章 資料結構簡介
1-1 資料結構的定義
1-2 資料結構影響程式執行效率
1-3 演算法的定義
1-4 程式執行效率分析
1-5 評估程式的複雜度
第2章 Python的資料儲存容器
2-1 tuple
2-2 串列
2-3 字典
2-4 集合
第3章 陣列
3-1 一維陣列
3-2 一維陣列的程式實作
3-3 二維陣列
3-4 二維陣列的程式實作
第4章 鏈結串列
4-1 鏈結串列
4-2 環狀鏈結串列
4-3 雙向鏈結串列
4-4 實作鏈結串列
第5章 陣列(二)
5-1 佇列
5-2 堆疊
第6章 樹狀結構
6-1 簡介樹狀結構
6-2 二元樹
6-3 二元搜尋樹
第7章 進階樹狀結構
7-1 霍夫曼編碼
7-2 AVL樹
第8章 排序
8-1 氣泡排序
8-2 選擇排序
8-3 插入排序
8-4 合併排序
8-5 快速排序
8-6 堆積排序
8-7 基數排序
8-8 各種排序演算法的比較
第9章 搜尋與雜湊
9-1 搜尋
9-2 雜湊
第10章 圖形資料結構與圖形走訪
10-1 簡介圖形資料結構
10-2 實作圖形資料結構
10-3 使用深度優先進行圖的走訪
10-3 使用寬度優先進行圖的走訪
第11章 圖形最短路徑
11-1 實作圖形資料結構-新增邊的權重
11-2 使用Dijkstra演算法找最短路徑
11-3 使用Bellman Forde演算法找最短路徑
11-4 使用Floyd Warshall演算法找最短路徑
第12章 常見圖形演算法
12-1 拓樸排序
12-2 尤拉迴路
12-3 最小生成樹
12-4 找出關節點
第13章 2-3-Tree、2-3-4-Tree與B-Tree
13-1 2-3-Tree
13-2 2-3-4-Tree
13-3 B-Tree