
算法
文章平均质量分 66
陈止风
个人主页:http://www.yingzinanfei.com
github: https://github.com/cpys
展开
-
约瑟夫环问题及其尽可能的优化
约瑟夫问题描述:n个人围成一个圈,编号为0,1,2,..,n-1,设定一个常数k,然后从0号开始从1依次报数,报到k的那个人退出圈,后面一个人继续从1开始报数,依次类推,求最后剩下的人的编号方法1:模拟游戏过程的方法,将n个人串成一个循环链表,不停地去遍历链表,直到最后剩下一个结点。优点:方法直观,写起来很容易缺点:模拟了全部游戏过程,非常耗时,并且在n较大时占用较大的原创 2016-04-17 18:47:29 · 3757 阅读 · 4 评论 -
子集生成各算法
来源自我的博客 http://www.yingzinanfei.com/2017/04/01/zijishengchenggesuanfa/增量构造法,一次选出一个元素放到集合中 枚举集合{0,1,2,…,n}的所有子集 cpp // A表示缓存数组,cur表示已放入的数个数 void print_subset(int n, int* A, int cur){ for (int i =原创 2017-04-01 16:45:15 · 1419 阅读 · 1 评论 -
非递归方式遍历二叉树(前序,中序,后序)代码
来源自我的博客 http://www.yingzinanfei.com/2017/04/01/feidiguifangshibianlierchashuqianxuzhongxuhouxudaima/#include <iostream>#include <string>#include <stack>using namespace std;struct Node { int v原创 2017-04-01 16:35:05 · 787 阅读 · 0 评论 -
各类排序算法生成与测试样例代码
来源自我的博客 http://www.yingzinanfei.com/2017/04/01/geleipaixusuanfashengchengyuceshiyanglidaima/#include <iostream>#include <vector>#include <random>#include <algorithm>#include <functional>#includ原创 2017-04-01 10:30:32 · 1789 阅读 · 0 评论 -
图割点求解问题
来源自我的博客 http://www.yingzinanfei.com/2017/04/07/tugedianqiujiewenti/#include <stdio.h>int flag[10];int num[10]; // 记录结点的访问时间次序int index; // 时间int low[10]; // 记录结点不过父结点能访问到的最早顶点// 割点算法核心vo原创 2017-04-07 09:34:51 · 724 阅读 · 0 评论 -
Bellman-Ford算法和队列优化(SPFA)——求单源最短路径
来源自我的博客 http://www.yingzinanfei.com/2017/04/07/bellman-fordsuanfaheduilieyouhuaspfaqiudanyuanzuiduanlujing/#include <stdio.h>#include <limits.h>int main(){ int n, m; scanf("%d%d", &n, &m);原创 2017-04-07 09:29:32 · 840 阅读 · 0 评论 -
Dijkstra算法——求单源最短路径
来源自我的博客 http://www.yingzinanfei.com/2017/04/07/dijkstrasuanfaqiudanyuanzuiduanlujing/#include <stdio.h>#include <limits.h>int main(){ int n, m; scanf("%d%d", &n, &m); int e[10][10]; //原创 2017-04-07 09:22:11 · 737 阅读 · 0 评论 -
0-1背包详细解释加代码注释
来源自我的博客 http://www.yingzinanfei.com/2017/03/04/0-1beibaoxiangxijieshijiadaimazhushi/问题:有n种物品,每种只有一个。第i种物品的体积为Vi,重量为Wi。选一些物品装到一个容量为C的背包,使得背包内物品在总体积不超过C的前提下重量尽量大。1 <= n <= 1001 <= Vi <= C <= 100001 <=原创 2017-03-04 15:52:19 · 476 阅读 · 0 评论 -
枚举排列各算法
来源自我的博客 http://www.yingzinanfei.com/2017/04/03/meijupailiegesuanfa/生成1~n的全排列 数组版 cpp // c语言数组版 // n是全排列的数字个数,也是数组A的最大长度,cur表示已经填充的数字个数 void print_permutation(int n, int* A, int cur){ if (cur ==原创 2017-04-03 10:19:04 · 2872 阅读 · 4 评论