数据结构与算法几乎是IT互联网公司面试必备的题目,虽然开发过程中可能用的不多,但能反应出一个程序员的基本功以及逻辑思维能力。然而多数数据结构与算法书籍都是以c语言为主,本书使用java语言讨论,完美的填补了这个空白。随时应用功能扩大,用户量逐渐增多,人们对性能与算法分析的要求也在不断增长,此书是java程序员学习数据结构与算法的最好选择,码农书籍网推荐!
目录:第1章引论1.1本书讨论的内容1.2数学知识复习1.3递归简论1.4实现泛型特性构件pre-Java51.5利用Java5泛性实现泛型特性成分1.6函数对象第2章算法分析2.1数学基础2.2模型2.3要分析的问题2.4运行时间计算第3章表、栈和队列3.1抽象数据类型3.2表ADT3.3JavaCollectionsAPI中的表3.4ArrayList类的实现3.5LinkedList类的实现3.6栈ADT3.7队列ADT第4章树4.1预备知识4.2二叉树4.3查找树ADT——二叉查找树4.4AVL树4.5伸展树4.6树的遍历4.7B树4.8标准库中的集合与映射第5章散列5.1一般想法5.2散列函数5.3分离链接法5.4不用链表的散列表5.5再散列5.6标准库中的散列表5.7可扩散列第6章优先队列(堆)6.1模型6.2一些简单的实现6.3二叉堆6.4优先队列的应用6.5d-堆6.6左式堆6.7斜堆6.8二项队列6.9标准库中的优先队列第7章排序7.1预备知识7.3一些简单排序算法的下界7.4希尔排序7.5堆排序7.6归并排序7.7快速排序7.8排序算法的一般下界7.9桶式排序7.10外部排序第8章不相交集类8.1等价关系8.2动态等价性问题8.3基本数据结构8.4灵巧求并算法8.5路径压缩8.6路径压缩和按秩求并的最坏情形8.7一个应用第9章图论算法9.1若干定义9.2拓扑排序9.3最短路径算法9.4网络流问题9.5最小生成树9.6深度优先搜索的应用9.7NP完全性介绍第10章算法设计技巧10.1贪婪算法10.2分治算法10.3动态规划10.4随机化算法10.5回溯算法第11章摊还分析11.1一个无关的智力问题11.2二项队列11.3斜堆11.4斐波那契堆11.5伸展树第12章高级数据结构及其实现12.1自顶向下伸展树12.2红黑树12.3确定性跳跃表12.4AA树12.5treap树12.6k-d树12.7配对堆
长按