Way to Algorithm 算法之路

2020-03-01 225浏览

  • 1.目 录 致谢 Introduction Commitors Preface 前言 Chapter-1 Sort 第1章 排序 InsertSort 插入排序 BubbleSort 冒泡排序 QuickSort 快速排序 MergeSort 归并排序 Chapter-2 Search 第2章 搜索 KnowledgePoint 知识要点 BinarySearch 二分查找法(折半查找法) BruteForce 暴力枚举 Recursion 递归 BreadthFirstSearch 广度优先搜索 BidirectionalBreadthSearch 双向广度搜索 AStarSearch A*搜索 DancingLinks 舞蹈链 Chapter-3 DataStructure 第3章 数据结构 DisjointSet 并查集 FenwickTree(BinaryIndexTree) 树状数组 SegmentTree 线段树 LeftistTree(LeftistHeap) 左偏树(左偏堆) PrefixTree 前缀树 SuffixTree 后缀树 AVLTree AVL平衡树 RedBlackTree 红黑树 Chapter-4 DynamicProgramming 第4章 动态规划 KnowledgePoint 知识要点 Section-2 KnapsackDP 第2节 背包问题 ZeroOneKnapsack 01背包 ZeroOneKnapsackExtension 01背包扩展 CompleteKnapsack 完全背包 本文档使用 书栈(BookStack.CN) 构建 -1-
  • 2.TwoDimensionKnapsack 二维背包 GroupKnapsack 分组背包 Section-3 RegionalDP 第3节 区域动规 MinimumMergeCost - 最小合并代价 MinimumMergeCostExtension - 最小合并代价扩展 MaximumBinaryTreeMerge - 最大二叉树合并 Section-4 TreeDP 第4节 树形动规 BinaryTreeDP 二叉树动规 MultipleTreeDP 多叉树动规 MultipleTreeDPExtension 多叉树动规扩展 LoopedMultipleTreeDP 带环多叉树动规 TraverseBinaryTreeDP 遍历二叉树动规 Chapter-5 GraphTheory 第5章 图论 Section-1 Traverse 第1节 遍历 KnowledgePoint 知识要点 PreorderTraverse 先序遍历 InorderTraverse 中序遍历 PostorderTraverse 后序遍历 LevelorderTraverse 层序遍历 DepthFirstSearch 深度优先搜索 BreadthFirstSearch 广度优先搜索 TopologicalSort 拓扑排序 EulerCycle 欧拉回路 Section-2 MinimumSpanningTree 第2节 最小生成树 KnowledgePoint 知识要点 Kruskal Kruskal算法 Prim Prim算法 SecondMinimumSpanningTree 次小生成树 OptimalRatioSpanningTree 最优比率生成树 Section-3 ShortestPath 第3节 最短路径 KnowledgePoint 知识要点 Relaxation 松弛操作 BellmanFord BellmanFord算法 ShortestPathFasterAlgorithm 最短路径更快算法(SPFA) 本文档使用 书栈(BookStack.CN) 构建 -2-
  • 3.Dijkstra Dijkstra算法 Floyd Floyd算法 DifferentConstraints 差分约束 Section-4 Connectivity 第4节 连通 KnowledgePoint 知识要点 Kosaraju Kosaraju算法 Tarjan Tarjan算法 Gabow - Gabow算法 TwoSatisfiability 2-SAT问题 Cut 割 双向递增递减子序列 DoubleConnectedComponent 双联通分支 LeastCommonAncestor 最近公共祖先 RangeExtremumQuery 区域最值查询 Section-5 FlowNetwork 第5节 网络流 EdmondsKarp EdmondsKarp算法 PushAndRelabel 压入与重标记 Dinic Dinic算法 DistanceLabel 距离标号算法 RelabelToFront 重标记与前移算法 HighestLabelPreflowPush 最高标号预留与推进算法 DistanceLabel-AdjacentListVersion 距离标号算法-邻接表优化版 Summary-Maxflow 最大流算法小结 MinimumCost-Maxflow 最小费用最大流 MultipleSourceMultipleSink-Maxflow 多源点、多汇点的最大流 Connectivity 连通度 NoSourceNoSink-VolumeBoundedFlow 无源点、无汇点、容量有上下界的流网络 VolumeBounded-Maxflow 容量有上下界的最大流 VolumeBounded-Minflow 容量有上下界的最小流 Section-6 BinaryMatch 第6节 二分匹配 Hungarian 匈牙利算法 HopcroftKarp Hopcroft-Karp算法 MatchToMaxflow 二分匹配转化为最大流 KuhnMunkres Kuhn-Munkres算法 本文档使用 书栈(BookStack.CN) 构建 -3-
  • 4.Introduction-Domination,Independent,Covering,Clique 介绍支配集、独立集、覆盖集和团 WeightedCoveringAndIndependentSet 最小点权覆盖和最大点权独立集 MinimumDisjointPathCovering 最小不相交路径覆盖 MinimumJointPathCovering 最小可相交路径覆盖 Coloring 染色问题 Chapter-6 Calculation 第6章 计算 LargeNumber 大数字 DecimalConversion 进制转换 Exponentiation 幂运算 Chapter-7 CombinatorialMathematics 第7章 组合数学 KnowledgePoint 知识要点 FullPermutation 全排列 UniqueFullPermutation 唯一的全排列 Combination 组合 DuplicableCombination (元素)可重复的组合 Subset 子集 UniqueSubset 唯一的子集 Permutation 排列 PermutationGroup 置换群 Catalan 卡特兰数 Chapter-8 NumberTheory 第8章 数论 Sieve 筛选算法 Euclid 欧几里得 EuclidExtension 欧几里得扩展 ModularLinearEquation 模线性方程 ChineseRemainerTheorem 中国剩余定理 ModularExponentiation 模幂运算 Chapter-9 LinearAlgebra 第9章 线性代数 Section-1 Matrix 第1节 矩阵 Strassen Strassen算法 GaussElimination 高斯消元法 LUP LUP分解 InverseMatrix 矩阵求逆 Section-2 LinearProgramming 第2节 线性规划 本文档使用 书栈(BookStack.CN) 构建 -4-
  • 5.Simplex 单纯形算法 Dinkelback Dinkelback算法 Chapter-10 AnalyticGeometry 第10章 解析几何 Section-1 Polygon 第1节 多边形 Cross 叉积 SegmentIntersection 线段相交 PointInConvexPolygon 点在多边形内 Sweeping 扫除算法 ConvexPolygonArea 凸多边形面积 ConvexPolygonGravityCenter 凸多边形重心 RayDistinguish 射线判别 RotatingCalipers 旋转卡壳 Section-2 ConvexHull 第2节 凸包 NearestNeighbor 最近点对 GrahamScan Graham扫描算法 QuickConvexHull 快速凸包算法 Chapter-11 TextMatch 第11章 文本匹配 SimpleMatch 简单匹配 KMPMatch KMP匹配算法 ACAutomation AC自动机 Chapter-12 GameTheory 第12章 博弈论 BashGame 巴什博弈 WythoffGame 威佐夫博弈 NimGame 尼姆博弈 SpragueGrundy SG函数 本文档使用 书栈(BookStack.CN) 构建 -5-
  • 6.致谢 致谢 当前文档 《Way to Algorithm - 算法之路》 由 进击的皇虫 使用 书栈(BookStack.CN) 进行构建,生成于 2018-03-12。 书栈(BookStack.CN) 仅提供文档编写、整理、归类等功能,以及对文档内容的生成和导出工 具。 文档内容由网友们编写和整理,书栈(BookStack.CN) 难以确认文档内容知识点是否错漏。如 果您在阅读文档获取知识的时候,发现文档内容有不恰当的地方,请向我们反馈,让我们共同携手, 将知识准确、高效且有效地传递给每一个人。 同时,如果您在日常生活、工作和学习中遇到有价值有营养的知识文档,欢迎分享到 书栈 (BookStack.CN) ,为知识的传承献上您的一份力量! 如果当前文档生成时间太久,请到 书栈(BookStack.CN) 获取最新的文档,以跟上知识更新换 代的步伐。 文档地址:http://www.bookstack.cn/books/Way-to-Algorithm'>http://www.bookstack.cn/books/Way-to-Algorithm