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