-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

學習JavaScript數據結構與算法 第2版

( 簡體 字)
作者:[巴西] 洛伊安妮·格羅納(Loiane Groner)類別:1. -> 程式設計 -> 網路編程 -> Javascript
譯者:
出版社:人民郵電出版社學習JavaScript數據結構與算法 第2版 3dWoo書號: 47697
詢問書籍請說出此書號!

缺書
不接受訂購

出版日:9/1/2017
頁數:217
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
不接受訂購
ISBN:9787115467539
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

資料結構與演算法分析入門書 含ES6 ES7新功能 用JS學習常用的資料結構和演算法 高效解決電腦科學中的常見問題


本書首先介紹了JavaScript 語言的基礎知識以及ES6 和ES7 中引入的新功能,接下來討論了陣列、棧、佇列、鏈表、集合、字典、散清單、樹、圖等資料結構,之後探討了各種排序和搜索演算法,包括冒泡排序、選擇排序、插入排序、歸併排序、快速排序、堆排序、計數排序、桶排序、基數排序、循序搜尋、二分搜索,然後介紹了動態規劃和貪心演算法等常用的高-級演算法以及函數式程式設計,zui後還介紹了如何計算演算法的複雜度。

本書適用於前端Web 開發人員,以及所有對JavaScript 資料結構與演算法感興趣的讀者。
目錄:


第1 章 JavaScript 簡介 1

1.1 JavaScript 資料結構與演算法 1

1.2 環境搭建 2

1.2.1 最簡單的環境搭建 2

1.2.2 使用Web 伺服器(XAMPP) 4

1.2.3 使用Node.js 搭建Web 伺服器 5

1.3 JavaScript 基礎 6

1.3.1 變數 7

1.3.2 操作符 9

1.3.3 真值和假值 11

1.3.4 相等操作符(==和===) 12

1.4 控制結構 14

1.4.1 條件陳述式 14

1.4.2 迴圈 15

1.5 函數 16

1.6 JavaScript 物件導向程式設計 17

1.7 調試工具 18

1.8 ECMAScript 概述 19

1.9 ECMAScript 6 的功能 21

1.9.1 用let 替代var 聲明變數 21

1.9.2 常量 23

1.9.3 範本字面量 23

1.9.4 箭頭函數 24

1.9.5 函數的參數預設值 24

1.9.6 聲明展開和剩餘參數 25

1.9.7 使用類進行物件導向程式設計 27

1.10 ECMAScript 7 的功能 29

1.11 小結 30

第2 章 陣列 31

2.1 為什麼用陣列 31

2.2 創建和初始化陣列 32

2.3 添加元素 33

2.3.1 使用push 方法 33

2.3.2 插入元素到陣列首位 34

2.4 刪除元素 34

2.5 在任意位置添加或刪除元素 36

2.6 二維和多維陣列 36

2.6.1 反覆運算二維陣列的元素 37

2.6.2 多維陣列 38

2.7 JavaScript 的陣列方法參考 39

2.7.1 陣列合併 39

2.7.2 反覆運算器函數 40

2.7.3 ECMAScript 6 和陣列的新功能 42

2.7.4 排序元素 46

2.7.5 搜索 48

2.7.6 輸出陣列為字串 49

2.8 類型陣列 50

2.9 小結 51

第3 章 棧 52

3.1 棧資料結構 52

3.1.1 創建棧 53

3.1.2 向棧添加元素 53

3.1.3 從棧移除元素 53

3.1.4 查看棧頂元素 54

3.1.5 檢查棧是否為空 54

3.1.6 清空和列印棧元素 54

3.2 ECMAScript 6 和Stack 類 56

3.3 用棧解決問題 59

3.4 小結 61

第4 章 佇列 62

4.1 佇列資料結構 62

4.2 創建佇列 63

4.2.1 向佇列添加元素 63

4.2.2 從佇列移除元素 63

4.2.3 查看佇列頭元素 64

4.2.4 檢查佇列是否為空 64

4.2.5 列印佇列元素 64

4.3 用ECMAScript 6 語法實現的Queue 類 66

4.4 優先佇列 66

4.5 迴圈佇列——擊鼓傳花 68

4.6 JavaScript 任務佇列 70

4.7 小結 70

第5 章 鏈表 71

5.1 鏈表資料結構 71

5.2 創建鏈表 72

5.2.1 向鏈表尾部追加元素 73

5.2.2 從鏈表中移除元素 75

5.2.3 在任意位置插入元素 77

5.2.4 實現其他方法 79

5.3 雙向鏈表 82

5.3.1 在任意位置插入新元素 82

5.3.2 從任意位置移除元素 85

5.4 迴圈鏈表 87

5.5 小結 88

第6 章 集合 89

6.1 構建資料集合 89

6.2 創建集合 89

6.2.1 has(value)方法 90

6.2.2 add 方法 91

6.2.3 remove 和clear 方法 91

6.2.4 size 方法 92

6.2.5 values 方法 93

6.2.6 使用Set 類 93

6.3 集合操作 94

6.3.1 並集 94

6.3.2 交集 95

6.3.3 差集 97

6.3.4 子集 98

6.4 ES6——Set 類 99

6.5 小結 101

第7 章 字典和散清單 102

7.1 字典 102

7.1.1 創建字典 102

7.1.2 使用Dictionary 類 105

7.2 散列表 106

7.2.1 創建散列表 106

7.2.2 使用HashTable 類 108

7.2.3 散清單和散列集合 109

7.2.4 處理散列表中的衝突 109

7.2.5 創建更好的散列函數 117

7.3 ES6——Map 類 118

7.4 ES6——WeakMap 類和WeakSet 類 118

7.5 小結 119

第8 章 樹 120

8.1 樹資料結構 120

8.2 樹的相關術語 121

8.3 二叉樹和二叉搜尋樹 121

8.3.1 創建BinarySearchTree 類 122

8.3.2 向樹中插入一個鍵 123

8.4 樹的遍歷 126

8.4.1 中序遍歷 126

8.4.2 先序遍歷 127

8.4.3 後序遍歷 128

8.5 搜尋樹中的值 129

8.5.1 搜索最小值和最大值 130

8.5.2 搜索一個特定的值 131

8.5.3 移除一個節點 133

8.6 自平衡樹 137

8.6.1 Adelson-Velskii-Landi 樹(AVL 樹) 137

8.6.2 更多關於二叉樹的知識 143

8.7 小結 143

第9 章 圖 144

9.1 圖的相關術語 144

9.2 圖的表示 146

9.2.1 鄰接矩陣 146

9.2.2 鄰接表 147

9.2.3 關聯矩陣 148

9.3 創建Graph 類 148

9.4 圖的遍歷 150

9.4.1 廣度優先搜索 151

9.4.2 深度優先搜索 156

9.5 最短路徑演算法 162

9.5.1 Dijkstra 演算法 163

9.5.2 Floyd-Warshall 演算法 165

9.6 最小生成樹 166

9.6.1 Prim 演算法 166

9.6.2 Kruskal 演算法 168

9.7 小結 169

第10 章 排序和搜索演算法 170

10.1 排序演算法 170

10.1.1 冒泡排序 171

10.1.2 選擇排序 174

10.1.3 插入排序 175

10.1.4 歸併排序 176

10.1.5 快速排序 179

10.1.6 堆排序 183

10.1.7 計數排序、桶排序和基數排序(分散式排序) 186

10.2 搜索演算法 187

10.2.1 循序搜尋 187

10.2.2 二分搜索 187

10.3 小結 189

第11 章 演算法模式 190

11.1 遞迴 190

11.1.1 JavaScript 調用棧大小的限制 191

11.1.2 斐波那契數列 191

11.2 動態規劃 193

11.2.1 最少硬幣找零問題 194

11.2.2 背包問題 196

11.2.3 最長公共子序列 198

11.2.4 矩陣鏈相乘 200

11.3 貪心演算法 202

11.3.1 最少硬幣找零問題 203

11.3.2 分數背包問題 204

11.4 函數式程式設計簡介 205

11.4.1 函數式程式設計與命令式程式設計 205

11.4.2 ES2015 和函數式程式設計 206

11.4.3 JavaScript 函數式工具箱——

map、filter 和reduce 207

11.4.4 JavaScript 函數式類庫和資料結構 209

11.5 小結 209

第12 章 演算法複雜度 210

12.1 大O 標記法 210

12.1.1 理解大O 標記法 210

12.1.2 時間複雜度比較 212

12.1.3 NP 完全理論概述 214

12.2 用演算法娛樂身心 216

12.3 小結 217
序: