學習JavaScript數據結構與算法

學習JavaScript數據結構與算法
定價:234
NT $ 204
 

內容簡介

本書首先介紹了JavaScript語言的基礎知識,接下來討論了數組、棧、隊列、鏈表、集合、字典、散列表、樹、圖等數據結構,之后探討了各種排序和搜索算法,包括冒泡排序、選擇排序、插入排序、歸並排序、快速排序、順序搜索、二分搜索,還介紹了動態規划和貪心算法等常用的高級算法及相關知識。
 

目錄

第1章 JavaScript 簡介
1.1 環境搭建
1.1.1 瀏覽器
1.1.2 使用Web 服務器(XAMPP)
1.1.3 使用Node.js 搭建Web 服務器
1.2 JavaScript 基礎
1.2.1 變量
1.2.2 操作符
1.2.3 真值和假值
1.2.4 相等操作符(==和===)
1.3 控制結構
1.3.1 條件語句
1.3.2 循環
1.4 函數
1.5 面向對象編程
1.6 調試工具
1.7 小結

第2章 數組
2.1 為什麼用數組
2.2 創建和初始化數組
2.3 添加和刪除元素
2.4 二維和多維數組
2.5 JavaScript 的數組方法參考
2.5.1 數組合並
2.5.2 迭代器函數
2.5.3 搜索和排序
2.5.4 輸出數組為字符串
2.6 小結

第3章 棧
3.1 棧的創建
3.2 從十進制到二進制
3.3 小結

第4章 隊列
4.1 創建隊列
4.1.1 完整的Queue 類
4.1.2 使用Queue 類
4.2 優先隊列
4.3 循環隊列——擊鼓傳花
4.4 小結

第5章 鏈表
5.1 創建一個鏈表
5.1.1 向鏈表尾部追加元素
5.1.2 從鏈表中移除元素
5.1.3 在任意位置插入一個元素
5.1.4 實現其他方法
5.2 雙向鏈表
5.2.1 在任意位置插入一個新元素
5.2.2 從任意位置移除元素
5.3 循環鏈表
5.4 小結

第6章 集合
6.1 創建一個集合
6.1.1 has(value)方法
6.1.2 add 方法
6.1.3 remove 和clear 方法
6.1.4 size 方法
6.1.5 values 方法
6.1.6 使用Set 類
6.2 集合操作
6.2.1 並集
6.2.2 交集
6.2.3 差集
6.2.4 子集
6.3 小結

第7章 字典和散列表
7.1 字典
7.1.1 創建一個字典
7.1.2 使用Dictionary 類
7.2 散列表
7.2.1 創建一個散列表
7.2.2 使用HashTable 類
7.2.3 散列表和散列集合
7.2.4 處理散列表中的沖突
7.2.5 創建更好的散列函數
7.3 小結

第8章 樹
8.1 樹的相關術語
8.2 二叉樹和二叉搜索樹
8.2.1 創建BinarySearchTree 類
8.2.2 向樹中插入一個鍵
8.3 樹的遍歷
8.3.1 中序遍歷
8.3.2 先序遍歷
8.3.3 后序遍歷
8.4 搜索樹中的值
8.4.1 搜索最小值和最大值
8.4.2 搜索一個特定的值
8.4.3 移除一個節點
8.5 更多關於二叉樹的知識
8.6 小結

第9章 圖
9.1 圖的相關術語
9.2 圖的表示
9.2.1 鄰接矩陣
9.2.2 鄰接表
9.2.3 關聯矩陣
9.3 創建圖類
9.4 圖的遍歷
9.4.1 廣度優先搜索
9.4.2 深度優先搜索
9.5 小結

第10章 排序和搜索算法
10.1 排序算法
10.1.1 冒泡排序
10.1.2 選擇排序
10.1.3 插入排序
10.1.4 歸並排序
10.1.5 快速排序
10.2 搜索算法
10.2.1 順序搜索
10.2.2 二分搜索
10.3 小結

第11章 算法補充知識
11.1 遞歸
11.1.1 JavaScript 調用棧大小的限制
11.1.2 斐波那契數列
11.2 動態規划
11.3 貪心算法
11.4 大O 表示法
11.4.1 理解大O 表示法
11.4.2 時間復雜度比較
11.5 用算法娛樂身心
11.6 小結

附錄A 時間復雜度速查表
致謝
網路書店 類別 折扣 價格
  1. 新書
    87
    $204