- 博客(5)
- 资源 (4)
- 收藏
- 关注
原创 多数派问题
假设数组v[1...n]中的每个元素v[i](1对于实际应用场景,我们可以用下面的方法解决该问题,用一个m元素的数组,分别记录各候选人的得票数,同时记录当前得票最多的候选人的得票总数,然后依次读入v[1...n]这n张选票,对每张选票对应的候选人的得票数加1。所有选票处理完毕后,判断得票数最多的候选人的得票数,是否大于n/2。该算法的时间复杂度为O(n),空间复杂度为O(m)。一般情况,候选人
2011-12-18 16:43:13 4193 1
原创 一次买卖问题(single sell profit)
问题是这样的,假设有一只股票a,a[1...n]代表股票a在第1到第n天所对应的股价,试找到一对值i,j,满足1 1 2 3 4 5 6 7 8 9101112 a271828459045用白话说,就是你已经知道了某只股票在若干天中的价格,现在需要做的是
2011-12-16 19:32:44 3890 1
原创 全排列生成算法(一)
对于给定的集合A{a1,a2,...,an},其中的n个元素互不相同,如何输出这n个元素的所有排列(全排列)。递归算法这里以A{a,b,c}为例,来说明全排列的生成方法,对于这个集合,其包含3个元素,所有的排列情况有3!=6种,对于每一种排列,其第一个元素有3种选择a,b,c,对于第一个元素为a的排列,其第二个元素有2种选择b,c;第一个元素为b的排列,第二个元素也有2种选择a,c,……,
2011-12-15 16:47:23 51401 6
原创 全排列生成算法(三)
基于阶乘数的全排列生成算法,是另一种通过序列顺序,输出全排列的算法。所谓阶乘数,实际上和我们常用的2进制,8进制,10进制,16进制一样,是一种数值的表示形式,所不同的是,上面这几种进制数,相邻位之间的进制是固定值,以10进制为例,第n位与第n+1位之间的进制是10,而阶乘数,相邻两位之间的进制是变值,第n位与第n+1位之间的进制是(n+1)!。对于10进制数,每一位的取值范围也是固定的0~9,而
2011-12-15 16:00:13 6005
原创 全排列生成算法(二)
Steinhaus-Johnson-Trotter算法是一种基于最小变换的全排列生成算法,对于排列a[1...n],该算法通过将a[i],与a[i-1](或a[i+1])进行交换,生成下一个排列,直到所有排列生成完毕为止,这样,当前排列与其后继排列只是两个相邻位置的元素发生了调换。当然,为了防止重复生成某一个排列,算法并非随意调换某两个元素之间的位置,其生成全排列的具体规则如下。首先,以字
2011-12-15 14:34:57 5803
XUNIT测试模式--测试码重构(英文版)
2009-04-14
多处理器编程的艺术(英文版)
2009-04-14
Visual Studio 2005 Team System软件测试专家教程(英文版)
2009-04-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人