學習JavaScript數據結構與算法( 簡體 字) | |
作者:[巴西] 格羅納 ( Loiane Groner ) | 類別:1. -> 程式設計 -> 網路編程 -> Javascript 2. -> 程式設計 -> 演算法 |
出版社:人民郵電出版社 | 3dWoo書號: 42604 詢問書籍請說出此書號! 有庫存 NT售價: 195 元 |
出版日:10/1/2015 | |
頁數:159 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787115404145 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第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 本書首先介紹了JavaScript語言的基礎知識,接下來討論了數組、棧、隊列、鏈表、集合、字典、散列表、樹、圖等數據結構,之后探討了各種排序和搜索算法,包括冒泡排序、選擇排序、插入排序、歸并排序、快速排序、順序搜索、二分搜索,還介紹了動態規劃和貪心算法等常用的高級算法及相關知識。
|