数据结构与算法Java语言描述

数据结构与算法Java语言描述
作 者: 艾伦B
出版社: 中国电力出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Allen B. Downey是奥林工程学院计算机科学领域的教授,曾经在韦尔斯利学院、科尔比学院和伯克利大学执教。他拥有伯克利大学计算机科学博士学位及麻省理工学院硕士和学士学位。他编写的其他书籍有:《Think Java》、《Think Python》、《Think Stats》和《Think Bayes》。

内容简介

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

图书目录

目录前言1第

章

接口7为什么有两种列表?8List

接口9练习

111第

章

算法分析14选择排序算法15大

O

表示法17练习

218第

章

ArrayList

类22对

MyArrayList

类中方法的分类22对

add

方法分类24问题规模26链接数据结构27练习

329关于垃圾回收的注记32第

章

LinkedList

类33MyLinkedList

方法的分类33比较

MyArrayList

和

MyLinkedList36性能分析36结果的解释39练习

441第

章

双向链表43结果的性能分析43分析

LinkedList

方法的性能45在

LinkedList

末尾添加47双向链表48选择一个结构49第

章

树的遍历51搜索引擎51解析

HTML52使用

JSOUP54遍历

DOM

树56深度优先搜索57Java

栈58迭代

DFS59第

章

到达哲学61准备开始61Iterable

接口和

Iterator

类62WikiFetcher64练习

565第

章

索引器68选择数据结构68TermCounter70练习

672第

章

Map

接口77实现

MyLinearMap77练习

778分析

MyLinearMap79第

章

哈希方法82哈希方法82哈希方法是如何工作的?84哈希方法和变体86练习

887第

章

HashMap89练习

989分析

MyHashMap90权衡考虑92对

MyHashMap

的性能分析93修改

MyHashMap94UML

类图96第

章

TreeMap98哈希方法有什么问题?98二叉搜索树99练习

10101实现

TreeMap102第

章

二叉搜索树106一个简单的

MyTreeMap106搜索值107实现

put108中序遍历算法110对数方法111自平衡树114另一个练习114第

章

持久性115Redis116Redis

客户端和服务器117构建一个

Redis

支持的索引118Redis

数据类型120练习

11122更多建议123一些设计提示125第

章

爬行维基百科126Redis

支持的索引器126查找的分析129索引分析129图的遍历130练习

12131第

章

布尔搜索135爬虫解决方案135信息检索137布尔搜索138练习

13139Comparable

和

Comparator

接口141扩展部分143第

章

排序145插入排序146练习

14148合并排序的分析149基数排序151堆排序153有界堆155空间复杂性156