數(shù)據(jù)結(jié)構(gòu)與算法入門到提高(Python語言實現(xiàn))
定 價:79.8 元
- 作者:譚琨、韋韜 編著
- 出版時間:2024/1/1
- ISBN:9787122438775
- 出 版 社:化學(xué)工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:208
- 紙張:
- 版次:01
- 開本:16開
《數(shù)據(jù)結(jié)構(gòu)與算法入門到提高(Python語言實現(xiàn))》面向零基礎(chǔ)的讀者,全面講解了數(shù)據(jù)結(jié)構(gòu)和算法的相關(guān)知識。全書共8章,首先介紹了相關(guān)概念和Python語言的基本情況,再講解核心知識:線性表、棧、隊列、樹、圖等數(shù)據(jù)結(jié)構(gòu),最后解讀了查找、排序等算法及Python的相關(guān)庫和模塊實現(xiàn)多種數(shù)據(jù)結(jié)構(gòu)的方法。全書內(nèi)容通俗易懂、文字精練,搭配相關(guān)例題和案例,可快速理解重點、難點。同時,本書附有代碼,且對代碼均做了詳盡的解析,可輕松上手實操,對初學(xué)者非常友好。
本書適合數(shù)據(jù)結(jié)構(gòu)和算法的初學(xué)者閱讀學(xué)習(xí),也可作為高校計算機及相關(guān)專業(yè)的教材使用。
第1章 緒論001
1.1 計算機程序是什么 002
1.2 常見的數(shù)據(jù)結(jié)構(gòu) 002
1.3 抽象數(shù)據(jù)類型(ADT) 004
1.4 算法及其作用 005
1.4.1 算法的定義和性質(zhì) 005
1.4.2 算法和算法分析 005
第2章 Python語言基礎(chǔ)009
2.1 Python的安裝 010
2.2 Python的基本語法 012
2.2.1 數(shù)據(jù)類型和變量 012
2.2.2 Python的基本語法結(jié)構(gòu) 013
2.3 重要內(nèi)置數(shù)據(jù)類型 019
2.3.1 字符串(str) 019
2.3.2 列表(list) 020
2.3.3 元組(tuple) 021
2.3.4 集合(set) 021
2.3.5 字典(dict) 021
2.4 函數(shù) 022
2.4.1 函數(shù)定義 022
2.4.2 匿名函數(shù) 023
2.5 類 023
2.6 變量作用域 025
2.7 異常處理 027
第3章 基本數(shù)據(jù)結(jié)構(gòu)029
3.1 線性表 030
3.1.1 線性表的概念和性質(zhì) 030
3.1.2 線性表的數(shù)據(jù)操作 030
3.1.3 線性表的順序存儲及數(shù)據(jù)操作 030
3.1.4 用Python實現(xiàn)線性表的鏈?zhǔn)酱鎯皵?shù)據(jù)操作 035
3.2 棧 060
3.2.1 棧的數(shù)據(jù)操作 062
3.2.2 用Python實現(xiàn)棧的順序存儲及數(shù)據(jù)操作 062
3.2.3 用Python實現(xiàn)棧的鏈?zhǔn)酱鎯皵?shù)據(jù)操作 062
3.2.4 棧的簡單應(yīng)用:判斷表達式括號是否匹配 064
3.3 隊列 072
3.3.1 隊列的數(shù)據(jù)操作 073
3.3.2 用Python實現(xiàn)隊列的順序存儲及數(shù)據(jù)操作 073
3.3.3 用Python實現(xiàn)隊列的鏈?zhǔn)酱鎯皵?shù)據(jù)操作 074
3.3.4 隊列的簡單應(yīng)用:打印楊輝三角 075
第4章 樹081
4.1 樹的基本概念 085
4.2 二叉樹 087
4.2.1 二叉樹的數(shù)據(jù)操作 088
4.2.2 二叉樹的實現(xiàn)以及二叉樹的遍歷 088
4.3 二叉搜索樹 091
4.3.1 基本概念 091
4.3.2 二叉搜索樹的數(shù)據(jù)操作 092
4.3.3 Python實現(xiàn)二叉搜索樹 093
4.4 二叉樹的層序遍歷 101
4.5 特殊的完全二叉樹-堆 117
4.5.1 小根堆(最小堆) 117
4.5.2 大根堆(最大堆) 122
第5章 圖127
5.1 圖的概念、性質(zhì)和數(shù)據(jù)類型 128
5.1.1 概念和性質(zhì) 128
5.1.2 圖的抽象數(shù)據(jù)類型 130
5.2 用Python實現(xiàn)圖的存儲結(jié)構(gòu) 130
5.2.1 鄰接矩陣實現(xiàn) 130
5.2.2 鄰接表實現(xiàn) 135
5.2.3 鄰接矩陣和鄰接表的比較 138
5.3 圖的遍歷 139
5.3.1 深度優(yōu)先搜索 139
5.3.2 廣度優(yōu)先搜索 143
5.4 生成樹、生成森林和最小生成樹 146
5.4.1 克魯斯卡爾算法 148
5.4.2 普里姆算法 152
第6章 查找163
6.1 線性查找 165
6.2 二分查找 166
6.3 插值查找 170
6.4 斐波那契查找 171
6.5 散列查找/哈希查找 174
第7章 排序179
7.1 選擇排序 180
7.1.1 選擇排序的算法 180
7.1.2 選擇排序的程序 180
7.2 插入排序 181
7.2.1 插入排序的算法 181
7.2.2 插入排序的程序 182
7.3 希爾排序 183
7.3.1 希爾排序的算法 183
7.3.2 希爾排序的程序 185
7.4 冒泡排序 185
7.4.1 冒泡排序的算法 185
7.4.2 冒泡排序的程序 188
7.5 快速排序 189
7.5.1 快速排序的算法 189
7.5.2 快速排序的程序 193
第8章 Python標(biāo)準(zhǔn)庫的數(shù)據(jù)結(jié)構(gòu)模塊195
8.1 queue(隊列)模塊 196
8.2 queue的先進先出隊列(FIFO) 199
8.3 queue模塊的優(yōu)先隊列 200
8.4 collections模塊實現(xiàn)雙端隊列 201
8.5 heapq模塊實現(xiàn)堆 204
附錄 函數(shù)father_bst() 208