前一段时间总结了全排列问题的几种递归解法,今天再总结一下如何通过对系统栈行为的模拟来非递归的实现全排列问题。 我们用一个数组stack[]来表示一个栈,用一个top指针来表示栈顶,用一个flags[]数组来标示每一个数字的可用性;用i来表示当前的状态。 初始状态top=0;i=-1;f...
分类:
其他好文 时间:
2014-08-21 22:31:37
阅读次数:
206
A - One-Based Arithmetic
Time Limit:500MS Memory Limit:262144KB 64bit IO Format:%I64d
& %I64u
Submit Status
Appoint description:
System Crawler (2014-08-21)
Description
...
分类:
其他好文 时间:
2014-08-21 21:16:04
阅读次数:
215
快速排序分析:
最优时间复杂度:O(nlog2n) 在乱序情况下
最坏时间复杂度:O(n^2) 在顺序情况下
平均时间复杂度:O(nlog2n)
空间复杂度:O(n)
稳定性:不稳定
快速排序C语言 递归与非递归实现...
分类:
其他好文 时间:
2014-08-21 21:12:44
阅读次数:
213
private bool DeleteNode(string pguid) { try { // string strFguid = ""; IList _list_Jc_jcdxt...
分类:
其他好文 时间:
2014-08-21 21:03:54
阅读次数:
138
1. 遍历目录,不仅仅只是echo出,而是返回一个多维数组。递归遍历目录,返回数组。 1 ';21 $data = dir_list($dir_name);22 var_dump($data);23 echo '';24 ?>
分类:
其他好文 时间:
2014-08-21 19:05:44
阅读次数:
295
递归(recursion):程序调用自身的编程技巧。 递归满足2个条件: 1)有反复执行的过程(调用自身) 2)有跳出反复执行过程的条件(递归出口)递归例子:(1)阶乘 n! = n * (n-1) * (n-2) * ...* 1(n>0)//阶乘int recursive(int i){ int...
分类:
其他好文 时间:
2014-08-21 14:55:54
阅读次数:
218
有5 个人坐在一起,问第五个人多少岁?他说比第4 个人大2 岁。问第4 个人岁数,他说比第3 个人大2 岁。问第三个人,又说比第2 人大两岁。问第2 个人,说比第一个人大两岁。最后问第一个人,他说是10 岁。请问第五个人多大?
1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10 岁),再往回推。
2.程序源代码...
分类:
数据库 时间:
2014-08-21 11:37:44
阅读次数:
292
网上有很多FTP单个文件下载的方法,前段时间需要用到一个FTP文件夹下载的功能,于是找了下网上的相关资料结合MSDN实现了一段FTP文件夹下载的代码。实现的思路主要是通过遍历获得文件夹下的所有文件,当然,文件夹下可能仍然存在文件夹,这样就需要结合递归这种方法来实现对一个我们指定的文件夹获得其下的所....
分类:
其他好文 时间:
2014-08-21 11:19:44
阅读次数:
207
1、算法思想
快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。
(1) 分治法的基本思想
分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。
(2)快速排序的...
分类:
其他好文 时间:
2014-08-21 09:52:02
阅读次数:
267
整数划分问题是算法中的一个经典命题之一,有关这个问题的讲述在讲解到递归时基本都将涉及。所谓整数划分,是指把一个正整数n写成如下形式: n=m1+m2+...+mi; (其中mi为正整数,并且1 0 ),只有一种划分即 { 1 }; (2) 当 m = 1 时,不论n的值为多少,只有一种划分即 n ....
分类:
其他好文 时间:
2014-08-21 09:38:53
阅读次数:
267