Python算法圖解

Python算法圖解

《 Python算法圖解》是清華大學出版社出版的一本圖書。

基本介紹

  • 書名:Python算法圖解
  • 作者:何韜
  • 出版社:清華大學出版社
  • 出版時間:2021年4月1日
  • ISBN:9787302565932
內容簡介,圖書目錄,

內容簡介

本書是一部論述使用Python語言描述數據結構與算法的新形態圖書,採用圖解方式和Python語言來描述各類算法的實現過程,講解通俗易懂,易於理解,切實做到深入淺出。同時,針對企業的用人需求本書提供了豐富的面試題,具有很強的實戰性。本書共分11章,包括數據結構的分類和基本運算、遞歸、棧和佇列、鍊表、數組、樹結構、堆結構、散列表、字典樹、圖和排序算法。讀者使用時,學習順序未必全按書中章節安排,可以依照自己的需求,做適當調整。為 方便讀者學習,作者專門錄製了配套的微課視頻,並提供配套程式代碼,供讀者使用。本書既適合有一定編程基礎的初學者,也適合想鞏固相關算法知識的軟體開發人員,同時也適合作為各高校計算機專業“數據結構與算法”課程的教材。

圖書目錄

第1章數據結構的分類和基本運算
1.1數據的邏輯結構
1.2數據的存儲結構
1.3數據結構的基本運算
第2章遞歸
2.1遞歸調用
2.2遞歸方式列印九九乘法表
2.3舍罕王賞麥
2.4遞歸遍歷檔案
2.5遞歸實現斐波那契數列
2.6循環實現斐波那契數列
2.7兔子繁殖問題
第3章棧和佇列
3.1棧結構
3.2用棧做十進制與二進制的轉換
3.3最小棧
3.4佇列
3.5兩個棧實現一個佇列
3.6以遞歸方式反轉一個棧
3.7遞歸加棧實現漢諾塔
第4章鍊表
4.1鍊表結構
4.2單向鍊表
4.2.1單向鍊表的追加和遍歷
4.2.2單向鍊表的隨機訪問
4.2.3單向鍊表的隨機插入
4.2.4單向鍊表的隨機刪除
4.2.5從尾到頭列印單向鍊表
4.2.6反轉一個單向鍊表
4.2.7反轉單向鍊表中索引n~m處節點
4.2.8合併多個鍊表
4.2.9合併兩個有序鍊表
4.2.10相交鍊表
4.2.11判斷兩個鍊表是否相交
4.2.12構造帶環的單向鍊表
4.2.13判斷鍊表是否有環並找出環的閉合點
4.3單向循環鍊表
4.3.1單向循環鍊表的追加和遍歷
4.3.2約瑟夫環
4.4雙向鍊表
4.4.1雙向鍊表的追加和遍歷
4.4.2雙向鍊表的隨機插入和刪除
4.4.3雙向鍊表實現插值法排序
4.5雙向循環鍊表
4.5.1雙向循環鍊表的追加和遍歷
4.5.2雙向循環鍊表的隨機插入和隨機刪除
第5章數組
5.1數組結構
5.2消除數組中重複元素
5.3求數組中的最大值和次大值
5.4求一個數組的支點元素
5.5求數組的幸運值
5.6在數組中實現二分法查找
5.7求無序數組中最長連續子串的長度
5.8求數組中出現次數超過總數一半的數
5.9環路加油站問題
第6章樹結構
6.1樹、森林、二叉樹
6.2二叉排序樹
6.2.1二叉排序樹的插入與中序遍歷
6.2.2二叉排序樹的深度優先遍歷和廣度優先遍歷
6.2.3二叉排序樹的前序遍歷
6.2.4二叉排序樹的後序遍歷
6.2.5二叉排序樹的廣度優先遍歷
6.2.6二叉排序樹的節點刪除
6.2.7二叉排序樹的按層遍歷
6.2.8求二叉樹的最大深度、最小深度
6.2.9求二叉樹中任意兩個節點之間的最低公共祖先
6.3滿二叉樹
6.3.1滿二叉樹的構建
6.3.2判斷一棵二叉樹是不是滿二叉樹
6.4完全二叉樹
6.4.1完全二叉樹的插入
6.4.2查看完全二叉樹
6.4.3判斷一棵二叉樹是不是完全二叉樹
6.5平衡二叉樹(AVL樹)
6.5.1平衡二叉樹的節點插入
6.5.2平衡二叉樹的節點刪除
6.6紅黑樹(RBTree)
6.6.1紅黑樹的插入
6.6.2紅黑樹的遍歷操作
6.6.3紅黑樹的刪除操作
6.6.4完整代碼實現
6.6.5紅黑樹練習題
第7章堆結構
7.1堆
7.2二叉堆
7.2.1二叉堆的插入
7.2.2二叉堆的遍歷
7.2.3二叉堆的刪除
7.3大(小)頂堆
7.3.1大(小)頂堆的插入
7.3.2大(小)頂堆的堆排序
第8章散列表
8.1散列表(哈希表)
8.2散列函式
8.3求兩數組交集
8.48個方向
第9章字典樹
9.1字典樹結構
9.2字典樹的存入
9.3字典樹的檢索
9.4遍歷字典樹中的鍵
第10章圖
10.1圖結構
10.2圖的表示
10.2.1鄰接矩陣
10.2.2鄰接表
10.2.3鄰接矩陣和鄰接表的使用場景
10.2.4邊的權重
10.3圖結構的代碼實現
10.3.1鄰接矩陣方式
10.3.2鄰接表方式
10.4圖的遍歷
10.4.1圖結構的深度優先遍歷和廣度優先遍歷
10.4.2圖遍歷的代碼實現
10.5生成樹和最小生成樹
10.5.1Prim算法求取最小生成樹
10.5.2最小生成樹的代碼實現
第11章排序算法
11.1排序算法的幾個基本概念
11.1.1排序的穩定性和不穩定性
11.1.2排序的時間複雜度
11.1.3排序的空間複雜度
11.2冒泡排序
11.3選擇排序
11.4插入排序
11.5希爾排序
11.6歸併排序
11.7快速排序
11.8計數排序
11.9桶排序
11.10基數排序
11.1110種常見排序算法的複雜度

相關詞條

熱門詞條

聯絡我們