數據結構與算法(Python語言版)
耿祥義、張躍平
相關主題
商品描述
"本書面向有一定Python語言基礎的讀者,重點講解數據結構和相關算法以及經典算法思想。全書共14章,分別是數據結構概述、算法復雜度、遞歸算法、數組、列表、棧、隊列、二叉樹、散列結構、集合、鏈表、Python的實用算法、圖論和經典算法思想。 本書不僅註重講解每種數據結構的特點,還特別註重結合例子講解如何正確地使用每種數據結構和相關的算法,強調正確地使用相應的數據結構和算法來解決問題。書中精選了一些經典和實用性強的算法思想,並通過解決一些經典的問題來體現這些算法思想的精髓。 本書特別註重體現Python的特色,除前3章以外,其余各章的大部分代碼都體現了Python的特色和優勢。 本書可作為高等院校計算機相關專業“數據結構與算法”課程教材,也可作為軟件開發等專業人員的參考用書。 "
作者簡介
耿祥義,1995年中國科學技術大學博士畢業,獲理學博士學位。1997年從中山大學博士後流動站出站,現任大連交通大學教授。有多年教授Java語言的經驗,已編寫出版十余部教材。
目錄大綱
目錄
源碼下載
第1章數據結構概述
1.1邏輯結構
1.2物理結構
1.3算法與結構
1.4Python版本
習題1
第2章算法復雜度
2.1算法
2.2算法的復雜度
2.3常見的復雜度
習題2
第3章遞歸算法
3.1遞歸算法簡介
3.2線性與非線性遞歸
3.2.1線性遞歸
3.2.2非線性遞歸
3.3問題與子問題
3.4遞歸與疊代
3.5多重遞歸
3.6經典遞歸
3.6.1楊輝三角形
3.6.2老鼠走迷宮
3.6.3漢諾塔
3.7優化遞歸
習題3
第4章數組
4.1順序表的特點
4.2array類
4.3數組與圍圈留一問題
4.4數組與參數存值
4.5數組與穩定排序
4.6二分法與數組
4.7數組的相等
4.8數組與洗牌
習題4
第5章列表
5.1Python中的列表
5.2列表與排序
5.3列表與隨機布雷
5.4列表與隨機數
5.5列表與篩選法
5.6列表與全排列
5.7列表與組合
5.8列表與生命遊戲
5.9列表的公共子列表
5.10列表與堆
習題5
第6章棧
6.1棧的特點
6.2列表擔當棧角色
6.3棧與遞歸
6.4棧與括號匹配
6.5棧與深度優先搜索
6.6棧與後綴表達式
6.7棧與undo操作
習題6
第7章隊列
7.1隊列的特點
7.2隊列的創建與獨特方法
7.3隊列與回文串
7.4隊列與加密解密
7.5隊列與約瑟夫問題
7.6隊列與廣度優先搜索
7.7優先隊列
7.8隊列與排隊
7.9隊列與篩選法
習題7
第8章二叉樹
8.1二叉樹的基本概念
8.2遍歷二叉樹
8.3二叉樹的存儲
8.4平衡二叉樹
8.5二叉查詢樹和平衡二叉查詢樹
8.6SortedSet有序集
8.7有序集的基本操作
8.8有序集與數據統計
習題8
第9章散列結構
9.1散列結構的特點
9.2簡單的散列函數
9.3創建字典
9.4字典與字符、單詞頻率
9.5字典與數據緩存
9.6OrderedDict類
9.7對象作為關鍵字
習題9
第10章集合
10.1集合的特點
10.2set類
10.3集合的基本操作
10.4集合與數據過濾
10.5集合與獲得隨機數
10.6集合與對象
習題10
第11章鏈表
11.1鏈表的特點
11.2單鏈表
11.3雙鏈表
11.4鏈式棧
習題11
第12章Python的實用算法
12.1Lambda表達式
12.2動態遍歷
12.3計算代數和與平均值
12.4統計次數與計算最大、最小值
12.5反轉
12.6累積計算
12.7裝飾函數
12.8函數緩存
12.9偏函數
12.10過濾數據
12.11映射數據
12.12縫合數據
12.13快速選擇函數
12.14索引排序函數
12.15依次排序函數
12.16NumPy實用函數集錦
習題12
第13章圖論
13.1無向圖
13.2有向圖
13.3網絡
13.4圖的存儲
13.5圖的遍歷
13.6測試連通圖
13.7最短路徑
13.8最小生成樹
習題13
第14章經典算法思想
14.1貪心算法
14.2動態規劃
14.3回溯算法
習題14
附錄A重載關系方法和字符串
A.1重載關系方法
A.2字符串
A.3常用的循環
參考文獻