![]()
内容推荐 如果你是一名正在学习计算机科学的学生,或者你是一个正在准备技术面试的软件开发者,艾伦著的《数据结构与算法Java语言描述》将以一种更清晰、更具体,以及更吸引人的方式帮助你学习并回顾软件工程中最重要的部分——数据结构与算法。 本书作者强调实践知识和技能胜过理论,在书中为你展示了怎样使用数据结构实现有效的算法,并分析和测试了算法的性能。在本书中你将探索Java集合框架(JCF)中重要的类,它们是如何实现的,以及如何执行。书中的每一章都提供了动手练习及其在线测试代码。 作者简介 艾伦(Allen B.Downey),是奥林工程学院的计算机科学教授,曾经在韦尔斯利学院、科尔比学院和伯克利大学执教。他拥有伯克利大学计算机科学博士学位及麻省理工学院硕士和学士学位。他编写的其他书籍有:《Think Java))、《Think Python》、《Think Stats》和《Think Bayes))。 目录 前言 第1章 接口 为什么有两种列表? List接口 练习1 第2章 算法分析 选择排序算法 大O表示法 练习2 第3章 ArrayList类 对MyArrayList类中方法的分类 对add方法分类 问题规模 链接数据结构 练习3 关于垃圾回收的注记 第4章 LinkedList类 MyLinkedList方法的分类 比较MyArrayList和MyLinkedList 性能分析 结果的解释 练习4 第5章 双向链表 结果的性能分析 分析LinkedList方法的性能 在LinkedList末尾添加 双向链表 选择一个结构 第6章 树的遍历 搜索引擎 解析HTML 使用JSOUP 遍历DOM树 深度优先搜索 Java栈 迭代DFS 第7章 到达哲学 准备开始 Iterable接口和Iterator类 WikiFetcher 练习5 第8章 索引器 选择数据结构 TermCounter 练习6 第9章 Map接口 实现MyLinearMap 练习7 分析MyLinearMap 第10章 哈希方法 哈希方法 哈希方法是如何工作的? 哈希方法和变体 练习8 第11章 HashMap 练习9 分析MyHashMap 权衡考虑 对MyHashMap的性能分析 修改MyHashMap UML类图 第12章 TreeMap 哈希方法有什么问题? 二叉搜索树 练习10 实现TreeMap 第13章 二叉搜索树 一个简单的MyTreeMap 搜索值 实现put 中序遍历算法 对数方法 自平衡树 另一个练习 第14章 持久性 Redis Redis客户端和服务器 构建一个Redis支持的索引 Redis数据类型 练习1l 更多建议 一些设计提示 第15章 爬行维基百科 Redis支持的索引器 查找的分析 索引分析 图的遍历 练习12 第16章 布尔搜索 爬虫解决方案 信息检索 布尔搜索 练习13 Comparable和Comparator接口 扩展部分 第17章 排序 插入排序 练习14 合并排序的分析 基数排序 堆排序 有界堆 空间复杂性
|