-
>
貨幣大歷史:金融霸權與大國興衰六百年
-
>
(精)方力鈞作品圖錄
-
>
《藏書報》2021合訂本
-
>
(精)中國當代書畫名家作品集·范碩:書法卷+繪畫卷(全2卷)
-
>
(噴繪樓閣版)女主臨朝:武則天的權力之路
-
>
書里掉出來一只狼+狼的故事-全2冊
-
>
奇思妙想創意玩具書(精裝4冊)
PYTHON數據結構與算法從入門到精通 版權信息
- ISBN:9787122466891
- 條形碼:9787122466891 ; 978-7-122-46689-1
- 裝幀:平裝
- 冊數:暫無
- 重量:暫無
- 所屬分類:
PYTHON數據結構與算法從入門到精通 本書特色
(1)案例豐富,與軟件工程實踐結合,案例和習題選自近年來考研、各大軟件公司筆試面試題目,在每一章結合實際案例,提供完整代碼;(2)提供微課視頻,通過掃描二維碼可觀看微課視頻,下載配套源碼,方便讀者理解與掌握,提高學習效果。
PYTHON數據結構與算法從入門到精通 內容簡介
本書全面系統地講解了使用Python 語言實現數據結構和算法的基礎知識和實踐技能。全書分為14章,主要內容包括數據結構與算法概述、Python 語言基礎、線性表、棧與遞歸、隊列、串、數組與廣義表、樹和二叉樹、圖、查找、排序、回溯算法、遞歸與分治算法等。 本書內容由淺入深,語言通俗易懂,理論結合實踐,采用大量豐富的案例,幫助讀者高效學習,且將知識更好地應用在實際學習和工作中。 本書可作為計算機、人工智能、大數據等行業相關技術人員的參考書,也可供高等院校計算機相關專業師生學習使用。
PYTHON數據結構與算法從入門到精通PYTHON數據結構與算法從入門到精通 前言
數據結構與算法是計算機、軟件工程等相關專業的一門非常重要的核心課程,是繼續深入學習算法設計與分析、操作系統、編譯原理、人工智能、機器學習等后續專業課程的重要基礎。隨著計算機技術的快速發展,數據量呈幾何級數增長,數據結構在系統軟件設計和應用軟件設計中的重要作用更加突出,Python語言也顯得更加重要。因此,利用Python語言描述數據結構與算法已成為后續學習和工作的技能。
在學習數據結構與算法的過程中,許多專業術語較為抽象,對于初學者來說,有些概念及算法不容易理解和掌握,若其編程語言掌握得不夠深入,更增加了學習的難度,因此,本書回顧了Python 語言中的基本語法:列表、元組、字典、集合、函數與類。本書采用通俗易懂的語言講解數據結構中抽象的概念,通過圖表和案例的方式分析算法思想,便于讀者真正理解和掌握。本書全面涵蓋數據結構知識點,所有算法采用Python語言實現,其代碼均在PyCharm開發環境下調試通過,所有案例均提供完整的程序,無須修改就能直接運行。
本書適合想全面系統地掌握數據結構與算法的人員,特別是學習數據結構與算法感到困惑的人。本書可作為自學數據結構的教材,也可作為計算機、軟件工程等相關專業學生的考研輔導用書和參加軟考人員的輔導用書。
PYTHON數據結構與算法從入門到精通 目錄
第1章 數據結構概述 001
1.1 基本概念和術語 002
1.2 數據的邏輯結構與存儲結構 004
1.2.1 邏輯結構 004
1.2.2 存儲結構 005
1.3 抽象數據類型及其描述 005
1.3.1 什么是抽象數據類型 005
1.3.2 抽象數據類型的描述 006
第2章 算法概述 010
2.1 算法的相關概念 011
2.1.1 數據結構與算法的關系 011
2.1.2 什么是算法 012
2.1.3 算法的五大特性 012
2.1.4 算法的描述 012
2.2 算法分析 014
2.2.1 算法設計的4 個目標 014
2.2.2 算法效率評價 015
2.2.3 算法的時間復雜度 016
2.2.4 算法的空間復雜度 019
第3章 數據結構與算法的語言基礎—— Python語言 020
3.1 Python 語言開發環境 021
3.2 Python 基本語法及輸入輸出 023
3.2.1 基本語法 023
3.2.2 輸入與輸出 024
3.3 Python 列表、元組、字典、集合 027
3.3.1 列表 027
3.3.2 元組 029
3.3.3 字典 030
3.3.4 集合 030
3.4 函數與類 031
3.4.1 函數 031
3.4.2 類 032
3.5 NumPy 中的array 033
第4章 線性表——*簡單的線性結構 036
4.1 線性表的定義及抽象數據類型 038
4.1.1 什么是線性表 038
4.1.2 線性表的抽象數據類型 038
4.2 線性表的順序表示與實現 039
4.2.1 線性表的順序存儲結構 039
4.2.2 順序表的基本運算 040
4.2.3 順序表的基本運算性能分析 043
4.2.4 順序表的優缺點 044
4.2.5 順序表應用舉例 044
4.3 線性表的鏈式表示與實現 048
4.3.1 單鏈表的存儲結構 048
4.3.2 單鏈表上的基本運算 050
4.3.3 單鏈表存儲結構與順序存儲結構的優缺點 055
4.3.4 單鏈表應用舉例 055
4.4 循環單鏈表 059
4.4.1 循環單鏈表的鏈式存儲 059
4.4.2 循環單鏈表應用舉例 061
4.5 雙向鏈表 063
4.5.1 雙向鏈表的存儲結構 063
4.5.2 雙向鏈表的插入和刪除操作 064
4.6 綜合案例:一元多項式的表示與相乘 066
4.6.1 一元多項式的表示 066
4.6.2 一元多項式相乘 067
第5章 棧與遞歸——一種后進先出的線性結構 071
5.1 棧的表示與實現 072
5.1.1 什么是棧 072
5.1.2 棧的抽象數據類型 073
5.1.3 順序棧 074
5.1.4 鏈棧 077
5.2 棧的應用 080
5.2.1 數制轉換 080
5.2.2 行編輯程序 081
5.2.3 算術表達式求值——計算機如何計算表達式的值 083
5.3 遞歸 090
5.3.1 遞歸——自己調用自己 090
5.3.2 消除遞歸——用棧模擬遞歸調用過程 093
第6章 隊列 097
6.1 隊列的表示與實現 098
6.1.1 隊列的定義 098
6.1.2 隊列的抽象數據類型 099
6.1.3 順序隊列 100
6.1.4 順序循環隊列 101
6.1.5 雙端隊列 104
6.1.6 鏈式隊列 104
6.2 隊列的應用 107
6.2.1 舞伴問題 107
6.2.2 隊列在楊輝三角中的應用 109
6.2.3 隊列在回文中的應用 112
第7章 串——數據為字符串的線性結構 114
7.1 串的定義及抽象數據類型 115
7.1.1 什么是串 115
7.1.2 串的抽象數據類型 116
7.2 串的存儲表示 118
7.2.1 串的順序存儲 118
7.2.2 串的鏈式存儲 119
7.2.3 順序串應用舉例 120
7.3 串的模式匹配 122
7.3.1 樸素模式匹配算法——模式匹配算法Brute-Force 122
7.3.2 KMP 算法 124
7.3.3 模式匹配應用舉例 129
第8章 數組與廣義表 131
8.1 數組的定義及抽象數據類型 132
8.1.1 什么是數組 132
8.1.2 數組的順序存儲結構 133
8.1.3 特殊矩陣的壓縮存儲 134
8.1.4 稀疏矩陣的壓縮存儲 137
8.2 廣義表 145
8.2.1 什么是廣義表 145
8.2.2 廣義表的抽象數據類型 146
8.2.3 廣義表的頭尾鏈表表示 146
8.2.4 廣義表的擴展線性鏈表表示 147
第9章 樹和二叉樹——一對多的數據結構 149
9.1 樹 151
9.1.1 什么是樹 151
9.1.2 樹的邏輯表示 152
9.2 二叉樹 153
9.2.1 什么是二叉樹 153
9.2.2 二叉樹的性質 155
9.2.3 二叉樹的抽象數據類型 156
9.2.4 二叉樹的存儲表示 158
9.3 二叉樹的遍歷 161
9.3.1 什么是二叉樹的遍歷 161
9.3.2 二叉樹的先序遍歷 161
9.3.3 二叉樹的中序遍歷 163
9.3.4 二叉樹的后序遍歷 165
9.3.5 二叉樹的層次遍歷 167
9.3.6 二叉樹遍歷的應用 167
9.4 二叉樹的線索化及應用 169
9.4.1 什么是二叉樹的線索化 169
9.4.2 二叉樹的線索化 171
9.4.3 線索二叉樹的遍歷 172
9.4.4 線索二叉樹的應用舉例 174
9.5 樹、森林與二叉樹 176
9.5.1 樹的存儲結構 176
9.5.2 樹轉換為二叉樹 179
9.5.3 森林轉換為二叉樹 180
9.5.4 二叉樹轉換為樹和森林 181
9.5.5 樹和森林的遍歷 182
9.6 并查集 182
9.6.1 并查集的定義 182
9.6.2 并查集的實現 183
9.6.3 并查集的應用 186
9.7 二叉樹的典型應用——哈夫曼樹 187
9.7.1 哈夫曼樹及應用 187
9.7.2 利用二叉樹求解算術表達式的值 193
第10章 圖——多對多的數據結構類型 199
10.1 圖的定義與相關概念 200
10.1.1 什么是圖 200
10.1.2 圖的相關概念 201
10.1.3 圖的抽象數據類型 204
10.2 圖的存儲結構 205
10.2.1 鄰接矩陣表示法 205
10.2.2 鄰接表表示法 208
10.2.3 十字鏈表表示法 212
10.2.4 鄰接多重表表示法 213
10.3 圖的遍歷 214
10.3.1 圖的深度優先遍歷 214
10.3.2 圖的廣度優先遍歷 217
10.4 圖的連通性問題 219
10.4.1 無向圖的連通分量與生成樹 219
10.4.2 *小生成樹 220
10.5 有向無環圖 226
10.5.1 AOV 網與拓撲排序 226
10.5.2 AOE 網與關鍵路徑 229
10.6 *短路徑 235
10.6.1 從某個頂點到其余各頂點的*短路徑 235
10.6.2 每一對頂點之間的*短路徑 242
第11章 查找 247
11.1 查找的基本概念 248
11.2 靜態查找 249
11.2.1 順序表的查找 249
11.2.2 有序順序表的查找 251
11.2.3 索引順序表的查找 253
11.3 動態查找 254
11.3.1 二叉排序樹 254
11.3.2 平衡二叉樹 260
11.4 B- 樹與B 樹 268
11.4.1 B- 樹 268
11.4.2 B 樹 276
11.5 哈希表 277
11.5.1 哈希表的定義 277
11.5.2 哈希函數的構造方法 278
11.5.3 處理沖突的方法 279
11.5.4 哈希表應用舉例 281
第12章 排序 285
12.1 排序的基本概念 286
12.2 插入排序 287
12.2.1 直接插入排序 288
12.2.2 折半插入排序 289
12.2.3 希爾排序 289
12.2.4 插入排序應用舉例 290
12.3 選擇排序 291
12.3.1 簡單選擇排序 292
12.3.2 堆排序 293
12.4 交換排序 298
12.4.1 冒泡排序 298
12.4.2 快速排序 299
12.4.3 交換排序應用舉例 301
12.5 歸并排序 304
12.6 非比較類排序 306
12.6.1 基數排序 306
12.6.2 桶排序 311
12.6.3 計數排序 314
第13章 回溯算法——深度優先搜索的方法 317
13.1 回溯算法的基本思想 318
13.1.1 問題的解空間 318
13.1.2 回溯算法的求解步驟 319
13.2 和式分解(非遞歸實現) 322
13.3 填字游戲 325
13.4 裝載問題 329
13.5 迷宮求解 333
第14章 遞歸與分治算法——化繁為簡 338
14.1 分治算法的基本思想 339
14.2 簡單遞歸 342
14.2.1 求n 的階乘 342
14.2.2 斐波那契數列 345
14.2.3 求n 個數中的*大者 346
14.2.4 求n 個數的和 347
14.2.5 將十進制整數轉換為二進制數 347
14.2.6 求整數的逆序數 348
14.2.7 求*大公約數 349
14.2.8 求Ackermann 函數的值 350
14.2.9 求C(n ,m ) 的值 350
14.3 復雜遞歸 351
14.3.1 逆置字符串 351
14.3.2 求*大和次大元素 352
14.3.3 求第K 大個數 354
14.3.4 和式分解 355
14.3.5 臺階問題 357
14.3.6 大牛生小牛問題 359
14.3.7 從1~n 自然數中任選r 個數的所有組合數 360
14.3.8 求*大子序列的和 361
14.3.9 找假硬幣問題 363
14.3.10 表達式求值 365
14.3.11 大整數乘法 366
參考文獻 368
- >
中國人在烏蘇里邊疆區:歷史與人類學概述
- >
名家帶你讀魯迅:朝花夕拾
- >
羅曼·羅蘭讀書隨筆-精裝
- >
莉莉和章魚
- >
伊索寓言-世界文學名著典藏-全譯本
- >
新文學天穹兩巨星--魯迅與胡適/紅燭學術叢書(紅燭學術叢書)
- >
詩經-先民的歌唱
- >
二體千字文