《数据结构与算法Java语言描述》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:(美)Allen B· Downey
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2018
  • ISBN:9787519821944
  • 页数:158 页
图书介绍:本书作者强调实践知识和技能胜过理论,在书中为你展示了怎样使用数据结构实现有效的算法,并分析和测试了算法的性能。你将探索Java 集合框架(JCF)中重要的类,它们是如何实现的,以及如何执行。书中的每一章都提供了动手练习及在线测试代码。本书主要内容有:学习使用列表和映射等数据结构并理解它们是如何工作的。构建一个应用程序,用于读取维基百科页、解析页面内容并导航结果树。通过分析代码预测其运行时间和所需的内存空间。编写实现Map接口的类,分别使用哈希表和二叉搜索树。创建一个简单Web搜索引擎,包括一个网络爬虫、一个存储Web页面内容的索引器和一个返回用户查询结果的检索器。

前言 1

第1章 接口 7

为什么有两种列表? 8

List接口 9

练习1 11

第2章 算法分析 14

选择排序算法 15

大O表示法 17

练习2 18

第3章 Array List类 22

对MyArrayList类中方法的分类 22

对add方法分类 24

问题规模 26

链接数据结构 27

练习3 29

关于垃圾回收的注记 32

第4章 LinkedList类 33

MyLinkedList方法的分类 33

比较MyArrayList和MyLinkedList 36

性能分析 36

结果的解释 39

练习4 41

第5章 双向链表 43

结果的性能分析 43

分析LinkedList方法的性能 45

在LinkedList末尾添加 47

双向链表 48

选择一个结构 49

第6章 树的遍历 51

搜索引擎 51

解析HTML 52

使用JSOUP 54

遍历DOM树 56

深度优先搜索 57

Java栈 58

迭代DFS 59

第7章 到达哲学 61

准备开始 61

Iterable接口和Iterator类 62

WikiFetcher 64

练习5 65

第8章 索引器 68

选择数据结构 68

TermCounter 70

练习6 72

第9章 Map接口 77

实现MyLinearMap 77

练习7 78

分析MyLinearMap 79

第10章 哈希方法 82

哈希方法 82

哈希方法是如何工作的? 84

哈希方法和变体 86

练习8 87

第11章 HashMap 89

练习9 89

分析MyHashMap 90

权衡考虑 92

对MyHashMap的性能分析 93

修改MyHashMap 94

UML类图 96

第12章 TreeMap 98

哈希方法有什么问题? 98

二叉搜索树 99

练习10 101

实现TreeMap 102

第13章 二叉搜索树 106

一个简单的MyTreeMap 106

搜索值 107

实现put 108

中序遍历算法 110

对数方法 111

自平衡树 114

另一个练习 114

第14章 持久性 115

Redis 116

Redis客户端和服务器 117

构建一个Redis支持的索引 118

Redis数据类型 120

练习11 122

更多建议 123

一些设计提示 125

第15章 爬行维基百科 126

Redis支持的索引器 126

查找的分析 129

索引分析 129

图的遍历 130

练习12 131

第16章 布尔搜索 135

爬虫解决方案 135

信息检索 137

布尔搜索 138

练习13 139

Comparable和Comparator接口 141

扩展部分 143

第17章 排序 145

插入排序 146

练习14 148

合并排序的分析 149

基数排序 151

堆排序 153

有界堆 155

空间复杂性 156