學習JavaScript數據結構與演算法 学习JavaScript数据结构与算法

[巴西] 格羅納

下單後立即進貨 (約4週~6週)

買這商品的人也買了...

相關主題

商品描述

 

<內容簡介>

格羅納、孫曉博、鄧鋼、吳雙、陳迪、袁源編著的《學習JavaScript數據結構與演算法》首先介紹了JavaScript語言的基礎知識,接下來討論了數組、棧、隊列、鏈表、集合、字典、散列表、樹、圖等數據結構,之後探討了各種排序和搜索演算法,包括冒泡排序、選擇排序、插入排序、歸併排序、快速排序、順序搜索、二分搜索,還介紹了動態規劃和貪心演算法等常用的高級演算法及相關知識。
本書適用於前端Web開發人員,以及所有對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  時間複雜度速查表
致謝