- 博客(11)
- 资源 (26)
- 收藏
- 关注
原创 整数划分问题
#includeusing namespace std;int q(int n,int m){ if((n return 0; if((n==1) || (m==1)) return 1; if(n return q(n,n); if(n==m) return q(n,m-1)+1; return q(n,m-1)+q(n-m,m);}int main(){ int a;
2007-08-30 14:16:00 584
原创 几个常用的排序算法
1、冒泡排序: 将相邻两个数比较,将小的调到前头,冒泡排序是稳定的。void BubbleSort(int a[],int n){ int i,j,temp; for(i=0;i for(j=0;j { if(a[j+1] { temp=a[j+1]; a[j+1]=a[j]; a[j]=temp; } }}2、选择排序: 选择排序开始
2007-08-30 14:12:00 1074 1
原创 选择问题
/* 选择问题是求一个n个数列表的第k个最小元素的问题. 算法:把一个数组的元素分成两个子集:如果值P是两个分区的中轴,那么一个子集包含小于等于P的 元素,另一个子集包含那些大于等于P的元素. 先假设S是分区的分割位置.如果S=K,中轴P就是选择问题的解;如果S>K,整个列表的第K个最小元素 就是分区数组的左边部分的第K个最小元素;如果S*/#includeint Partiti
2007-08-30 14:11:00 664
原创 棋盘覆盖
/*棋盘覆盖 2^k * 2^k个方格组成的棋盘,其中有一个特殊方格,然后用4种不同形态的L型骨牌覆盖给定的特殊 棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖. 用分治策略: 当k>0时,将2^k * 2^k棋盘分割为4个2^k-1 * 2^k-1子棋盘; 特殊方格必位于4个较小子棋盘之一中,其余3个子棋盘中无特殊方格.为了将这3个无特殊方格的子棋盘转化为 特殊棋盘,可
2007-08-30 14:09:00 655
原创 模式计算
/* 模式计算:在给定的数字列表中最经常出现的一个数值称为模式.例如,对于5,1,5,7,6,5,7来说, 模式是5.*/#include#define NR 100int PresortMode(int *a,int n){ int i=0,maxlen=0,maxvalue,curvalue,curlen; while(i { curlen=1; curvalue=a[i]; w
2007-08-30 14:08:00 1275
原创 互质判断
/* 判断两个数是否互为质数算法:根据互质的概念,两个数最大公约数为1,它们就是互质的. 用展转想除法:求两个数的最大公约数,如果它为1,就说明它们互质,否则不是互质的*/#includeint isPrime(int m,int long n){ int temp,d3=1; if(n>m) { temp=m; m=n; n=temp; } while(d3!=0) { d3=m
2007-08-30 14:06:00 1206
原创 JohnsonTrotter排列算法
#include#includeusing namespace std;typedef struct { int val; int row; /*箭头指向,0表示指向左,1指向右*/}INTS;int maxmove(INTS *a,int n) /*找出最大的移动整数K的下标maxi*/{ int i,maxi=-1,max=0; if(a[0].row && a[0].v
2007-08-30 14:03:00 1537 1
原创 插值查找
/* 插值查找:数组是线性递增的,如果某次迭代处理的数组位于最左边元素A[L]和最右边元素A[R]之 间的一部分,沿着穿越点(L,A[L])和点(R,A[R])的直线分布的.*/#includeint main(){ int a[100],i,l,r,n,x,v; printf("Please enter the len of the array:"); scanf("%d",&n);
2007-08-30 14:03:00 855
原创 HeapPermute排序算法
#include#define NR 20int a[NR]; /*一个全局数组*/int m;void HeapPermute(int n){ int i,temp; if(n==1) { for(i=1;i printf("%d ",a[i]); printf("/n"); } else { for(i=1;i { HeapPermute(n-1);
2007-08-30 14:02:00 2241 1
原创 字典排序算法
/* 字典排序算法:排列按照增序排队,比如:123 132 213 231 312 321 算法:从右到左扫描一个当前的排列,寻找第一对连续的元素ai和ai+1, 并且aiai+2>...>an).然后在尾部寻找大于ai的最小 数字并将它放在位置i上.从i+1到n的位置以元素ai,ai+1,...,an的增序 进行填充.*/#include#define NR 20void Heap
2007-08-30 14:00:00 1768
原创 波瓦松的分酒趣题
某人有12品脱的啤酒一瓶,想从中倒出6品脱,但他没有6品脱的容器,仅有一个8品脱和一个5品脱的容器,怎样倒才能将啤酒分为两个6品脱呢?问题分析与算法设计 将12品脱酒用8品脱和5品脱的空瓶平分,可以抽象为解不定方程: 8x-5y=6其意义是:从12品脱的瓶中向8品脱的瓶中倒x次,并且将5品脱瓶中的洒向12品脱的瓶中倒y次,最后在12品脱的瓶脱的瓶中
2007-08-30 13:57:00 2370 3
huhaihong2
2008-12-26
Enterprise JavaBeans 3.0 5th Edition
2008-08-27
JSP.2.0技术手册.part7
2008-08-27
JSP.2.0技术手册.part6
2008-08-27
JSP.2.0技术手册.part5
2008-08-27
JSP.2.0技术手册.part4
2008-08-27
JSP.2.0技术手册.part3
2008-08-27
JSP.2.0技术手册.part2
2008-08-27
JSP.2.0技术手册.part1
2008-08-27
定时关机(附VC源代码)
2007-09-04
Linux内核完全注释2.01(带书签)
2007-09-03
图遍历的演示
2007-09-01
车厢调度(数据结构)
2007-09-01
计算器的实现
2007-09-01
学生成绩管理系统
2007-09-01
两机通讯(接口)
2007-09-01
交通灯控制电路的设计
2007-09-01
教学管理系统
2007-08-30
PL0超强扩展(可视化)
2007-08-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人