商品簡介
本書是資料結構與演算法的入門指南,不局限於某種特定語言,略過複雜的數學公式,用通俗易懂的方式針對程式設計初學者介紹資料結構與演算法的基本概念,培養讀者程式設計邏輯。主要內容包括:為什麼要瞭解資料結構與演算法,大O標記法及其代碼優化利用,棧、佇列等的合理使用,等等。
作者簡介
傑伊·溫格羅(Jay Wengrow),經驗豐富的講師、工程師,一直致力於全民程式設計教育。程式設計培訓公司Actualize、教育公司Anyone Can Learn To Code的創始人和CEO。
譯者簡介
袁志鵬
程式師,關注于技術與業務架構設計。
目次
第 1 章 資料結構為何重要 1
1.1 基礎資料結構:陣列 1
1.1.1 讀取 3
1.1.2 查找 5
1.1.3 插入 7
1.1.4 刪除 8
1.2 集合:一條規則決定性能 10
1.3 總結 12
第 2 章 演算法為何重要 13
2.1 有序數組 13
2.2 查找有序數組 15
2.3 二分查找 16
2.4 二分查找與線性查找 19
2.5 總結 20
第 3 章 大O記法 21
3.1 大O:數步數 21
3.2 常數時間與線性時間 22
3.3 同一演算法,不同場景 24
3.4 第三種演算法 24
3.5 對數 25
3.6 解釋O(log N) 26
3.7 實例 27
3.8 總結 28
第 4 章 運用大O來給代碼提速 29
4.1 冒泡排序 29
4.2 冒泡排序實戰 30
4.3 冒泡排序的實現 33
4.4 冒泡排序的效率 35
4.5 二次問題 36
4.6 線性解決 38
4.7 總結 39
第 5 章 用或不用大O來優化代碼 40
5.1 選擇排序 40
5.2 選擇排序實戰 41
5.3 選擇排序的實現 45
5.4 選擇排序的效率 46
5.5 忽略常數 47
5.6 大O的作用 47
5.7 一個實例 48
5.8 總結 49
第 6 章 樂觀地調優 50
6.1 插入排序 50
6.2 插入排序實戰 51
6.3 插入排序的實現 55
6.4 插入排序的效率 56
6.5 平均情況 58
6.6 一個實例 60
6.7 總結 61
第 7 章 查找迅速的散列表 62
7.1 探索散列表 62
7.2 用散列函數來做散列 63
7.3 一個好玩又賺錢的同義詞典 64
7.4 處理衝突 65
7.5 找到平衡 68
7.6 一個實例 69
7.7 總結 72
第 8 章 用棧和佇列來構造靈巧的代碼 73
8.1 棧 73
8.2 棧實戰 75
8.3 佇列 79
8.4 佇列實戰 80
8.5 總結 81
第 9 章 遞迴 82
9.1 用遞迴代替迴圈 82
9.2 基準情形 83
9.3 閱讀遞迴代碼 84
9.4 電腦眼中的遞迴 86
9.5 遞迴實戰 87
9.6 總結 89
第 10 章 飛快的遞迴演算法 90
10.1 分區 90
10.2 快速排序 94
10.3 快速排序的效率 98
10.4 最壞情況 101
10.5 快速選擇 103
10.6 總結 105
第 11 章 基於結點的資料結構 106
11.1 鏈表 106
11.2 實現一個鏈表 107
11.3 讀取 108
11.4 查找 109
11.5 插入 110
11.6 刪除 112
11.7 鏈表實戰 114
11.8 雙向鏈表 115
11.9 總結 118
第 12 章 讓一切操作都更快的二叉樹 119
12.1 二叉樹 119
12.2 查找 121
12.3 插入 124
12.4 刪除 126
12.5 二叉樹實戰 132
12.6 總結 133
第 13 章 連接萬物的圖 134
13.1 圖 134
13.2 廣度優先搜索 136
13.3 圖資料庫 144
13.4 加權圖 146
13.5 Dijkstra 演算法 148
13.6 總結 154
第 14 章 對付空間限制 155
14.1 描述空間複雜度的大O記法 155
14.2 時間和空間之間的權衡 157
14.3 寫在最後的話 158
主題書展
更多主題書展
更多書展本週66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。