書籍簡介
學習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