快速选择这是一种快速将数据分成两组的方法。类似快速排序算法。在ExcelHome网站讨论一亿取十万这个问题时,得到该网站知名网友“香川群子”的VB代码。核心如下:Function QuickSort2(tr, l&, u&, k&) '递归算法的快速排序过程 不解释 Dim i&, j&, r...
分类:
其他好文 时间:
2015-04-21 00:18:48
阅读次数:
305
递归是一种函数或方法中调用自身的编程技术,递归思想在于把大问题分解为小问题,进一步分解为更小的问题,直到每个小问题可以解决为止,也就是说,递归就是用与自己相似但规模较小的问题来描述自己。 递归算法的三个特性: 1,求解规模为n的问题可以转化为一个或多个结构相同规模较小的的问题,然后从这...
分类:
编程语言 时间:
2015-04-19 17:50:54
阅读次数:
189
二元树:
每个节点有两个子节点,左子节点和右子节点。
节点结构:
typedef struct NODE
{
char val;
NODE *left;
NODE *right;
} NODE ;
生成二元树:
利用递归算法,不断生成新的节点,并加入树中,‘#’代表空节点
NODE* TreeConstructor()
{
char ch;
cin>>ch;
NOD...
分类:
其他好文 时间:
2015-04-17 11:41:53
阅读次数:
169
problem:
The gray code is a binary numeral system where two successive values differ in only one bit.
Given a non-negative integer n representing the total number of bits in the code, pr...
分类:
其他好文 时间:
2015-04-14 21:31:46
阅读次数:
149
字符串的全排列非递归算法是每次都寻找比前序列大一点的序列,如:起点:字典序最小的排列,例如12345终点:字典序最大的排列,例如54321过程:从当前排列生成字典序刚好比它大的下一个排列。算法过程:后找、小大、交换、翻转后找:字符串中最后一个升序的位置i,即S[k]>S[k+1](k>i),S[i]...
分类:
编程语言 时间:
2015-04-11 20:38:52
阅读次数:
184
【一个比较经典的算法题目】题目链接:http://lx.lanqiao.org/problem.page?gpid=T235问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:13.....
分类:
编程语言 时间:
2015-04-11 13:14:03
阅读次数:
218
今天写一下最大公约数算法,英文简称为Gcd算法。
1.递归解法:/*书上并没有给出递归的解法,可能是觉得这个解法不是很完美,但是给出来就当学习下递归。*/
int Gcd(unsigned num1, unsigned num2){
if (num1 == 0 || num2 == 0)//算法基于欧几里德的算法。
return (num1 > num2) ? num1 :...
分类:
编程语言 时间:
2015-04-10 22:33:05
阅读次数:
207
思路:
最大公约数问题也是一个非常典型的递归算法的应用。每次递归使得原来求两个大数之间的公约数转变成求两个稍微小点的数之间的公约数,要求转换的过程要保证不会改变公约数的值。这就要看其中转换的原理了。
原理从《几何原本》中得出--辗转相除。假设f(x, y) 表示x,y的最大公约数是g,而k = x/y,b= x%y,则g必能整出b。因为x = ky + b,b = x - ky,b/g...
分类:
其他好文 时间:
2015-04-10 17:59:04
阅读次数:
164
题目:给定字符串S[0...N-1],设计算法,枚举S的全排列。假设字符串为“1234”,首先考虑1,然后问题就变成了考虑“234”的全排列,所以问题规模缩小了1,然后再考虑2,依次类推。可以采用递归算法。1-2342-1343-1244-123假设有重复字符,则重复字符的全排列就是每个字符分别与它...
分类:
编程语言 时间:
2015-04-10 17:17:56
阅读次数:
149
#include #include#includeusing namespace std;//智二//交换数组中两个元素的位置void swap(int left, int right, int sort[]){ int temp; temp = sort[left]; sort...
分类:
编程语言 时间:
2015-04-05 20:11:23
阅读次数:
120