Algorithm
文章平均质量分 74
laohan_
贵在坚持
展开
-
Board covering problems
Incomplete board is a 2 k x 2 k (k: 1) a square board, which just have a box missing. Figure 4-7 give k = 1 all possible incomplete board, including incomplete squares with shadow said. (残缺棋盘是原创 2012-02-17 23:31:27 · 451 阅读 · 0 评论 -
圆排列问题
#include#include#include#includeusingnamespace std ; classCircles{public: intn ; floatmin ; floatx[50]; floatr[50]; floatcirclePerm(intnn ,原创 2012-12-31 23:57:15 · 1499 阅读 · 0 评论 -
遗传算法小试刀
/*1. 生成初始群2.计算适应度3.选择复制交叉变异生成新一代种群问题:利用遗传算法求区间【1,31 】上的二次函数y=x2请在如下的环境下操作该程序:===================================|| encode : utf8 || || operating system : linux ||原创 2013-10-11 17:16:15 · 2148 阅读 · 0 评论 -
常用的排序算法
#include #include /*算法的分类排序算法插入排序(直接插入排序、希尔排序)选择排序(简单选择排序、堆排序)归并排序基数排序*/////////////////////////////////////////////////////////////*堆排序*//***@param A[] 完全二叉树*@param i 看中的那个父结点*@param原创 2013-11-10 23:38:46 · 1076 阅读 · 0 评论 -
全排列
排列问题:设R={r1,r2,....,rn}是要排列的n个元素,Ri=R-{ri}.集合x中元素的全排列极为perm(X)。则:当n=1时,perm(R)=(r),其中r是集合R中唯一的元素当n》1时,perm(R)由(ri)perm(R1).。。。。。(rn)perm(Rn)构成如:1 2 3则输出为1 2 31 3 22 1 32 3 13 2 1转载 2012-09-09 15:57:40 · 557 阅读 · 0 评论 -
符号三角形问题(回溯)
算法设计例题:符号三角形问题(回溯)memory limit: 5000KB time limit: 20000MSaccept: 5 submit: 8Description符号三角形问题要求对于给定的n,计算有多少个不同的符号三角形,使其所含的“+”和“-”的个数相同。在一般情况下,符号三角形的第一行有n个符号。如图所示是由14个“+”号和1原创 2012-12-17 19:41:50 · 1110 阅读 · 0 评论 -
背包问题(DP、回溯)
算法设计例题:背包问题(DP、回溯)memory limit: 65536KB time limit: 500MSaccept: 7 submit: 24Description给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为C。问:应该如何选择装入背包的物品,使得装入背包中物品的总价值最大?Input输入的第一行为测试样例的个原创 2012-12-18 09:40:19 · 1708 阅读 · 1 评论 -
最大公共子序列
最大公共子序列2.子问题的递归结构设X={x1,x2,x3,...,xn}和Y={y1,y2,y3,...,yn}的最长公共子序列,可按以下方式递归计算:当xm=yn时,找出xm-1和yn-1的最长子序列,然后在其尾部加上xm(=yn)即可得X和Y的最长公共子序列。当xm由此递归结构容易看出最长公共子序列问题具有子问题重叠性质。例如,在计算X和Y的最长公共子序列时,可能要计算X和Yn-原创 2012-12-18 22:18:13 · 1125 阅读 · 0 评论 -
avl树 golang实现
package mainimport ("fmt")type DataType inttype Node AVLTreeNodetype AVLTree *AVLTreeNodetype AVLTreeNode struct {key DataTypehigh intleft *AVLTreeNoderight *AVLT原创 2014-08-25 23:37:49 · 3114 阅读 · 0 评论 -
回溯法解最优装载问题
算法设计例题:装载问题(回溯、分枝限界)memory limit: 5000KB time limit: 500MSaccept: 12 submit: 29Description有一批概共n个集装箱要装上两艘载重量分别为c1和c2的轮船,其中,集装箱i的重量为wi,且 。 装载问题要求确定是否有一个合理的装载方案可将这n个集装箱装上这两艘轮船。Input原创 2012-12-16 10:14:41 · 5772 阅读 · 1 评论 -
算法设计例题:最优装载(贪心)
算法设计例题:最优装载(贪心)memory limit: 32768KB time limit: 1000MSaccept: 14 submit: 35Description有一批集装箱要装上一艘载重量为C的轮船。其中集装箱i的重量为wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。Input输入的第一个为测试样例原创 2012-12-16 10:16:22 · 2146 阅读 · 0 评论 -
快排
#includeusing namespace std ;int R[100]= {0};int Partition ( int R[] , int low , int high ){ R[0] = R [ low ] ; //暂时存储支点记录 while ( low { while ( low =原创 2012-09-16 21:51:41 · 459 阅读 · 0 评论 -
旅行售货员问题(回溯、分枝限界)
算法设计例题:旅行售货员问题(回溯、分枝限界)memory limit: 5000KB time limit: 2000MSaccept: 8 submit: 23Description旅行售货员问题又称TSP问题,问题如下:某售货员要到若干个城市推销商品,已知各城市之间的路程(或旅费),他要选定一条从驻地出发,经过每个城市一遍最后回到驻地的路线,使总的路线原创 2012-12-29 19:53:20 · 2265 阅读 · 1 评论 -
凸多边形最优三角剖分
凸多边形最优三角剖分(2012-12-20 16:38:40)[编辑][删除]转载▼标签:it分类:algorithm凸多边形最优三角剖分 注意:P={v0,v1,....vn-1}表示具有n条边v0,v1, v1v2,...,vn-1vn的凸边形。其中约定v0=vn1. 三角剖分的结构及其相关问题上图原创 2012-12-20 16:35:25 · 2759 阅读 · 0 评论 -
在一堆数中找出最小的两个数
//Algorithm analysis/////#include#define n 10 int a[n];void second(int i,int j,int *fmin1,int *fmin2)//最小的两个数*fmin1和*fmin2{int lmin2,lmin1,rmin2,rmin1;int mid;原创 2012-02-17 23:30:46 · 1077 阅读 · 0 评论 -
最大整数段的和
//Algorithm analysis:#includeint max_sub_sum(int a[],int left,int right){int center,i,left_sum,right_sum,s1,s2,lefts,rights;if(left==right)if(a[left]>0)return a[left];e原创 2012-02-17 23:31:16 · 490 阅读 · 0 评论 -
In a bunch of number to find out the biggest minimum value
问题:在一堆数中找出最大跟最小的值如在5个整数中找出最大跟最小的值: 算法设计:问题可以简化为:在含n(n是2的幂(n>=2))个元素的集合中寻找极大元和极小元。用分治法(二分法)可以用较少比较次数地解决上述问题:1) 将数据等分为两组(两组数据可能差1),目的是分别选取 其中的最大(小)值。2) 递归分解直到每组元素的个数≤2,可简单地找到最大(小原创 2012-02-17 23:31:38 · 450 阅读 · 0 评论 -
// //大整数乘法
////大整数乘法//program insruction//1.b:当前运算结果//2.d:进位//s1[i-1]为最低位 s2[j-1]为最低位//而a[k]为最低位//1.b=a[k]+(s1[i-1]-48)*(s2[j-1]-48)+d;//2.a[k]=b;//3.k++;原创 2012-02-17 23:31:05 · 617 阅读 · 0 评论 -
整数的分划
如输入:6=65+14+2,4+1+13+3,3+2+1,3+1+1+12+2+2,2+2+1+1,2+1+1+1+11+1+1+1+1+1定义Q(n,m):表示整数n的”如何加数都不超过m“的划分的数目一般地,Q(n,m)有一下递归关系:Q(n,m)=1 : 1 n=1,m=12: Q(n,原创 2012-02-17 23:31:48 · 546 阅读 · 0 评论 -
合并排序
#include#include void merge(int a[],int p,int q,int r);void mergearray(int a[],int p,int r);void main(){ int a[]={9,10,7,6,1,4,3,2,1,0},p,r,i; p=0; r=sizeo转载 2012-09-16 13:00:01 · 484 阅读 · 0 评论 -
B/B+/B*树
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关转载 2012-10-18 20:34:22 · 826 阅读 · 0 评论 -
折半插入排序
#includeusing namespace std ;int n=8;void B_InserSort(int R[]){for ( int i =2 ;i{R[0]=R[i];int low=1 ;int high=i-1 ;//设置初始期间while(low{int middle=(low+high)/2 ;if(R[0]>=R[midd转载 2012-10-19 09:14:56 · 469 阅读 · 0 评论 -
批处理作业调度(回溯)
算法设计例题:批处理作业调度(回溯)memory limit: 5000KB time limit: 2000MSaccept: 1 submit: 12Description给定n个作业的集合 J = { J1,J2,…,Jn }。每一个作业Ji都有两项任务分别在两台机器上完成。每个作业必须先由机器1处理,然后由机器2处理。作业Ji需要机器j的处理时间原创 2012-12-16 17:07:33 · 1963 阅读 · 0 评论 -
数字三角形问题
数字三角形问题memory limit: 65536KB time limit: 300MSaccept: 62 submit: 146Description给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。73 88 1 02 7 4 44 5 2 6 5原创 2012-12-26 21:24:27 · 2637 阅读 · 0 评论