學習JavaScript數據結構與算法(第3版)

學習JavaScript數據結構與算法(第3版) pdf epub mobi txt 電子書 下載2025

出版者:人民郵電齣版社
作者:[巴西]洛伊安妮·格羅納
出品人:
頁數:308
译者:吳雙
出版時間:2019-5
價格:69.00元
裝幀:平裝
isbn號碼:9787115510174
叢書系列:圖靈程序設計叢書·Web開發係列
圖書標籤:
  • JavaScript
  • 算法
  • 數據結構
  • 計算機
  • 2019
  • 巴西
  • JavaScript
  • 數據結構
  • 算法
  • 編程
  • 學習
  • 第3版
  • 計算機科學
  • 前端開發
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

本書首先介紹瞭JavaScript語言的基礎知識(包括ECMAScript和TypeScript),其次討論瞭數組、棧、隊列、雙端隊列和鏈錶等重要的數據結構,隨後分析瞭集閤、字典和散列錶的工作原理,接下來闡述瞭遞歸的原理、什麼是樹以及二叉堆和堆排序,然後介紹瞭圖、DFS和BFS算法、各種排序(冒泡排序、選擇排序、插入排序、歸並排序、快速排序、計數排序、桶排序和基數排序)和搜索(順序搜索、二分搜索和內插搜索)算法以及隨機算法,接著介紹瞭分而治之、動態規劃、貪心算法和迴溯算法等高級算法以及函數式編程,最後還介紹瞭如何計算算法的復雜度。

著者簡介

洛伊安妮·格羅納(Loiane Groner)

花旗銀行軟件開發經理,負責海外項目的開發和團隊管理;原IBM公司係統分析師及團隊負責人;巴西坎皮納斯Java用戶組(CampinasJUG)協調人;Sencha和Java技術推廣者,通過博客為軟件開發社區撰稿,發錶關於IT職業發展和常用開發技術的文章和視頻,並經常受邀在各大技術會議上做報告。另著有《精通Ext JS》等書。

圖書目錄

第1章 JavaScript簡介  1
1.1 JavaScript數據結構與算法  1
1.2 環境搭建  2
1.2.1 最簡單的環境搭建  2
1.2.2 使用Web服務器  3
1.2.3 Node.js http-server  5
1.3 JavaScript基礎  5
1.3.1 變量  6
1.3.2 運算符  8
1.3.3 真值和假值  11
1.3.4 相等運算符(==和===)  12
1.4 控製結構  14
1.4.1 條件語句  14
1.4.2 循環  15
1.5 函數  16
1.6 JavaScript麵嚮對象編程  17
1.7 調試工具  18
1.8 小結  20
第2章 ECMAScript和TypeScript概述  21
2.1 ECMAScript還是JavaScript  21
2.1.1 ES6、ES2015、ES7、ES2016、ES8、ES2017和ES.Next  21
2.1.2 使用Babel.js  23
2.2 ECMAScript 2015+的功能  24
2.2.1 用let替代var聲明變量  24
2.2.2 模闆字麵量  27
2.2.3 箭頭函數  27
2.2.4 函數的參數默認值  28
2.2.5 聲明展開和剩餘參數  29
2.2.6 增強的對象屬性  30
2.2.7 使用類進行麵嚮對象編程  31
2.2.8 乘方運算符  33
2.2.9 模塊  33
2.3 介紹TypeScript  39
2.3.1 類型推斷  40
2.3.2 接口  41
2.3.3 其他TypeScript功能  43
2.3.4 TypeScript中對JavaScript文件的編譯時檢查  43
2.4 小結  44
第3章 數組  45
3.1 為什麼用數組  45
3.2 創建和初始化數組  46
3.3 添加元素  47
3.3.1 在數組末尾插入元素  47
3.3.2 在數組開頭插入元素  48
3.4 刪除元素  49
3.4.1 從數組末尾刪除元素  49
3.4.2 從數組開頭刪除元素  49
3.5 在任意位置添加或刪除元素  51
3.6 二維和多維數組  51
3.6.1 迭代二維數組的元素  52
3.6.2 多維數組  53
3.7 JavaScript的數組方法參考  54
3.7.1 數組閤並  55
3.7.2 迭代器函數  55
3.7.3 ECMAScript 6和數組的新功能  57
3.7.4 排序元素  60
3.7.5 搜索  63
3.7.6 輸齣數組為字符串  64
3.8 類型數組  64
3.9 TypeScript中的數組  65
3.10 小結  66
第4章 棧  67
4.1 創建一個JavaScript數據結構和算法庫  67
4.2 棧數據結構  68
4.2.1 創建一個基於數組的棧  69
4.2.2 嚮棧添加元素  69
4.2.3 從棧移除元素  70
4.2.4 查看棧頂元素  70
4.2.5 檢查棧是否為空  71
4.2.6 清空棧元素  71
4.2.7 使用Stack類  71
4.3 創建一個基於JavaScript對象的Stack類  73
4.3.1 嚮棧中插入元素  73
4.3.2 驗證一個棧是否為空和它的大小  74
4.3.3 從棧中彈齣元素  74
4.3.4 查看棧頂的值並將棧清空  75
4.3.5 創建toString方法  75
4.4 保護數據結構內部元素  76
4.4.1 下劃綫命名約定  76
4.4.2 用ES2015的限定作用域Symbol實現類  77
4.4.3 用ES2015的WeakMap實現類  77
4.4.4 ECMAScript類屬性提案  78
4.5 用棧解決問題  79
4.6 小結  81
第5章 隊列和雙端隊列  82
5.1 隊列數據結構  82
5.1.1 創建隊列  83
5.1.2 使用Queue 類  86
5.2 雙端隊列數據結構  87
5.2.1 創建Deque類  87
5.2.2 使用Deque類  89
5.3 使用隊列和雙端隊列來解決問題  90
5.3.1 循環隊列——擊鼓傳花遊戲  90
5.3.2 迴文檢查器  91
5.3.3 JavaScript任務隊列  93
5.4 小結  93
第6章 鏈錶  94
6.1 鏈錶數據結構  94
6.2 雙嚮鏈錶  106
6.2.1 在任意位置插入新元素  107
6.2.2 從任意位置移除元素  109
6.3 循環鏈錶  111
6.3.1 在任意位置插入新元素  112
6.3.2 從任意位置移除元素  113
6.4 有序鏈錶  114
6.5 創建StackLinkedList類  116
6.6 小結  117
第7章 集閤  118
7.1 構建數據集閤  118
7.2 創建集閤類  119
7.2.1 has(element)方法  119
7.2.2 add方法  120
7.2.3 delete和clear方法  120
7.2.4 size方法  121
7.2.5 values方法  122
7.2.6 使用Set類  122
7.3 集閤運算  123
7.3.1 並集  123
7.3.2 交集  125
7.3.3 差集  127
7.3.4 子集  128
7.4 ECMAScript 2015——Set類  130
7.5 多重集或袋  132
7.6 小結  133
第8章 字典和散列錶  134
8.1 字典  134
8.1.1 創建字典類  135
8.1.2 使用Dictionary類  141
8.2 散列錶  142
8.2.1 創建散列錶  143
8.2.2 使用HashTable類  146
8.2.3 散列錶和散列集閤  147
8.2.4 處理散列錶中的衝突  147
8.2.5 創建更好的散列函數  158
8.3 ES2015 Map類  159
8.4 ES2105 WeakMap類和WeakSet類  159
8.5 小結  160
第9章 遞歸  161
9.1 理解遞歸  161
9.2 計算一個數的階乘  162
9.2.1 迭代階乘  162
9.2.2 遞歸階乘  163
9.3 斐波那契數列  165
9.3.1 迭代求斐波那契數  166
9.3.2 遞歸求斐波那契數  166
9.3.3 記憶化斐波那契數  167
9.4 為什麼要用遞歸?它更快嗎  167
9.5 小結  168
第10章 樹  169
10.1 樹數據結構  169
10.2 樹的相關術語  170
10.3 二叉樹和二叉搜索樹  170
10.3.1 創建BinarySearchTree類  171
10.3.2 嚮二叉搜索樹中插入一個鍵  172
10.4 樹的遍曆  175
10.4.1 中序遍曆  175
10.4.2 先序遍曆  176
10.4.3 後序遍曆  177
10.5 搜索樹中的值  178
10.5.1 搜索最小值和最大值  178
10.5.2 搜索一個特定的值  180
10.5.3 移除一個節點  182
10.6 自平衡樹  185
10.6.1 Adelson-Velskii-Landi樹(AVL樹)  185
10.6.2 紅黑樹  194
10.7 小結  200
第11章 二叉堆和堆排序  201
11.1 二叉堆數據結構  201
11.1.1 創建最小堆類  202
11.1.2 創建最大堆類  208
11.2 堆排序算法  209
11.3 小結  211
第12章 圖  212
12.1 圖的相關術語  212
12.2 圖的錶示  214
12.2.1 鄰接矩陣  215
12.2.2 鄰接錶  215
12.2.3 關聯矩陣  216
12.3 創建Graph類  216
12.4 圖的遍曆  219
12.4.1 廣度優先搜索  220
12.4.2 深度優先搜索  225
12.5 最短路徑算法  231
12.5.1 Dijkstra算法  232
12.5.2 Floyd-Warshall算法  234
12.6 最小生成樹  235
12.6.1 Prim算法  236
12.6.2 Kruskal算法  237
12.7 小結  238
第13章 排序和搜索算法  239
13.1 排序算法  239
13.1.1 冒泡排序  239
13.1.2 選擇排序  242
13.1.3 插入排序  244
13.1.4 歸並排序  245
13.1.5 快速排序  247
13.1.6 計數排序  251
13.1.7 桶排序  253
13.1.8 基數排序  255
13.2 搜索算法  257
13.2.1 順序搜索  257
13.2.2 二分搜索  258
13.2.3 內插搜索  260
13.3 隨機算法  261
13.4 小結  262
第14章 算法設計與技巧  263
14.1 分而治之  263
14.2 動態規劃  265
14.2.1 最少硬幣找零問題  266
14.2.2 背包問題  268
14.2.3 最長公共子序列  270
14.2.4 矩陣鏈相乘  272
14.3 貪心算法  274
14.3.1 最少硬幣找零問題  274
14.3.2 分數背包問題  275
14.4 迴溯算法  276
14.4.1 迷宮老鼠問題  277
14.4.2 數獨解題器  279
14.5 函數式編程簡介  282
14.5.1 函數式編程與命令式編程  283
14.5.3 JavaScript函數式工具箱——map、filter和reduce  284
14.5.4 JavaScript函數式類庫和數據結構  286
14.6 小結  286
第15章 算法復雜度  287
15.1 大O錶示法  287
15.1.1 理解大O錶示法  287
15.1.2 時間復雜度比較  289
15.1.3 NP完全理論概述  292
15.2 用算法娛樂身心  293
15.3 小結  294
· · · · · · (收起)

讀後感

評分

书中基本的内容有: 1、数组 (1)数组其实是内存里连续的一块地址,当删除某一块时,那么其他的内容向前移动; (2)数组中常用的方法; 2、栈 (1)后进先出,例如:饭店洗盘子 3、队列 (1)先进先出,例如:排队上厕所 4、链表 (1)链表其实是内存里不连续的地址, (2)单向链表:一...  

評分

书中基本的内容有: 1、数组 (1)数组其实是内存里连续的一块地址,当删除某一块时,那么其他的内容向前移动; (2)数组中常用的方法; 2、栈 (1)后进先出,例如:饭店洗盘子 3、队列 (1)先进先出,例如:排队上厕所 4、链表 (1)链表其实是内存里不连续的地址, (2)单向链表:一...  

評分

简单评价的话,如题目所述,是目前用 JavaScript 语言来讲解最基础的数据结构与算法最好的书。数组、链表、栈、字典、散列、树、图等等,该有的都有了。而且代码分开来一个个实现,思路讲解、代码结构都非常清晰。 书中对所有数据结构的实现,都是将方法创建在了每个实例上面(...  

評分

这本书很薄(160页不到),从图书馆借来三四天,断断续续翻着读完。非常不错的一本数据结构与算法的入门书籍。不论是哪种开发方向,对想学习数据结构与算法的人来说都是个不错的选择,尤其是本身数据结构与算法功底偏弱的前端开发人员(这点上你大可不必认可,起码我是这样的)...  

評分

书中基本的内容有: 1、数组 (1)数组其实是内存里连续的一块地址,当删除某一块时,那么其他的内容向前移动; (2)数组中常用的方法; 2、栈 (1)后进先出,例如:饭店洗盘子 3、队列 (1)先进先出,例如:排队上厕所 4、链表 (1)链表其实是内存里不连续的地址, (2)单向链表:一...  

用戶評價

评分

第109頁錯誤:DoublelyNode類裏的代碼,去掉constructor括號裏麵的prev , 把this.prev = prev改成 this.prev = undefined;

评分

第109頁錯誤:DoublelyNode類裏的代碼,去掉constructor括號裏麵的prev , 把this.prev = prev改成 this.prev = undefined;

评分

雖然有錯誤,但是瑕不掩瑜. 做瞭一些筆記還算詳細, 歡迎查看: https://github.com/Watermelon1033/DataStructure-Algorithm-Learning

评分

看瞭前兩章,錯誤不少。後麵翻瞭一下,感覺和js關係不大瞭

评分

錯誤略多,AVL樹這裏的LR和RL代碼反瞭

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有