第1章 编程的基本要素
1.1 变量和赋值运算
1.2 基本运算
1.3 控制结构
1.4 函数
第2章 编程的应用要素
2.1 命名规则
2.2 区间的表示方法
2.3 递归
2.4 类
2.5 指针
第3章 算法设计的准备
3.1 大O表示法
3.2 问题的约束条件
第4章 空间结构概述
4.1 空间结构:概述
4.2 数组
4.3 图
4.4 树
第5章 数组
5.1 单节点
5.2 一维数组
5.3 二维数组
第6章 树
6.1 二叉树
6.2 完全二叉树
6.3 满二叉树
6.4 森林
第7章 图
7.1 无向图
7.2 有向图
第8章 点群
8.1 二维点群
第9章 动态结构
9.1 链表
9.2 动态二叉树
第10章 入门
10.1 交换
10.2 最大值
10.3 交换排序
第11章 对数组的基本查询
11.1 和
11.2 最小值
11.3 最小值的位置
第12章 搜索Search
12.1 线性搜索
12.2 二分搜索
第13章 对数组元素进行排序
13.1 反转
13.2 插入
13.3 合并
13.4 分割
第14章 慢速排序
14.1 冒泡排序
14.2 选择排序
14.3 插入排序
第15章 与整数相关的算法
15.1 埃拉托色尼筛法
15.2 欧几里得算法
第16章 基本数据结构1
16.1 栈
16.2 队列
第17章 对数组的计算
17.1 累积和
17.2 一维累积和
17.3 二维累积和
第18章 堆Heap
18.1 向上调整堆
18.2 向下调整堆
18.3 构建堆
18.4 优先队列
第19章 二叉树
19.1 前序遍历
19.2 后序遍历
19.3 中序遍历
19.4 层序遍历
第20章 排序Sort
20.1 合并排序
20.2 快速排序
20.3 堆排序
20.4 计数排序
20.5 谢尔排序
第21章 基本数据结构2
21.1 双向链表
21.2 哈希表
第22章 广度优先搜索
22.1 广度优先搜索
22.2 使用BFS计算最短距离
22.3 Kahn算法
第23章 深度优先搜索、
23.1 深度优先搜索
23.2 使用DFS进行连通分量分解
23.3 使用DFS进行环检测
23.4 Tarjan算法
第24章 合并查找树
24.1 按秩合并
24.2 路径压缩
24.3 合并查找树
第25章 求最小生成树的算法
25.1 普里姆算法
25.2 克鲁斯卡尔算法
第26章 求最短路径的算法
26.1 迪杰斯特拉算法
26.2 迪杰斯特拉算法(优先队列)
26.3 贝尔曼-福特算法
26.4 Floyd-Warshall算法
第27章 计算几何学
27.1 礼品包装算法
27.2 Graham扫描法
27.3 安德鲁算法
第28章 线段树
28.1 线段树:RMQ
28.2 线段树:RSQ
第29章 搜索树
29.1 二叉查找树
29.2 旋转
29.3 树堆
参考文献
展开