目录
**章基础1.1基础编程模型1.1.1J**a程序的基本结构1.1.2原始数据类型与表达式1.1.3语句1.1.4简便记法1.1.5数组1.1.6静态方法1.1.7API1.1.8字符串1.1.9输入输出1.1.10二分查找1.1.11展望1.2数据抽象1.2.1使用抽象数据类型1.2.2抽象数据类型举例1.2.3抽象数据类型的实现1.2.4*多抽象数据类型的实现1.2.5数据类型的设计1.3背包、队列和栈1.3.1API1.3.2集合类数据类型的实现1.3.3链表1.3.4综述1.4算法分析1.4.1科学方法1.4.2观察1.4.3数学模型1.4.4增长数量级的分类1.4.5设计*快的算法1.4.6倍率实验1.4.7注意事项1.4.8处理对于输入的依赖1.4.9内存1.4.10展望1.5案例研究:union-find算法1.5.1动态连通性1.5.2实现1.5.3展望第2章排序2.1初级排序算法2.1.1游戏规则2.1.2选择排序2.1.3插入排序2.1.4排序算法的可视化2.1.5比较两种排序算法2.1.6希尔排序2.2归并排序2.2.1原地归并的抽象方法2.2.2自顶向下的归并排序2.2.3自底向上的归并排序2.2.4排序算法的复杂度2.3快速排序2.3.1基本算法2.3.2性能特点2.3.3算法改进2.4优先队列2.4.1API2.4.2初级实现2.4.3堆的定义2.4.4堆的算法2.4.5堆排序2.5应用2.5.1将各种数据排序2.5.2我应该使用哪种排序算法2.5.3问题的归约2.5.4排序应用一览第3章查找3.1符号表3.1.1API3.1.2有序符号表3.1.3用例举例3.1.4无序链表中的顺序查找3.1.5有序数组中的二分查找3.1.6对二分查找的分析3.1.7预览3.2二叉查找树3.2.1基本实现3.2.2分析3.2.3有序性相关的方法与删除操作3.3平衡查找树3.3.1-3查找树3.3.2红黑二叉查找树3.3.3实现3.3.4删除操作3.3.5红黑树的性质3.4散列表3.4.1散列函数3.4.2基于拉链法的散列表3.4.3基于线性探测法的散列表3.4.4调整数组大小3.4.5内存使用3.5应用3.5.1我应该使用符号表的哪种实现3.5.2集合的API3.5.3字典类用例3.5.4索引类用例3.5.5稀疏向量第4章图4.1无向图4.1.1术语表4.1.2表示无向图的数据类型4.1.3深度优先搜索4.1.4寻找路径4.1.5广度优先搜索4.1.6连通分量4.1.7符号图4.1.8总结4.2有向图4.2.1术语4.2.2有向图的数据类型4.2.3有向图中的可达性4.2.4环和有向无环图4.2.5有向图中的强连通性4.2.6总结4.3*小生成树4.3.1原理4.3.2加权无向图的数据类型4.3.3*小生成树的API和测**例4.3.4Prim算法4.3.5Prim算法的即时实现4.3.6Kruskal算法4.3.7展望4.4*短路径4.4.1*短路径的性质4.4.2加权有向图的数据结构4.4.3*短路径算法的理论基础4.4.4Dijkstra算法4.4.5无环加权有向图中的*短路径算法4.4.6一般加权有向图中的*短路径问题4.4.7展望第5章字符串5.1字符串排序5.1.1键索引计数法5.1.2低位优先的字符串排序5.1.3高位优先的字符串排序5.1.4三向字符串快速排序5.1.5字符串排序算法的选择5.2单词查找树5.2.1单词查找树5.2.2单词查找树的性质5.2.3三向单词查找树5.2.4三向单词查找树的性质5.2.5应该使用字符串符号表的哪种实现5.3子字符串查找5.3.1历史简介5.3.2暴力子字符串查找算法5.3.3Knuth-Morris-Pratt子字符串查找算法5.3.4Boyer-Moore字符串查找算法5.3.5Rabin-Karp指纹字符串查找算法5.3.6总结5.4正则表达式5.4.1使用正则表达式描述模式5.4.2缩略写法5.4.3正则表达式的实际应用5.4.4非确定有限状态自动机5.4.5模拟NFA的运行5.4.6构造与正则表达式对应的NFA5.5数据压缩5.5.1游戏规则5.5.2读写二进制数据5.5.3局限5.5.4热身运动:基因组5.5.5游程编码5.5.6霍夫曼压缩第6章背景索引
评论晒单