| | | 學習JavaScript數據結構與算法 第3版(圖靈出品) | 該商品所屬分類:圖書 -> 人民郵電出版社 | 【市場價】 | 640-928元 | 【優惠價】 | 400-580元 | 【作者】 | 洛伊安妮·格羅納吳雙鄧鋼孫曉博 | 【出版社】 | 人民郵電出版社 | 【ISBN】 | 9787115510174 | 【折扣說明】 | 一次購物滿999元台幣免運費+贈品 一次購物滿2000元台幣95折+免運費+贈品 一次購物滿3000元台幣92折+免運費+贈品 一次購物滿4000元台幣88折+免運費+贈品
| 【本期贈品】 | ①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
| |
版本 | 正版全新電子版PDF檔 | 您已选择: | 正版全新 | 溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。*. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。 *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。 *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。 | | | | 內容介紹 | |
![](/c49/99/12613100.jpg)
出版社:人民郵電出版社 ISBN:9787115510174 版次:1 商品編碼:12613100 品牌:iTuring 包裝:平裝 開本:16開 出版時間:2019-05-01 用紙:膠版紙 頁數:294 正文語種:中文 作者:洛伊安妮·格羅納,吳雙,鄧鋼,孫曉博
" 編輯推薦 數據結構是計算機為了高效地利用資源而組織數據的一種方式。數據結構與算法是解決一切編程問題的基礎。本書用JavaScript語言介紹了各種數據結構與算法,通俗易懂、循序漸進,有助於計算機科學專業的學生和剛剛開啟職業生涯的技術人員探索JavaScript。 相較於上一版,這一版新增了“ECMAScript和TypeScript概述”“遞歸”“二叉堆和堆排序”和“算法設計與技巧”四章,介紹了ECMAScript 2017的新特性和TypeScript的基本功能,補充了雙端隊列、黑紅樹、堆排序算法,以及計數排序和基數排序等內容,另外還概述了Fisher-Yates隨機算法和回溯算法(迷宮老鼠問題和數獨解題器),等等。 - 在數組、棧和隊列中聲明、初始化、添加素 - 創建並使用鏈表、雙向鏈表和循環鏈表 - 用散列表、字典和集合素 - 探索二叉樹和二叉搜索樹的用法 - 使用冒泡排序、選擇排序、插入排序、歸並排序和快速排序等算法排序數據結構 - 使用順序搜索和二分搜索等算法搜索數據結素 內容簡介 本書首先介紹了JavaScript語言的基礎知識(包括ECMAScript和TypeScript),其次討論了數組、棧、隊列、雙端隊列和鏈表等重要的數據結構,隨後分析了集合、字典和散列表的工作原理,接下來闡述了遞歸的原理、什麼是樹以及二叉堆和堆排序,然後介紹了圖、DFS和BFS算法、各種排序(冒泡排序、選擇排序、插入排序、歸並排序、快速排序、計數排序、桶排序和基數排序)和搜索(順序搜索、二分搜索和內插搜索)算法以及隨機算法,接著介紹了分而治之、動態規劃、貪心算法和回溯算法等高級算法以及函數式編程,最後還介紹了如何計算算法的復雜度。 作者簡介 洛伊安妮·格羅納(Loiane Groner)
花旗銀行軟件開發經理,負責海外項目的開發和團隊管理;原IBM公司繫統分析師及團隊負責人;巴西坎皮納斯Java用戶組(CampinasJUG)協調人;Sencha和Java技術推廣者,通過博客為軟件開發社區撰稿,發表關於IT職業發展和常用開發技術的文章和視頻,並經常受邀在各大技術會議上做報告。另著有《精通Ext JS》等書。 目錄 第 1章JavaScript簡介1 1.1JavaScript數據結構與算法1 1.2環境搭建2 1.2.1最簡單的環境搭建2 1.2.2使用Web服務器3 1.2.3Node.js http-server5 1.3JavaScript基礎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.6JavaScript面向對像編程17 1.7調試工具18 1.8小結20 第2章 ECMAScript和TypeScript概述21 2.1ECMAScript還是JavaScript21 2.1.1ES6、ES2015、ES7、ES2016、ES8、ES2017和ES.Next21 2.1.2使用Babel.js23 2.2ECMAScript 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介紹TypeScript39 2.3.1類型推斷40 2.3.2接口41 2.3.3其他TypeScript功能43 2.3.4TypeScript中對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.7JavaScript的數組方法參考54 3.7.1數組合並55 3.7.2迭代器函數55 3.7.3ECMAScript 6和數組的新功能57 3.7.4素60 3.7.5搜索63 3.7.6輸出數組為字符串64 3.8類型數組64 3.9TypeScript中的數組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.4ECMAScript類屬性提案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.3JavaScript任務隊列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.1has(element)方法119 7.2.2add方法120 7.2.3delete和clear方法120 7.2.4size方法121 7.2.5values方法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.4ECMAScript 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.3ES2015 Map類159 8.4ES2105 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.1Adelson-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.1Dijkstra算法232 12.5.2Floyd-Warshall算法234 12.6最小生成樹235 12.6.1Prim算法236 12.6.2Kruskal算法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.3JavaScript函數式工具箱——map、filter和reduce284 14.5.4JavaScript函數式類庫和數據結構286 14.6小結286 第15章 算法復雜度287 15.1大O表示法287 15.1.1理解大O表示法287 15.1.2時間復雜度比較289 15.1.3NP完全理論概述292 15.2用算法娛樂身心293 15.3小結294 查看全部↓
" | | | | | |