《學習JavaScript資料結構與演算法》電子書,建議儲存下來

書籍簡介

《學習JavaScript資料結構與演算法》電子書,建議儲存下來

學習JavaScript資料結構與演算法

作者

: [巴西] 格羅納(Loiane Groner)

出版社:

人民郵電出版社

原作名:

Learning JavaScript Data Structures and Algorithms

譯者

: 孫曉博 / 鄧鋼 / 吳雙 / 陳迪 / 袁源

出版年:

2015-10-1

頁數:

159

定價:

39。00

裝幀:

平裝

叢書:

圖靈程式設計叢書·Web開發系列

ISBN:

9787115404145

獲取方法

關注微信公眾號:

申霖

,傳送:

0948

目錄· · · · · ·

第1 章 JavaScript 簡介 1

1。1 環境搭建 1

1。1。1 瀏覽器 2

1。1。2 使用Web 伺服器(XAMPP) 3

1。1。3 使用Node。js 搭建Web 伺服器 4

1。2 JavaScript 基礎 6

1。2。1 變數 7

1。2。2 運算子 8

1。2。3 真值和假值 11

1。2。4 相等運算子(==和===) 12

1。3 控制結構 13

1。3。1 條件語句 14

1。3。2 迴圈 15

1。4 函式 16

1。5 面向物件程式設計 16

1。6 除錯工具 18

1。7 小結 18

第2 章 陣列 19

2。1 為什麼用陣列 19

2。2 建立和初始化陣列 20

2。3 新增和刪除元素 21

2。4 二維和多維陣列 24

2。5 JavaScript 的陣列方法參考 26

2。5。1 數組合並 27

2。5。2 迭代器函式 27

2。5。3 搜尋和排序 28

2。5。4 輸出陣列為字串 31

2。6 小結 32

第3 章 棧 33

3。1 棧的建立 33

3。2 從十進位制到二進位制 38

3。3 小結 39

第4 章 佇列 40

4。1 建立佇列 40

4。1。1 完整的Queue 類 42

4。1。2 使用Queue 類 43

4。2 優先佇列 44

4。3 迴圈佇列——擊鼓傳花 46

4。4 小結 47

第5 章 連結串列 48

5。1 建立一個連結串列 49

5。1。1 向連結串列尾部追加元素 50

5。1。2 從連結串列中移除元素 52

5。1。3 在任意位置插入一個元素 54

5。1。4 實現其他方法 56

5。2 雙向連結串列 58

5。2。1 在任意位置插入一個新元素 59

5。2。2 從任意位置移除元素 61

5。3 迴圈連結串列 64

5。4 小結 64

第6 章 集合 65

6。1 建立一個集合 65

6。1。1 has(value)方法 66

6。1。2 add 方法 66

6。1。3 remove 和clear 方法 67

6。1。4 size 方法 68

6。1。5 values 方法 69

6。1。6 使用Set 類 69

6。2 集合操作 70

6。2。1 並集 70

6。2。2 交集 71

6。2。3 差集 72

6。2。4 子集 73

6。3 小結 74

第7 章 字典和散列表 75

7。1 字典 75

7。1。1 建立一個字典 75

7。1。2 使用Dictionary 類 78

7。2 散列表 79

7。2。1 建立一個散列表 79

7。2。2 使用HashTable 類 81

7。2。3 散列表和雜湊集合 82

7。2。4 處理散列表中的衝突 82

7。2。5 建立更好的雜湊函式 90

7。3 小結 91

第8 章 樹 92

8。1 樹的相關術語 92

8。2 二叉樹和二叉搜尋樹 93

8。2。1 建立BinarySearchTree 類 94

8。2。2 向樹中插入一個鍵 95

8。3 樹的遍歷 98

8。3。1 中序遍歷 98

8。3。2 先序遍歷 99

8。3。3 後序遍歷 100

8。4 搜尋樹中的值 101

8。4。1 搜尋最小值和最大值 101

8。4。2 搜尋一個特定的值 103

8。4。3 移除一個節點 104

8。5 更多關於二叉樹的知識 108

8。6 小結 109

第9 章 圖 110

9。1 圖的相關術語 110

9。2 圖的表示 112

9。2。1 鄰接矩陣 112

9。2。2 鄰接表 113

9。2。3 關聯矩陣 114

9。3 建立圖類 114

9。4 圖的遍歷 116

9。4。1 廣度優先搜尋 117

9。4。2 深度優先搜尋 122

9。5 小結 128

第10 章 排序和搜尋演算法 129

10。1 排序演算法 129

10。1。1 氣泡排序 130

10。1。2 選擇排序 133

10。1。3 插入排序 134

10。1。4 歸併排序 135

10。1。5 快速排序 138

10。2 搜尋演算法 142

10。2。1 順序搜尋 143

10。2。2 二分搜尋 143

10。3 小結 145

第11 章 演算法補充知識 146

11。1 遞迴146

11。1。1 JavaScript 呼叫棧大小的

限制 147

11。1。2 斐波那契數列 147

11。2 動態規劃 149

11。3 貪心演算法 152

11。4 大O 表示法 153

11。4。1 理解大O 表示法 153

11。4。2 時間複雜度比較 155

11。5 用演算法娛樂身心 156

11。6 小結 157

附錄A 時間複雜度速查表 158

致謝 160