數據結構與算法 Rust語言描述

數據結構與算法 Rust語言描述

《數據結構與算法 Rust語言描述》是一本2023年人民郵電出版社出版的圖書,作者是謝波。

基本介紹

  • 中文名:數據結構與算法 Rust語言描述
  • 作者:謝波
  • 出版時間:2023年7月
  • 出版社:人民郵電出版社
  • ISBN:9787115611680
  • 裝幀:平裝-膠訂
內容簡介,圖書目錄,作者簡介,

內容簡介

這是一本基於 Rust 語言講解數據結構及其實現方法的書。全書先介紹 Rust 語言的基礎知識以及計算機科學和算法分析的概念,然後介紹簡單數據結構和算法的設計與實現,接著介紹較複雜的樹和圖數據結構,後將這些知識套用於實戰項目以解決實際問題。
本書適合程式設計愛好者、專業程式設計師以及對 Rust 語言感興趣的讀者閱讀。

圖書目錄

第 1 章 Rust 基礎 1
11 安裝 Rust 及其工具鏈 1
12 Rust 基礎知識 2
121 Rust 語言歷史 2
122 關鍵字、注釋、命名風格 4
123 常量、變數、數據類型 6
124 語句、表達式、運算符、流程控制 10
125 函式、程式結構 13
126 所有權、作用域規則、生命周期 15
127 泛型、trait 20
128 枚舉及模式匹配 22
129 函式式編程 24
1210 智慧型指針 27
1211 異常處理 34
1212 宏系統 36
1213 代碼組織及包依賴關係 37
13 項目:Rust 密碼生成器 39
14 小結 46
第 2 章 計算機科學 47
21 什麼是計算機科學 47
22 什麼是編程 49
23 為什麼要學習數據結構 49
24 為什麼要學習算法 50
25 小結 51
第 3 章 算法分析 52
31 什麼是算法分析 52
32 大 O 分析法 55
33 亂序字元串檢查 58
331 窮舉法 58
332 檢查法 58
333 排序和比較法 60
334 計數和比較法 60
34 Rust 數據結構的性能 62
341 標量類型和複合類型 62
342 集合類型 63
35 小結 64
第 4 章 基礎數據結構 65
41 線性數據結構 65
42 棧 66
421 棧的抽象數據類型 67
422 Rust 實現棧 68
423 括弧匹配 71
424 進制轉換 75
425 前綴、中綴和後綴表達式 78
426 將中綴表達式轉換為前
綴和後綴表達式 80
43 佇列 85
431 佇列的抽象數據類型 86
432 Rust 實現佇列 87
433 燙手山芋遊戲 90
44 雙端佇列 92
441 雙端佇列的抽象數據類型 92
442 Rust 實現雙端佇列 93
443 回文檢測 97
45 鍊表 98
451 鍊表的抽象數據類型 99
452 Rust 實現鍊表 100
453 鍊表棧 104
46 Vec 107
461 Vec 的抽象數據類型 107
462 Rust 實現 Vec 108
47 小結 114
第 5 章 遞歸 115
51 什麼是遞歸 115
511 遞歸三定律 117
512 到任意進制的轉換 118
513 漢諾塔 120
52 尾遞歸 121
53 動態規劃 123
531 什麼是動態規劃 126
532 動態規劃與遞歸 129
54 小結 129
第 6 章 查找 131
61 什麼是查找 131
62 順序查找 132
621 Rust 實現順序查找 132
622 順序查找的複雜度 133
63 二分查找 135
631 Rust 實現二分查找 135
632 二分查找的複雜度 138
633 內插查找 138
634 指數查找 140
64 哈希查找 141
641 哈希函式 142
642 解決哈希衝突 144
643 Rust 實現 HashMap 146
644 HashMap 的複雜度 153
65 小結 153
第 7 章 排序 154
71 什麼是排序 154
72 冒泡排序 155
73 快速排序 160
74 插入排序 164
75 希爾排序 166
76 歸併排序 167
77 選擇排序 170
78 堆排序 171
79 桶排序 174
710 計數排序 177
711 基數排序 179
712 蒂姆排序 181
713 小結 193
第 8 章 樹 195
81 什麼是樹 195
811 樹的定義 198
812 樹的表示 199
813 分析樹 203
814 樹的遍歷 204
82 二叉堆 211
821 二叉堆的抽象數據類型 212
822 Rust 實現二叉堆 212
823 二叉堆分析 219
83 二叉查找樹 219
831 二叉查找樹的抽象數
據類型 219
832 Rust 實現二叉查找樹 220
833 二叉查找樹分析 231
84 平衡二叉樹 232
841 AVL 平衡二叉樹 232
842 Rust 實現平衡二叉樹 34
843 平衡二叉樹分析 245
85 小結 245
第 9 章 圖 246
91 什麼是圖 246
92 圖的存儲形式 247
921 鄰接矩陣 248
922 鄰接表 248
93 圖的抽象數據類型 249
94 圖的實現 249
95 廣度優先搜尋 258
951 實現廣度優先搜尋 258
952 廣度優先搜尋分析 266
953 騎士之旅問題 267
96 深度優先搜尋 273
961 實現深度優先搜尋 274
962 深度優先搜尋分析 277
963 拓撲排序 277
97 強連通分量 284
971 BFS 強連通分量算法 286
972 DFS 強連通分量算法 290
98 短路徑問題 292
981 Dijkstra 算法 293
982 實現 Dijkstra 算法 293
983 Dijkstra 算法分析 296
99 小結 296
第 10 章 實戰 297
101 編輯距離 297
1011 漢明距離 297
1012 萊文斯坦距離 299
102 字典樹 304
103 過濾器 306
1031 布隆過濾器 307
1032 布穀鳥過濾器 310
104 LRU 快取淘汰算法 315
105 一致性哈希算法 320
106 Base58 編碼 324
107 區塊鏈 330
1071 區塊鏈及比特幣原理 330
1072 基礎區塊鏈 331
108 小結 336
參考文獻 337

作者簡介

謝波(Shieber) 畢業於電子科技大學,Rust 語言愛好者,擅長用 Rust開發各種實用工具和系統,長期致力於 Rust 語言的推廣。現就職於某網際網路公司,從事結算及大數據系統的相關研發工作。愛好編程、閱讀、醫學、語言和美食。

相關詞條

熱門詞條

聯絡我們