基础算法模板目录

基础算法模板目录

1-进制转换

P进制数转换为Q进制数
计算两个日期差值

2-字符串处理

判断是否为回文串
将字符串S映射为一个整数id

3-排序

直接插入排序
折半插入排序
希尔排序
冒泡排序
快速排序
简单选择排序
堆排序
二路归并排序从上往下
基数排序
计数排序
双向冒泡排序
单链表直接插入排序

4-递归

输出n个正整数的全排列
n个皇后放置问题

5-二分查找

二分查找法模板
给定一个定义在[L,R]上的单调函数f(x),求方程f(x)=0的根
装水问题
木棒切割问题
求凸多边形外接圆最大半径
快速幂求解a^b%m

6-数学问题

求正整数a和b的最大公约数和最小公倍数
分数的四则运算
素数判断
埃氏筛法
质因子分解
大整数存储和四则运算
扩展欧几里得算法
计算n!中含有多少个质因子p
组合数C(n,m)的计算

7-基础数据结构

7-1 栈

codeup 1918简单计数器_计算中缀和后缀表达式

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 图的遍历

图的DFS遍历
图的BFS遍历

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的用法

12-未归类算法

rand()生成随机数
浮点数比较
随机选择算法
随机选择算法应用
随机快速排序

posted @ 2022-09-30 23:31  zhaoo_o  阅读(24)  评论(0编辑  收藏  举报