算法总结
JoyOrientedCode
这个作者很懒,什么都没留下…
展开
-
贪心算法
贪心算法贪心算法主要使用场景场景注意事项得不到最优解的处理方法输入参数分析误差分析结构模板结构模板主体实现cpp证明方法数学归纳法第一数学归纳法适用范围归纳基础归纳步骤第二数学归纳法适用范围归纳基础归纳步骤经典问题活动选择问题问题描述算法设计贪心设计*证明*数学归纳法命题归纳基础归纳步骤例题演示实现cpp最优装载问题问题描述建模算法设计贪心策略贪心过程*证明*数学归纳法命题归纳基础归纳步骤例题演示实现最小延迟调度问题描述建模算法设计贪心策略贪心设计*证明*交换论证贪心算法解的性质引理1证明要点例题演示实现c原创 2020-07-04 18:47:49 · 3514 阅读 · 4 评论 -
tarjanLCA算法
tarjantarjan主要使用场景场景注意事项结构模板结构模板主体并查集条件插入询问数组dfs实现cpp经典问题LCA问题描述例题演示实现cpp参考文献tarjan主要使用场景场景LCA问题,多组询问注意事项tarjan挺复杂的…代码中使用了一个unordered_map<int, vector<int>> checkIfQuery;数组来检测当前点是否被挂载了询问,但是当要求输出询问组按给定序号时,不能只使用vector<int>,需要把节点的序号信原创 2020-07-03 17:41:21 · 234 阅读 · 0 评论 -
dijstra算法
dijstradijstra主要使用场景场景注意事项结构模板结构模板主体初始化函数遍历函数实现cpp经典问题正权单源最短路问题描述例题演示实现cpp参考文献dijstra主要使用场景场景计算边权为正的图的单源最短路径注意事项边权必须为正dijstra算法的处理对象是图,图可以以各种方式保存,这里采用邻接矩阵的方式这个算法把图和一对节点输入,并把最短路径写在path数组数组里.(path实际保存的是当前节点在最短路径的下一个节点)如果想检测到目的地就停止可以在每次循环的末尾判断desti原创 2020-07-02 15:05:23 · 956 阅读 · 0 评论 -
KMP算法
KMPKMP主要使用场景场景注意事项模板逻辑模板主体初始化找根结点联合集合实现cpp经典问题字符串模式匹配问题描述例题演示实现cpp参考文献KMP主要使用场景场景字符串模式匹配注意事项模板逻辑模板主体bool disjointSet(vector<int> parent, vector<edge> edgeList, vector<int> vertexList){ //初始化 initiate(parent); //开始原创 2020-07-01 17:43:34 · 100 阅读 · 0 评论 -
并查集(Disjoint Set)
Disjoint Set并查集 Disjoint Set主要使用场景场景模板逻辑模板实现cpp经典问题无向图找环问题描述例题演示思路实现cpp参考文献并查集 Disjoint Set主要使用场景场景无向图找环模板逻辑模板实现cpp经典问题无向图找环问题描述无向图给点集和边集求是否有环,有则输出true无则输出false例题演示设有图如下:找环思路用一个parent数组来表示一个树结构大家rank都是0录入一条边,这里假设最先录入的是0-1边,找到0-1的根是原创 2020-06-30 16:26:18 · 205 阅读 · 0 评论