图书推荐:算法

书皮

书皮

豆瓣评分

豆瓣评分

内容简介

《算法:第4版》作为算法领域经典的参考书,全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。第 4 版具体给出了每位程序员应知应会的 50 个算法,提供了实际代码,而且这些 Java 代码实现采用了模块化的编程风格,读者可以方便地加以改造。配套网站提供了本书内容的摘要及更多的代码实现、测试数据、练习、教学课件等资源。

《算法:第4版》适合用做大学教材或从业者的参考书。

目录

第1章 基础

1.1 基础编程模型

Java程序的基本结构

原始数据类型与表达式

语句

简便记法

数组

静态方法

API

字符串

输入输出

二分查找

展望

1.2 数据抽象

使用抽象数据类型

抽象数据类型举例

抽象数据类型的实现

更多抽象数据类型的实现

数据类型的设计

1.3 背包、队列和栈

API

集合类数据类型的实现

链表

综述

1.4 算法分析

科学方法

观察

数学模型

增长数量级的分类

设计更快的算法

倍率实验

注意事项

处理对于输入的依赖

内存

展望

1.5 案例研究:union-find算法

动态连通性

实现

展望

第2章 排序

2.1 初级排序算法

游戏规则

选择排序

插入排序

排序算法的可视化

比较两种排序算法

希尔排序

2.2 归并排序

原地归并的抽象方法

自顶向下的归并排序

自底向上的归并排序

排序算法的复杂度

2.3 快速排序

基本算法

性能特点

算法改进

2.4 优先队列

API

初级实现

堆的定义

堆的算法

堆排序

2.5 应用

将各种数据排序

我应该使用哪种排序算法

问题的归约

排序应用一览

第3章 查找

3.1 符号表

API

有序符号表

用例举例

无序链表中的顺序查找

有序数组中的二分查找

对二分查找的分析

预览

3.2 二叉查找树

基本实现

分析

有序性相关的方法与删除操作

3.3 平衡查找树

2-3查找树

红黑二叉查找树

实现

删除操作

红黑树的性质

3.4 散列表

散列函数

基于拉链法的散列表

基于线性探测法的散列表

调整数组大小

内存使用

3.5 应用

我应该使用符号表的哪种实现

集合的API

字典类用例

索引类用例

稀疏向量

第4章 图

4.1 无向图

术语表

表示无向图的数据类型

深度优先搜索

寻找路径

广度优先搜索

连通分量

符号图

总结

4.2 有向图

术语

有向图的数据类型

有向图中的可达性

环和有向无环图

有向图中的强连通性

总结

4.3 最小生成树

原理

加权无向图的数据类型

最小生成树的API和测试用例

Prim算法

Prim算法的即时实现

Kruskal算法

展望

4.4 最短路径

最短路径的性质

加权有向图的数据结构

最短路径算法的理论基础

Dijkstra算法

无环加权有向图中的最短路径算法

一般加权有向图中的最短路径问题

展望

第5章 字符串

5.1 字符串排序

键索引计数法

低位优先的字符串排序

高位优先的字符串排序

三向字符串快速排序

字符串排序算法的选择

5.2 单词查找树

单词查找树

单词查找树的性质

三向单词查找树

三向单词查找树的性质

应该使用字符串符号表的哪种实现

5.3 子字符串查找

历史简介

暴力子字符串查找算法

Knuth-Morris-Pratt子字符串查找算法

Boyer-Moore字符串查找算法

Rabin-Karp指纹字符串查找算法

总结

5.4 正则表达式

使用正则表达式描述模式

缩略写法

正则表达式的实际应用

非确定有限状态自动机

模拟NFA的运行

构造与正则表达式对应的

5.5 数据压缩

游戏规则

读写二进制数据

局限

热身运动:基因组

游程编码

霍夫曼压缩

第6章 背景

索引

购买链接

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20190117B1D6W600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券