數據結構與算法Java語言描述

數據結構與算法Java語言描述

《數據結構與算法Java語言描述》是2018年中國電力出版社出版的圖書,作者是Allen B. Downey。

基本介紹

  • 中文名:數據結構與算法Java語言描述
  • 作者:Allen B. Downey
  • 出版社:中國電力出版社
  • 出版時間:2018年
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787519821944
內容簡介,作者簡介,圖書目錄,

內容簡介

本書作者強調實踐知識和技能勝過理論,在書中為你展示了怎樣使用數據結構實現有效的算法,並分析和測試了算法的性能。在本書中你將探索Java集合框架(JCF)中重要的類,它們是如何實現的,以及如何執行。書中的每一章都提供了動手練習及其線上測試代碼。本書主要內容有:學習使用列表和映射等數據結構並理解它們是如何工作的。構建一個應用程式,用於讀取維基百科頁、解析頁面內容並導航結果樹。通過分析代碼預測其運行時間和所需的記憶體空間。分別使用哈希表和二叉搜尋樹編寫實現Map接口的類。創建一個簡單的Web搜尋引擎,包括一個網路爬蟲、一個存儲Web頁面內容的索引器和一個返回用戶查詢結果的檢索器。

作者簡介

Allen B. Downey是奧林工程學院計算機科學領域的教授,曾經在韋爾斯利學院、科爾比學院和伯克利大學執教。他擁有伯克利大學計算機科學博士學位及麻省理工學院碩士和學士學位。他編寫的其他書籍有:《Think Java》、《Think Python》、《Think Stats》和《Think Bayes》。

圖書目錄

目錄
前言1
第 1 章 接口7
為什麼有兩種列表?8
List 接口9
練習 111
第 2 章 算法分析14
選擇排序算法15
大 O 表示法17
練習 218
第 3 章 ArrayList 類22
對 MyArrayList 類中方法的分類22
對 add 方法分類24
問題規模26
連結數據結構27
練習 329
關於垃圾回收的註記32
第 4 章 LinkedList 類33
MyLinkedList 方法的分類33
比較 MyArrayList 和 MyLinkedList36
性能分析36
結果的解釋39
練習 441
第 5 章 雙向鍊表43
結果的性能分析43
分析 LinkedList 方法的性能45
在 LinkedList 末尾添加47
雙向鍊表48
選擇一個結構49
第 6 章 樹的遍歷51
搜尋引擎51
解析 HTML52
使用 JSOUP54
遍歷 DOM 樹56
深度優先搜尋57
Java 棧58
疊代 DFS59
第 7 章 到達哲學61
準備開始61
Iterable 接口和 Iterator 類62
WikiFetcher64
練習 565
第 8 章 索引器68
選擇數據結構68
TermCounter70
練習 672
第 9 章 Map 接口77
實現 MyLinearMap77
練習 778
分析 MyLinearMap79
第 10 章 哈希方法82
哈希方法82
哈希方法是如何工作的?84
哈希方法和變體86
練習 887
第 11 章 HashMap89
練習 989
分析 MyHashMap90
權衡考慮92
對 MyHashMap 的性能分析93
修改 MyHashMap94
UML 類圖96
第 12 章 TreeMap98
哈希方法有什麼問題?98
二叉搜尋樹99
練習 10101
實現 TreeMap102
第 13 章 二叉搜尋樹106
一個簡單的 MyTreeMap106
搜尋值107
實現 put108
中序遍歷算法110
對數方法111
自平衡樹114
另一個練習114
第 14 章 持久性115
Redis116
Redis 客戶端和伺服器117
構建一個 Redis 支持的索引118
Redis 數據類型120
練習 11122
更多建議123
一些設計提示125
第 15 章 爬行維基百科126
Redis 支持的索引器126
查找的分析129
索引分析129
圖的遍歷130
練習 12131
第 16 章 布爾搜尋135
爬蟲解決方案135
信息檢索137
布爾搜尋138
練習 13139
Comparable 和 Comparator 接口141
擴展部分143
第 17 章 排序145
插入排序146
練習 14148
合併排序的分析149
基數排序151
堆排序153
有界堆155
空間複雜性156

相關詞條

熱門詞條

聯絡我們