摘要:
二分查找算法(汉诺塔算法)#include#includeintpickTopDisk(char*current,charx);voidhanoi(char*current,intn,charA,charB,charC);intmain(){charcurrent[]={'A','A','A','A'};charA='A',B='B',C='C';hanoi(current,4,A,B,C);return0;}intpickTopDisk(char*current,charx){in 阅读全文
摘要:
算法描述:问题描述:字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列。令给定的字符序列X=“x0,x1,…,xm-1”,序列Y=“y0,y1,…,yk-1”是X的子序列,存在X的一个严格递增下标序列,使得对所有的j=0,1,…,k-1,有xij=yj。例如,X=“ABCBDAB”,Y=“BCDB”是X的一个子序列。考虑最长公共子序列问题如何分解成子问题,设A=“a0,a1,…,am-1”,B=“b0,b1,…,bm-1”,并Z=“z0,z1,…,zk-1”为它们的最长公共子序列。不难证明有以下性质:(1)如果am-1=bn-1,则zk 阅读全文
摘要:
描述:设有n个活动的集合E={1,2,.....,n},其中每个活动都要求使用同一个资源(如演讲会场),而在同一时间内只有一个活动能使用这一资源。每个活动i都有一个要求使用该资源的起始时间Si和一个结束时间Fi,且Sivoidsort(ints[],intf[],intn)//把各个活动的起始时间和结束时间按结束时间递增排序{inta,b;inti,j;for(i=0;if[j]){a=f[i];f[i]=f[j];f[j]=a;b=s[i];s[i]=s[j];s[j]=b;}}}}intactivemanage(ints[],intf[],boola[],intn){a[0]=1;inti 阅读全文
摘要:
算法分析给定n中物品和一个容量为c的背包,物品i的重量为Wi,其价值为Vi,背包问题是如何选择装入背包的物品(物品不可分割),使得装入背包的物品的价值为最大,考虑到每种物品只有2种选择,即装入背包或不装入背包,并且物品数和背包容量已给定,要计算装入背包物品的最大价值和最优装入方案,可用回溯法搜索子集树的算法进行求解一物品有n种,背包容量为C,分别用p[i]和w[i]存储第i种物品的价值和重量,用x[i]标记第i种物品是否装入背包,用bestx[i]存储第i种物品的最优装载方案;二.用递归函数Backtrack(i,cp,cw)来实现回溯法搜索子集树(形式参数i表示递归深度,n用来控制递归深度, 阅读全文
摘要:
静态链接库的使用在E盘建一个文件夹名字是app3,在app3文件夹内建立2个文本文档,文本文档重命名为mylib.cxx、makefile然后保存,makefile的内容是:all:mylib.og++mylib.o-omylib.exett.o:tt.cxxg++-cmylib.cxx-omylib.oPHONY:cleandelmylib.omylib.exe在cmd控制台窗口下面输入以下语句E:\app2>mingw32-makeg++-cmylib.cxx-ott.og++mylib.o-omylib.exeE:\app2>mylib.exe动态链接库的使用:在E盘建一个文 阅读全文