數據結構與算法分析新視角, 2/e
周幸妮 等
- 出版商: 電子工業
- 出版日期: 2021-01-01
- 定價: $534
- 售價: 7.9 折 $422
- 語言: 簡體中文
- 頁數: 516
- 裝訂: 平裝
- ISBN: 7121403676
- ISBN-13: 9787121403675
-
相關分類:
Algorithms-data-structures
立即出貨
買這商品的人也買了...
-
類神經網路與模糊控制理論入門與應用$350$315 -
無瑕的程式碼-敏捷軟體開發技巧守則 + 番外篇-專業程式設計師的生存之道 (雙書合購)$940$700 -
$607分佈式實時系統 -
精通 Python|運用簡單的套件進行現代運算 (Introducing Python: Modern Computing in Simple Packages)$780$616 -
機器學習$648$616 -
$474深入理解機器學習:從原理到算法 (Understanding Machine Learning : From Theory to Algorithms) -
$280神經網絡與深度學習 -
$474深度學習 : Caffe 之經典模型詳解與實戰 -
$245深度學習:原理與應用實踐 -
深度學習快速入門 — 使用 TensorFlow (Getting started with TensorFlow)
$360$281 -
無瑕的程式碼-敏捷完整篇-物件導向原則、設計模式與 C# 實踐 (Agile principles, patterns, and practices in C#)$790$616 -
$450視覺 SLAM 十四講:從理論到實踐 -
TensorFlow + Keras 深度學習人工智慧實務應用$590$460 -
Soft Skills 軟實力|軟體開發人員的生存手冊 (Soft Skills: The software developer's life manual)$520$411 -
為你自己學 Git$500$390 -
無瑕的程式碼-整潔的軟體設計與架構篇 (Clean Architecture: A Craftsman's Guide to Software Structure and Design)$580$452 -
$403智能車製作 : 從元器件、機電系統、控制算法到完整的智能車設計 -
I'm From Taiwan / Programmer 阿喵宅造型貼紙7X7公分 (粉色)$69$60 -
$454AR 開發權威指南 : 基於 AR Foundation -
阿喵宅開發順利春聯 2入$68$68 -
白話演算法!培養程式設計的邏輯思考 (Grokking Algorithms: An illustrated guide for programmers and other curious people)$520$468 -
比 Docker 再高階一步:使用 Harbor 完成 Helm Chart 容器及鏡像雲端原生管理$880$695 -
資料科學的建模基礎 : 別急著 coding!你知道模型的陷阱嗎?$599$539 -
$509Final Cut Pro 視頻後期剪輯零基礎入門到精通 -
硬件設備安全攻防實戰$719$683
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
數據結構是高等學校電腦及其相關專業的核心課程,是電腦程序設計的基礎。
本書按照"像外行一樣思考,像專家一樣實踐”的解決問題的思維方法,基於學習者的認知規律,列舉大量實際或工程案例,從具體問題中引出抽象概念,運用類比、圖形化描述等方式,對經典數據結構內容做深入淺出的介紹。
在介紹數據結構和算法的基本概念和算法分析方法的基礎上,從軟件開發的角度,通過應用背景或知識背景介紹、數據分析、函數設計、算法設計、測試調試等環節,分別對順序表、鏈表、棧、隊列、串、數組、樹、圖等基本類型的數據結構進行了分析和討論;
介紹數據的典型操作方法,如數據排序方法和查找方法;
介紹常見的如遞歸、分治法、動態規劃、貪心法等經典算法。
作者簡介
周幸妮
西安電子科技大學通信工程學院副教授,長期從事“數據結構”、“C程序設計語言”等課程的教學工作,著有《C程序設計》、等教材。
目錄大綱
第1章 緒論 1
1.1 從編程說起 1
1.1.1 計算機解題的一般步驟 1
1.1.2 從程序設計角度看數據與數據的處理 2
1.1.3 程序設計方法 3
1.1.4 程序開發過程 3
1.2 程序要處理的數據 4
1.2.1 數值計算與非數值計算的概念 5
1.2.2 數值計算實例 5
1.2.3 非數值計算實例―表 6
1.2.4 非數值計算實例―圖 9
1.2.5 非數值計算實例―樹 10
1.3 數據結構的引入 11
1.4 數據結構的基本概念 12
1.4.1 數據結構的基本術語 12
1.4.2 數據結構的三個要素 12
1.5 如何設計算法 15
1.5.1 算法的定義與表示方法 15
1.5.2 算法設計與函數設計的關係 16
1.5.3 軟件設計方法 17
1.5.4 算法設計的一般步驟 18
1.6 如何評價算法的優劣 21
1.6.1 算法的設計要求 21
1.6.2 算法效率的度量方法 22
1.7 算法性能的事前分析方法 23
1.7.1 問題的規模與算法的策略 24
1.7.2 算法效率的上限與下限 25
1.7.3 上下限問題的數學描述 26
1.7.4 漸近的上限―算法的時間複雜度 29
1.7.5 算法時間複雜度的綜合討論 30
1.7.6 算法的空間效率分析方法 34
1.7.7 算法效率分析的綜合例子 37
1.8 算法性能綜合考量 39
1.9 本章小結 40
習題 40
第2章 結點邏輯關係為線性的結構―線性表 43
2.1 從邏輯結構角度看線性表 43
2.1.1 實際問題中的線性關係 43
2.1.2 線性表的邏輯結構 44
2.2 線性表的存儲結構方法之一―順序表 45
2.2.1 順序表的存儲結構設計 45
2.2.2 關於結構類型應用的思考與討論 47
2.2.3 順序表的運算 49
2.2.4 順序存儲結構的討論 56
2.3 線性表的存儲結構方法之二―鍊錶 56
2.3.1 問題的引入 56
2.3.2 單鍊錶的存儲 59
2.3.3 單鍊錶的運算 65
2.3.4 單鍊錶的討論 78
2.3.5 循環鍊錶 79
2.3.6 雙向鍊錶 82
2.3.7 靜態鍊錶 83
2.3.8 鍊錶小結 83
2.4 線性表應用舉例 84
2.4.1 逆序輸出單鍊錶結點值 84
2.4.2 一元多項式的相加 85
2.5 順序表和鍊錶的比較 92
2.6 本章小結 93
習題 93
第3章 運算受限的線性表―棧和隊列 97
3.1 棧―按先進後出方式管理的線性表 97
3.1.1 棧處理模式的引入 97
3.1.2 棧的邏輯結構 100
3.1.3 棧的存儲結構設計 102
3.1.4 順序棧的操作 103
3.1.5 鏈棧的基本操作 114
3.1.6 各種棧結構的比較 119
3.1.7 棧的應用舉例 119
3.2 隊列―按先進先出方式管理的線性表 127
3.2.1 隊列處理模式的引入 127
3.2.2 隊列的邏輯結構 130
3.2.3 隊列的順序存儲結構 131
3.2.4 順序隊列的基本操作 143
3.2.5 隊列的鍊式存儲結構 147
3.2.6 鏈隊列的基本操作 148
3.2.7 各種隊列結構的比較 156
3.2.8 優先隊列 156
3.2.9 隊列的應用舉例 156
3.3 本章小結 168
習題 169
第4章 內容特殊的線性表―多維數組與字符串 171
4.1 多維數組 171
4.1.1 數組的概念 171
4.1.2 數組的存儲結構 172
4.2 矩陣的壓縮存儲 175
4.2.1 對稱矩陣的壓縮存儲 176
4.2.2 三角矩陣的壓縮存儲 177
4.2.3 對角矩陣的壓縮存儲 178
4.2.4 稀疏矩陣的壓縮存儲 179
4.3 字符串 183
4.3.1 字符串的概念 184
4.3.2 字符串的存儲結構 185
4.3.3 字符串的查找―模式匹配 189
4.3.4 BF算法 190
4.3.5 KMP算法 196
4.4 本章小結 204
習題 205
第5章 結點邏輯關係分層次的非線性結構―樹 208
5.1 實際問題中的樹形結構 208
5.1.1 日常生活中的樹形結構 208
5.1.2 計算機中的目錄結構 209
5.1.3 網站的樹形結構 209
5.1.4 表達式樹 210
5.2 樹的邏輯結構 210
5.2.1 樹的定義和基本術語 210
5.2.2 樹的操作定義 213
5.3 樹的存儲結構 213
5.3.1 樹的連續存儲方式 214
5.3.2 樹的鍊式存儲方式 215
5.4 二叉樹的邏輯結構 218
5.4.1 二叉樹與普通樹的轉換 218
5.4.2 二叉樹的概念 220
5.4.3 二叉樹的基本性質 222
5.4.4 二叉樹的操作定義 222
5.5 二叉樹的存儲結構及實現 223
5.5.1 二叉樹的順序結構 223
5.5.2 二叉樹的鍊式存儲結構 224
5.5.3 建立動態二叉鍊錶 226
5.6 二叉樹結點的查找問題―樹的遍歷 230
5.6.1 問題引例 230
5.6.2 樹的廣度優先遍歷 233
5.6.3 樹的深度優先遍歷 235
5.6.4 樹的遍歷的應用 243
5.7 樹的應用 248
5.7.1 表達式樹 248
5.7.2 線索二叉樹 249
5.7.3 哈夫曼樹及哈夫曼編碼 254
5.8 線性與非線性結構的集合―廣義表 268
5.8.1 廣義表的定義 269
5.8.2 廣義表的存儲 271
5.8.3 廣義表的基本運算 277
5.9 本章小結 280
習題 281
第6章 結點邏輯關係任意的非線性結構―圖 285
6.1 實際問題中的圖及抽象 285
6.2 圖的邏輯結構 289
6.2.1 圖的定義和基本術語 289
6.2.2 圖的基本術語 290
6.2.3 圖的操作定義 292
6.3 圖的存儲結構及實現 292
6.3.1 圖的數組表示法1―鄰接矩陣 293
6.3.2 圖的數組表示法2―邊集數組 295
6.3.3 圖的鍊錶表示法1―鄰接表 296
6.3.4 圖的鍊錶表示法2―十字鍊錶 301
6.3.5 圖的鍊錶表示法3―鄰接多重表 302
6.3.6 圖各種存儲結構的歸結比較 304
6.4 圖的基本操作 305
6.4.1 鄰接矩陣的操作 305
6.4.2 鄰接表的操作 307
6.4.3 圖的運算實例 309
6.5 圖的頂點查找問題―圖的遍歷 313
6.5.1 問題的引入 313
6.5.2 圖的廣度優先遍歷―BFS 314
6.5.3 圖的深度優先遍歷―DFS 318
6.6 圖的經典應用―圖中的樹問題 324
6.6.1 引例 324
6.6.2 生成樹 326
6.6.3 最小生成樹 327
6.6.4 求最小生成樹算法1―Prim算法 328
6.6.5 求最小生成樹算法2―Kruskal算法 334
6.6.6 生成樹算法小結 341
6.7 圖的經典應用―最短路徑問題 341
6.7.1 最短路徑問題的引入 341
6.7.2 單源最短路徑算法―Dijkstra算法 343
6.7.3 各頂點對間最短路徑算法―Floyd算法 348
6.7.4 最短路徑問題小結 353
6.8 圖的經典應用―活動頂點與活動邊的問題 354
6.8.1 圖的活動頂點排序問題的引入 354
6.8.2 AOV網與拓撲排序―活動頂點排序問題 356
6.8.3 AOE網與關鍵路徑―活動邊最長問題 362
6.8.4 活動頂點與活動邊問題小結 373
6.9 本章小結 373
習題 374
第7章 數據的處理方法―排序技術 380
7.1 概述 380
7.1.1 排序的基本概念 380
7.1.2 排序算法的分類 382
7.2 插入排序 382
7.2.1 直接插入排序 382
7.2.2 希爾排序 385
7.3 交換排序 387
7.3.1 冒泡排序 387
7.3.2 快速排序 389
7.4 選擇排序 393
7.4.1 簡單選擇排序 393
7.4.2 堆排序 394
7.5 歸併排序 398
7.6 分配排序 402
7.6.1 桶排序 402
7.6.2 基數排序 405
7.7 各種排序算法的比較 408
7.8 本章小結 411
習題 411
第8章 數據的處理方法―索引與查找技術 414
8.1 索引的基本概念 415
8.1.1 索引的定義 416
8.1.2 表示索引的邏輯結構 416
8.1.3 索引的主要操作 417
8.2 線性索引技術 417
8.2.1 稠密索引 417
8.2.2 分塊索引 418
8.2.3 分級索引 419
8.2.4 多重表 420
8.2.5 倒排表 422
8.3 樹形索引 424
8.3.1 二叉排序樹 424
8.3.2 B樹 428
8.4 查找概述 430
8.4.1 查找的基本概念 431
8.4.2 查找算法的性能 431
8.5 線性表的查找技術 432
8.5.1 順序查找 432
8.5.2 有序表查找 433
8.5.3 索引查找 437
8.6 樹表的查找技術 439
8.6.1 二叉排序樹的查找 439
8.6.2 B樹的查找 439
8.6.3 在非數值有序表上的查找―字典樹 440
8.7 散列表存儲及其查找技術 442
8.7.1 問題引入 442
8.7.2 散列概述 443
8.7.3 散列函數的設計 446
8.7.4 處理衝突的方法 447
8.7.5 散列查找的性能分析 452
8.8 本章小結 454
習題 455
第9章 經典算法 457
9.1 遞歸―有去有回的過程 457
9.1.1 “先進後出”的遞歸 457
9.1.2 遞歸的計算機實現 458
9.1.3 遞歸方法特點分析 460
9.1.4 遞歸算法實例 462
9.1.5 遞歸小結 464
9.2 分治法―分而治之策略 464
9.2.1 分治法 464
9.2.2 分治法的適用條件 465
9.2.3 分治問題的類型 465
9.2.4 分治法小結 468
9.3 動態規劃―多段決策法 468
9.3.1 動態規劃 468
9.3.2 動態規劃的解題方法 470
9.3.3 動態規劃解題實例 473
9.3.4 動態規劃小結 478
9.4 貪心算法―局部最優解法 478
9.4.1 貪心算法 478
9.4.2 貪心算法經典問題 480
9.4.3 貪心算法小結 482
9.5 回溯法―深度優先搜索解空間 483
9.5.1 回溯法 483
9.5.2 回溯法實例 484
9.5.3 回溯法小結 488
9.6 分支限界法―廣度優先搜索解空間 488
9.6.1 分支限界法簡介 488
9.6.2 分支限界法的求解思想 490
9.6.3 分支限界法經典問題 491
9.6.4 分支限界法小結 493
9.7 本章小結 494
習題 494
附錄A 數據的聯繫 496
