前言
第1章 时间复杂度与空间复杂度
1.1 时间复杂度
1.2 空间复杂度
第2章 排序算法
2.1 冒泡排序
2.2 选择排序
2.3 插入排序
2.4 希尔排序
2.5 归并排序
2.6 堆排序
2.7 快速排序
2.7.1 快速排序的常用方法
2.7.2 快速排序的优化
2.7.3 非递归实现
2.7.4 算法比较
2.7.5 快速排序的一些应用
2.8 计数排序
2.9 桶排序
2.10 基数排序
2.10.1 LSD基数排序
2.10.2 MSD基数排序
2.10.3 字符串使用基数排序实现字典排序
2.11 总结
第3章 线性结构
3.1 数据结构的分类
3.2 数组
3.3 链表
3.3.1 单向链表
3.3.2 双向链表
3.3.3 有序链表
3.3.4 循环双向链表
3.3.5 链表排序
3.4 栈
3.4.1 栈的特点和相关概念
3.4.2 栈相关的方法
3.4.3 栈的应用场景
3.5 队列
3.5.1 队列的常用方法
3.5.2 队列的典型应用
3.6 散列简述
3.7 位图
3.7.1 位图简述
3.7.2 位图的应用
3.8 块状链表
3.8.1 简介
3.8.2 操作
3.9 总结
第4章 散列
4.1 散列的定义
4.2 散列函数
4.3 散列冲突的解决方案
4.3.1 开散列方法
4.3.2 闭散列方法
……
第5章 树与二叉树
第6章 堆与优先队列
第7章 并查集
第8章 线段树
第9章 树状数组
第10章 前缀树
第11章 跳表
第12章 简单的平衡树
第13章 字符串算法
第14章 回溯算法
第15章 动态规划
展开