基础算法模板目录
基础算法模板目录
1-进制转换
2-字符串处理
3-排序
直接插入排序
折半插入排序
希尔排序
冒泡排序
快速排序
简单选择排序
堆排序
二路归并排序从上往下
基数排序
计数排序
双向冒泡排序
单链表直接插入排序
4-递归
5-二分查找
二分查找法模板
给定一个定义在[L,R]上的单调函数f(x),求方程f(x)=0的根
装水问题
木棒切割问题
求凸多边形外接圆最大半径
快速幂求解a^b%m
6-数学问题
求正整数a和b的最大公约数和最小公倍数
分数的四则运算
素数判断
埃氏筛法
质因子分解
大整数存储和四则运算
扩展欧几里得算法
计算n!中含有多少个质因子p
组合数C(n,m)的计算
7-基础数据结构
7-1 栈
7-2 队列
参考7-6 广度优先搜索
7-3 链表
7-4 并查集
7-5 深度优先搜索
给定一个序列,枚举这个序列的所有子序列(子序列中的元素可以不连续,元素不能选择多次)
枚举从N个整数中选择K个数(不能重复选择)的所有方案
枚举从N个整数中选择K个数(可以重复选择)的所有方案
7-6 广度优先搜索
BFS模板
统计二维矩阵中的块数
求解在二维矩阵迷宫中从起点S到终点T的最少步数
8-树
8-1 二叉树的遍历
二叉树的动态实现(使用指针)
二叉树的静态实现(使用数组存储结点)
8-2 树的遍历
8-3 二叉查找树BST
8-4 平衡二叉树AVL树
8-5 堆
8-6 哈夫曼树
9-图
9-1 图的遍历
9-2 最短路径
迪杰斯特拉算法,单源最短路径(不含负边权)
迪杰斯特拉算法优化模板,针对存在多条最短路径的情况
Bellman-Ford算法,单源最短路径(含负边权)
SPFA算法,单源最短路径(含负边权)
Floyd算法,全源最短路径
9-3 最小生成树
prim算法
prim算法例题
kruskal算法
kruskal算法例题
9-4 拓扑排序
10-贪心
11-语法使用
结构体定义使用
vector的用法
使用vector实现邻接表
set的用法
string的用法
map的用法
queue的用法
priority_queue的用法
stack的用法
pair的用法