算法证明
文章平均质量分 77
LoHiauFung
爱骑车的程序员
展开
-
#算法证明#证明字典序全排列生成算法及实现
缘起在网上看到了字典序全排列生成算法,不懂为什么会这样可以算法可以生成当前序列的下一个字典序,于是便在思考能不能证明一下。 step1: 对于排列a[0...n−1] a[0...n-1],找到所有满足a[k]<a[k+1](−1<k<n−2) a[k]<a[k+1](-1<k<n-2)的k的最大值,如果这样的k不存在,则说明当前排列已经是a的所有排列中字典序最大者,所有排列输出原创 2016-10-23 15:30:06 · 1552 阅读 · 0 评论 -
Floyd算法求图最短路径及实现
最短路径搜索是基于Floyd算法的改进。Floyd算法的基本思想 图1 选i到j的最短路径 Floyd算法的基本思想是:比较直接从i到j和从i经k到j的路径长度,选择较短的一条。当此条最短路径选定后,无论是i->j,或者是i->k->j都可以抽象成i->j,既都是以i为起点,j为终点的一条最短路径。 此时,考虑i,j,k,之外的另一节点n,要找i到n的最短路径。 图2 重复上述比较,原创 2016-12-06 15:51:51 · 5466 阅读 · 0 评论