引言:时间复杂度的求解,在此都是以实例进行讲解,各位读者可以从中慢慢理解;以下所有的案例都是以Python语言编写!案例一:求a的n次方代码如下:defexp1(a,n):ifn==1:returnaelse:returna*exp2(a,n-1)分析:1、问题的规模是n;2、当规模为1是结束;3、假设T(n)表示规模为n..
分类:
其他好文 时间:
2014-07-23 00:22:08
阅读次数:
170
问题:汉诺塔递归算法时间复杂度算法如下:解释:size表示汉诺塔的规模,startStack表示汉诺塔起始,endStack表示完成,midStack表示辅助defTowers(size,startStack,endStack,midStack):ifsize==1:print‘Movediskfrom‘,firstStack,‘to‘,endStackelse:Towers(size-1,firstStack,..
分类:
其他好文 时间:
2014-07-23 00:21:18
阅读次数:
1610
递归算法 程序调用自身的编程技巧称为递归( recursion)。 一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题类似的规模较小的问题来求解,递归策略仅仅需少量的程序就可描写叙述出解题过程所须要的多次反复计算,大大地降低了程序的...
分类:
其他好文 时间:
2014-07-22 23:01:12
阅读次数:
161
要死了,这个题竟然做了两天……各种奇葩的错误……HNU的12831也是这个题。题意: 给你两个等差数列,求这两个数列的公共元素的数量。 每个数列按照以下格式给出: N F D(分别表示每个数列的长度,首项,公差)。思路: 先用扩展欧几里得得到两个数列的一个交点,然后求出两个数列的第一个交点。然...
分类:
其他好文 时间:
2014-07-22 22:42:13
阅读次数:
209
UVA 11551 - Experienced Endeavour
题目链接
题意:给定一列数,每个数对应一个变换,变换为原先数列一些位置相加起来的和,问r次变换后的序列是多少
思路:矩阵快速幂,要加的位置值为1,其余位置为0构造出矩阵,进行快速幂即可
代码:
#include
#include
const int N = 55;
int t, n, r, a...
分类:
其他好文 时间:
2014-07-22 22:38:35
阅读次数:
171
传送门:http://tyvj.cn/Problem_Show.aspx?id=1729文艺平衡树From admin背景 Background此为平衡树系列第二道:文艺平衡树描述 Description您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,...
分类:
其他好文 时间:
2014-07-22 00:25:35
阅读次数:
248
重写和重载,他们其实是实现类型多态(同一种方法,不同的对象会产生不同的结果)特性的基本技术之一,两种技术貌似而实质截然不同。重载的条件:1.必须在同一个类中2.方法名必须相同3.参数列表不能相同。重写的条件:1. 在不同的类中2. 发生方法重写的两个方法返回值,方法名,参数列表必须完全一致3. 子类...
分类:
其他好文 时间:
2014-07-22 00:24:34
阅读次数:
199
排列组合:C(m,n),m为给定数列,n为要从数列m中取元素的数量,GetResult()获取所有不重复的组合。 public class MathCombination { List list; int count = 0; private Math...
分类:
其他好文 时间:
2014-07-22 00:23:35
阅读次数:
173
希尔排序——1959年shell提出而得名,也称为缩小增量排序算法,它是直接插入排序的改进,效率比较高,适合于中小规模的排序。
具体的算法实现步骤为:首先得知道直接插入排序的算法,然后就是选择增量给原数列进行分组,对每个分得的小组进行直接插入排序便可,然后逐渐减小这个增量,依然进行新的分组的直接插入排序,直到增量为1,此时数列便是有序数列了。具体的代码如下:
首先是对特定的增量的分组的直接插入...
分类:
其他好文 时间:
2014-07-21 16:28:03
阅读次数:
198
在第三节中,我们将讨论序列化问题中的动态规划解法。这部分多半分为单序列和双序列等问题
例一:最长上升子序列。
最长上升子序列问题,有一个正整数数列,长度n在1000之内,元素a[i]在10^5之内,求最长递增子序列的长度。
分析一:发现问题的可分性质
如果我们采用穷举法,将有2^n的时间复杂度;这里面有很多是重复的4、3、***类型的子序列,以4开头的递增子序列的长度都是1....
分类:
其他好文 时间:
2014-07-21 15:34:06
阅读次数:
207