
算法
KyleWlk
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
单链表反转(非递归)
单链表的反转有很多种犯法,这里最主要讲一下非递归方法中的移动指针的方法。 对于这种方法可能在移动指针的时候很容易出错,所以我想了一种的特殊的思考方法。 在创建链表的时候,有头插法和尾插法两种方法,而头插法创建的链表其数据的顺序刚好与输入的顺序相反,因此可以利用这个特点反转单链表。我们可以从新“创建”单链表,数据来源于原链表。 代码(C++): #include using namespac原创 2013-02-26 21:40:43 · 458 阅读 · 0 评论 -
蛮力法 解决全排列问题
问题: 用蛮力法生成{1,2...,n}的所有n!个排列。 例: 开始 1 插入 2 12 21 插入3 123 132 312 213 231 321 伪代码: 1.生成初始排列{1}; 2.for(i=2;i<=n;i++) for(j=1;j<=(i-1)!;j++) for(k=i;k>=1;k--) 将i插入到第j个...原创 2012-05-24 08:49:34 · 6386 阅读 · 0 评论 -
集合子集问题:
集合子集问题: 给的一个集合按元素个数列出所有列出所有集合子集,如: {1,2,3} 0个元素:{} 1个元素:{1},{2},{3} 2个元素:{1,2},{1,3},{2,3} 3个元素:{1,2,3} 输出:{},{1},{2},{3},{1,2},{1,3},{2,3},{1,2,3} 方法: 采用一个二进制数列表示解,如:[000]代表{},[100]代表{1} 算法原创 2012-05-25 12:11:11 · 542 阅读 · 0 评论