數(shù)據(jù)結(jié)構(gòu)與算法JavaScript描述 完整版216頁 PDF(含源碼)
本文關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu)與算法JavaScript描述,,由筆耕文化傳播整理發(fā)布。
本書高清PDF 86M 收集自網(wǎng)絡(luò),請在資源下載后24H內(nèi)刪除,著作權(quán)歸原書作者。如覺得圖書非常有用,請自己購買紙質(zhì)書籍。 《數(shù)據(jù)結(jié)構(gòu)與算法JavaScript描述》 推薦序 XI 前言 XII 第1章 JavaScript的編程環(huán)境和模型 1 1.1 JavaScript環(huán)境 1 1.2 JavaScript編程實踐 2 1.2.1 聲明和初始化變量 3 1.2.2 JavaScript中的算術(shù)運(yùn)算和數(shù)學(xué)庫函數(shù) 3 1.2.3 判斷結(jié)構(gòu) 4 1.2.4 循環(huán)結(jié)構(gòu) 6 1.2.5 函數(shù) 7 1.2.6 變量作用域 7 1.2.7 遞歸 9 1.3 對象和面向?qū)ο缶幊獭 ?0 1.4 小結(jié) 11 第2章 數(shù)組 13 2.1 JavaScript中對數(shù)組的定義 13 2.2 使用數(shù)組 13 2.2.1 創(chuàng)建數(shù)組 14 2.2.2 讀寫數(shù)組 15 2.2.3 由字符串生成數(shù)組 15 2.2.4 對數(shù)組的整體性操作 16 2.3 存取函數(shù) 17 2.3.1 查找元素 17 2.3.2 數(shù)組的字符串表示 18 2.3.3 由已有數(shù)組創(chuàng)建新數(shù)組 18 2.4 可變函數(shù) 19 2.4.1 為數(shù)組添加元素 19 2.4.2 從數(shù)組中刪除元素 20 2.4.3 從數(shù)組中間位置添加和刪除元素 21 2.4.4 為數(shù)組排序 21 2.5 迭代器方法 22 2.5.1 不生成新數(shù)組的迭代器方法 22 2.5.2 生成新數(shù)組的迭代器方法 25 2.6 二維和多維數(shù)組 27 2.6.1 創(chuàng)建二維數(shù)組 27 2.6.2 處理二維數(shù)組的元素 28 2.6.3 參差不齊的數(shù)組 29 2.7 對象數(shù)組 30 2.8 對象中的數(shù)組 31 2.9 練習(xí) 32 第3章 列表 33 3.1 列表的抽象數(shù)據(jù)類型定義 33 3.2 實現(xiàn)列表類 34 3.2.1 append:給列表添加元素 35 3.2.2 remove:從列表中刪除元素 35 3.2.3 find:在列表中查找某一元素 35 3.2.4 length:列表中有多少個元素 36 3.2.5 toString:顯示列表中的元素 36 3.2.6 insert:向列表中插入一個元素 37 3.2.7 clear:清空列表中所有的元素 37 3.2.8 contains:判斷給定值是否在列表中 37 3.2.9 遍歷列表 38 3.3 使用迭代器訪問列表 39 3.4 一個基于列表的應(yīng)用 40 3.4.1 讀取文本文件 40 3.4.2 使用列表管理影碟租賃 41 3.5 練習(xí) 44 第4章 ! 45 4.1 對棧的操作 45 4.2 棧的實現(xiàn) 46 4.3 使用Stack類 48 4.3.1 數(shù)制間的相互轉(zhuǎn)換 49 4.3.2 回文 50 4.3.3 遞歸演示 51 4.4 練習(xí) 52 第5章 隊列 53 5.1 對隊列的操作 53 5.2 一個用數(shù)組實現(xiàn)的隊列 54 5.3 使用隊列:方塊舞的舞伴分配問題 57 5.4 使用隊列對數(shù)據(jù)進(jìn)行排序 61 5.5 優(yōu)先隊列 63 5.6 練習(xí) 65 第6章 鏈表 67 6.1 數(shù)組的缺點(diǎn) 67 6.2 定義鏈表 67 6.3 設(shè)計一個基于對象的鏈表 69 6.3.1 Node類 69 6.3.2 LinkedList類 69 6.3.3 插入新節(jié)點(diǎn) 69 6.3.4 從鏈表中刪除一個節(jié)點(diǎn) 71 6.4 雙向鏈表 74 6.5 循環(huán)鏈表 78 6.6 鏈表的其他方法 79 6.7 練習(xí) 79 第7章 字典 81 7.1 Dictionary類 81 7.2 Dictionary類的輔助方法 83 7.3 為Dictionary類添加排序功能 85 7.4 練習(xí) 86 第8章 散列 87 8.1 散列概覽 87 8.2 HashTable類 88 8.2.1 選擇一個散列函數(shù) 88 8.2.2 一個更好的散列函數(shù) 91 8.2.3 散列化整型鍵 93 8.2.4 對散列表排序、從散列表中取值 95 8.3 碰撞處理 96 8.3.1 開鏈法 96 8.3.2 線性探測法 99 8.4 練習(xí) 100 第9章 集合 101 9.1 集合的定義、操作和屬性 101 9.1.1 集合的定義 101 9.1.2 對集合的操作 102 9.2 Set類的實現(xiàn) 102 9.3 更多集合操作 104 9.4 練習(xí) 107 第10章 二叉樹和二叉查找樹 109 10.1 樹的定義 109 10.2 二叉樹和二叉查找樹 111 10.2.1 實現(xiàn)二叉查找樹 111 10.2.2 遍歷二叉查找樹 113 10.3 在二叉查找樹上進(jìn)行查找 116 10.3.1 查找最小值和最大值 116 10.3.2 查找給定值 117 10.4 從二叉查找樹上刪除節(jié)點(diǎn) 118 10.5 計數(shù) 120 10.6 練習(xí) 123 第11章 圖和圖算法 125 11.1 圖的定義 125 11.2 用圖對現(xiàn)實中的系統(tǒng)建模 127 11.3 圖類 127 11.3.1 表示頂點(diǎn) 127 11.3.2 表示邊 127 11.3.3 構(gòu)建圖 128 11.4 搜索圖 130 11.4.1 深度優(yōu)先搜索 130 11.4.2 廣度優(yōu)先搜索 133 11.5 查找最短路徑 135 11.5.1 廣度優(yōu)先搜索對應(yīng)的最短路徑 135 11.5.2 確定路徑 135 11.6 拓?fù)渑判颉 ?37 11.6.1 拓?fù)渑判蛩惴ā ?37 11.6.2 實現(xiàn)拓?fù)渑判蛩惴ā ?37 11.7 練習(xí) 141 第12章 排序算法 143 12.1 數(shù)組測試平臺 143 12.2 基本排序算法 145 12.2.1 冒泡排序 145 12.2.2 選擇排序 148 12.2.3 插入排序 150 12.2.4 基本排序算法的計時比較 151 12.3 高級排序算法 153 12.3.1 希爾排序 153 12.3.2 歸并排序 158 12.3.3 快速排序 163 12.4 練習(xí) 167 第13章 檢索算法 169 13.1 順序查找 169 13.1.1 查找最小值和最大值 172 13.1.2 使用自組織數(shù)據(jù) 175 13.2 二分查找算法 177 13.3 查找文本數(shù)據(jù) 183 13.4 練習(xí) 185 第14章 高級算法 187 14.1 動態(tài)規(guī)劃 187 14.1.1 動態(tài)規(guī)劃實例:計算斐波那契數(shù)列 188 14.1.2 尋找最長公共子串 191 14.1.3 背包問題:遞歸解決方案 194 14.1.4 背包問題:動態(tài)規(guī)劃方案 195 14.2 貪心算法 196 14.2.1 第一個貪心算法案例:找零問題 196 14.2.2 背包問題的貪心算法解決方案 197 14.3 練習(xí) 199 封面介紹 200
本文關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu)與算法JavaScript描述,由筆耕文化傳播整理發(fā)布。
本文編號:151318
本文鏈接:http://sikaile.net/wenshubaike/mishujinen/151318.html