基于Floyd算法的最短路径问题的求解c++【实用文档】doc_第1页
基于Floyd算法的最短路径问题的求解c++【实用文档】doc_第2页
基于Floyd算法的最短路径问题的求解c++【实用文档】doc_第3页
基于Floyd算法的最短路径问题的求解c++【实用文档】doc_第4页
基于Floyd算法的最短路径问题的求解c++【实用文档】doc_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Floyd算法的最短路径问题的求解c++【实用文档】doc文档可直接使用可编辑,欢迎下载

基于Floyd算法的最短路径问题的求解c++【实用文档】doc文档可直接使用可编辑,欢迎下载摘要现实生活中许多实际问题的解决依赖于最短路径的应用,其中比较常用的是floyd算法。通过floyd算法使最短路径问题变得简单化。采用图的邻接矩阵或邻接表实现最短路径问题中图的存储。采用VisualC++6.0的控制台工程和MFC工程分别实现基于floyd算法求最短路径的应用.关键词:最短路径;floyd算法;邻接矩阵;MFC工程目录TOC\o"1—3"\h\z\uHYPERLINK\l”_Toc407713813"1需求分析PAGEREF_Toc407713813\h1HYPERLINK\l"_Toc407713814”2算法基本原理PAGEREF_Toc407713814\h1HYPERLINK\h\z\uHYPERLINK\l”_Toc342133561"设计目的和意义PAGEREF_Toc342133561\h5二设计原理PAGEREF_Toc342133562\h52。1模拟退火算法的基本原理.。。。。。..。。.。。.。。.。........。.。...。..。...。...。。.。。....。.。。.。。.....。.。.。.。....。.....。。..。。..。。..。...。.。。...。...。。.52。2TSP问题介绍.。。。。.....。。。.。。。..。.。。..。.....。。...。。..。。.。。....。..。...。.。......。....。.。.。。.。.。.。.....。...。..。。.......。..。.。。。....。。.。。..。。。6三详细设计步骤....。。.。。.。。.......。。。...。。....。.。......。.。.。.....。....。..........。。.。.。.....。..。。。.。。。。..。.。.....。。。。.....。。.。.。.....。.。。。.。.......。.PAGEREF_Toc342133563\h73.1.算法流程83.2模拟退火算法实现步骤PAGEREF_Toc342133565\h8四设计结果及分析9HYPERLINK\l”_Toc342133573"4.1MATLAB程序实现及主函数....。.。。。..。..。.。.。.。..。...。...。。。......。。..。。....。。.....。...。.。。.。..。....。....。。.。.。.。..。.......。。。..。.。....94.1。1计算距离矩阵。..。..。..。。.。。。..。.。。。。。...。...。.。。.。..。。.。。.。。..。..。...。。。。。。.。.。。。.。。....。.。..。。...。.。.。....。..。....。......。.。94.1。2初始解..。。。。...。.。....。..。..。.。.。...。..。.。。。.。..。。。.。。..。...。.。。。..。.....。.。.。。.。...。..。..。...。。..。..。..。。。.。......。。.。。..104.1.3生成新解.....。.。..。。.。.。。。。。....。..。.。。。。.。...。。.。.。.。...。..。.。.。.....。。....。。...。.......。.。。..。。....。。。..。。...。.104.1.4Metropolis准则函数....。。.。..。....。.。....。。.。.。.....。。。..。.。..。。。..。。........。.。..。。。..。....。。。........。......104。1.5画路线轨迹图..。。..。。...。..。。.。。。。..。..。。.。...。。。...。。..。.。。...。.。.。.。。。.。....。...。.。.。。..。..。。..。.。。..。.。。.。......。..。..。.114.1.6输出路径函数...。....。.。...。。。..。.....。.。.。。。..。.。..。。。..。.。..。。.。...。。.。。.。....。。。.。。..。。。。。.。...。..。。.。.。。。。...124.1.7可行解路线长度函数。。..。.。.。.。.....。。。..。....。...。。。.。。.....。....。...。。..。.。。.。..。.。。。。。.。。.。...。...。.。...。..124。1.8模拟退火算法的主函数.。。.。。.。.....。。...。。。。..。..。。。....。。。...。。.。.。。。。。.。。..。.......。。.。。.。。.。.。。。..。.。.。.。....。..。134.2.仿真结果15五HYPERLINK\l”_Toc342133575"体会PAGEREF_Toc342133575\h18六HYPERLINK\l"_Toc342133576”参考文献PAGEREF_Toc342133576\h19基于模拟退火算法的TSP算法一、设计目的和意义旅行商问题是组合优化领域里的一个典型的、易于描述却难以处理的NP难题,其可能的路径数目与城市数目是呈指数型增长的,求解非常困难。首先介绍了旅行商问题,给出了其数学描述以及实际应用,进而给出解决TSP的一种比较精确的算法—-模拟退火算法。然后阐述了模拟退火算法的基本原理,重点说明了其基本思想及关键技术。最后运用MATLAB语言实现了该算法,并将其运用到解决旅行商问题的优化之中。数值仿真的结果表明了该方法能够对数据进行全局寻优,有效克服了基于导数的优化算法容易陷入局部最优的问题。了解模拟退火算法的TSP算法的基本思路及原理,并应用MATLAB实现仿真,熟练掌握MATLAB的操作方式及应用,能正确书写报告。二、设计原理2。1模拟退火算法的基本原理模拟退火算法足2O世纪8O年代初提出的一种基于蒙特卡罗(MenteCarlo)迭代求解策略的启发式随机优化算法。它通过Metropolis接受准则概率接受劣化解并以此跳出局部最优,通过温度更新函数的退温过程进行趋化式搜索并最终进入全局最优解集.其出发点是基于物理中固体物质的退火过程与一搬的组合优化问题之间的相似性.模拟退火法是一种通用的优化算法,其物理退火过程由以下三部分组成。加温过程。其目的是增强粒子的热运动,使其偏离平衡位置。当温度足够高时,固体将熔为液体,从而消除系统原先存在的非均匀状态。等温过程.对于与周围环境交换热量而温度不变的密封系统,系统状态的自发变化总是朝自由能减少的方向进行的,当自由能达到最小时,系统达到平衡状态。冷却过程.使粒子热运动减弱,系统能量下降,得到晶体结构。其中,加热过程对应算法的设定初温,等温过程对应算法的Metropolis抽样过程,冷却过程对应控制参数的下降。这里能量的变化就是目标函数,要得到的最优解就是能量最低态.Metropolis准则是SA算法收敛于全局最优解的关键所在,Metropolis准则以一定的概率接受恶化解,这样就使算法跳离局部最优的陷阱。模拟退火算法为求解传统方法难处理的TSP问题提供了一个有效的途径和通用框架,并逐渐发展成一种迭代自适应启发式概率性搜索算法。模拟退火算法可以用以求解不同的非线性问题,对不可微甚至不连续的函数优化,能以较大的概率求的全局有化解,该算法还具有较强的鲁棒性、全局收敛性、隐含并行性及广泛的适应性,并且能处理不同类型的优化设计变量(离散的、连续的和混合型的),不需要任何的辅助信息,对目标函数和约束函数没有任何要求.利用Metropolis算法并适当的控制温度下降过程,在优化问题中具有很强的竞争力,此设计即为基于模拟退火算法的TSP算法。SA算法实现过程如下(以最小化问题为例):(1)初始化:取初始温度T0足够大,令T=T0,任取初始解S1,确定每个T时的迭代次数,即Metropolis链长L.(2)对当前温度T和k=1,2,……,l,重复步骤(3)~(6).(3)对当前S1随机扰动产生一个新解S2。(4)计算S2的增量df=f(S2)-f(S1)其中f为S1的代价函数。(5)若df<0,则接受S2作为新的当前解,即S1=S2;否则计算S2的接受概率exp(—df/T),即随机产生(0,1)区间上均匀分布的随机数rand,若exp(—df/T)〉rand也接受S2作为新的当前解,S1=S2;否则保留当前解S1.(6)如果满足终止条件Stop,则输出当前解s1为最优解,结束程序。终止条件Stop通常为:在连续若干个Metropolis链中新解s2都没有被接受时终止算法,或是设定结束温度。否则按衰减函数衰减T后返回步骤(2)。以上步骤成为Metropolis过程。逐渐降低控制温度,重复Metropolis过程,直至满足结束准则Stop,求出最优解。2。2TSP问题介绍旅行商问题(TravelingSalesmanProblem,简称TSP)又名货郎担问题,是威廉·哈密尔顿爵士和英国数学家克克曼(T.P。Kirkman)于19世纪初提出的一个数学问题,也是著名的组合优化问题。问题是这样描述的:一名商人要到若干城市去推销商品,已知城市个数和各城市间的路程(或旅费),要求找到一条从城市1出发,经过所有城市且每个城市只能访问一次,最后回到城市1的路线,使总的路程(或旅费)最小。TSP刚提出时,不少人认为这个问题很简单。后来人们才逐步意识到这个问题只是表述简单,易于为人们所理解,而其计算复杂性却是问题的输入规模的指数函数,属于相当难解的问题。这个问题数学描述为:假设有n个城市,并分别编号,给定一个完全无向图G=(V,E),V={1,2,…,n},n>1。其每一边(i,j)E有一非负整数耗费Ci,j(即上的权记为Ci,j,i,jV)。G的一条巡回路线是经过V中的每个顶点恰好一次的回路。一条巡回路线的耗费是这条路线上所有边的权值之和。TSP问题就是要找出G的最小耗费回路。人们在考虑解决这个问题时,一般首先想到的最原始的一种方法就是:列出每一条可供选择的路线(即对给定的城市进行排列组合),计算出每条路线的总里程,最后从中选出一条最短的路线。假设现在给定的4个城市分别为A、B、C和D,各城市之间的耗费为己知数,如图1所示。我们可以通过一个组合的状态空间图来表示所有的组合,如图图1顶点带权图图2TSP问题的解空间树从图中不难看出,可供选择的路线共有6条,从中很快可以选出一条总耗费最短的路线:顶点序列为(A,C,B,D,A)。由此推算,若设城市数目为n时,那么组合路径数则为(n-1)!.很显然,当城市数目不多时要找到最短距离的路线并不难,但随着城市数目的不断增大,组合路线数将呈指数级数规律急剧增长,以至达到无法计算的地步,这就是所谓的“组合爆炸问题”。假设现在城市的数目增为20个,组合路径数则为(20-1)!≈1.216×1017,如此庞大的组合数目,若计算机以每秒检索1000万条路线的速度计算,也需要花上386年的时间[6]。三、详细设计步骤3。1算法流程模拟退火算法求解流程框图如图1所示。图3模拟退火算法求解流程框图3.2模拟退火算法实现步骤如下:(1)控制参数的设置需要设置的主要控制参数有降温速率q、初始温度T0、结束温度Tend以及链长L。(2)初始解对于n个城市TSP问题,得到的解就是对1~n的一个排序,其中每个数字为对应城市的编号,如对10个城市的TSP问题{1,2,3,4,5,6,7,8,9,10},则|1|10|2|4|5|6|8|7|9|3就是一个合法的解,采用产生随机排列的方法产生一个初始解S.(3)解变换生成新解通过对当前解S1进行变换,产生新的路径数组即新解,这里采用的变换是产生随机数的方法来产生将要交换的两个城市,用二邻域变换法产生新的路径,即新的可行解S2。例如n=10时,产生两个[1,10]范围内的随机整数r1和r2,确定两个位置,将其对换位置,如r1=4,r2=795163871042得到的新解为95173861042(4)Metropolis准则若路径长度函数为(S),新解的路径为(S2),路径差为d=(S2)—(S1),则Metropolis准则为如果df〈0,则以概率1接受新路线,否则以概率exp(-df/T)接受新路线。(5)降温利用降温速率q进行降温,即T=qT,若T小于结束温度,则停止迭代输出当前状态,否则继续迭代。四、设计结果及分析4.1MATLAB程序实现及主函数4。1.1计算距离矩阵利用给出的N个城市的坐标,算出N个城市的两两之间的距离,得到距离矩阵(NN).计算函数为Distance,得到初始群种。程序如下functionD=Distanse(a)functionD=Distanse(a)%%计算两两城市之间的距离%输入a各城市的位置坐标%输出D两两城市之间的距离row=size(a,1);D=zeros(row,row);fori=1:rowforj=i+1:rowD(i,j)=((a(i,1)-a(j,1))^2+(a(i,2)-a(j,2))^2)^0.5;D(j,i)=D(i,j);endend4。1.2初始解初始解的产生直接使用MATLAB自带的函数randperm,如城市格式为N个,则产生初始解:S1=randperm(N);%随机产生一个初始路线S1=randperm(N);%随机产生一个初始路线4。1。3生成新解解变换生成新解函数为NewAnswer,程序代码如下:functionS2=NewAnswer(S1)functionS2=NewAnswer(S1)%%输入%S1:当前解%%输出%S2:新解N=length(S1);S2=S1;a=round(rand(1,2)*(N-1)+1);%产生两个随机位置用来交换W=S2(a(1));S2(a(1))=S2(a(2));S2(a(2))=W;%得到一个新路线4.1.4Metropolis准则函数Metropolis准则函数为Metropolis,程序代码如下:function[S,R]=Metropolis(S1,S2,D,T)function[S,R]=Metropolis(S1,S2,D,T)%%输入%S1:当前解%S2:新解%D:距离矩阵(两两城市的之间的距离)%T:当前温度%%输出%S:下一个当前解%R:下一个当前解的路线距离%%R1=PathLength(D,S1);%计算路线长度N=length(S1);%得到城市的个数R2=PathLength(D,S2);%计算路线长度R2=PathLength(D,S2);%计算路线长度dC=R2-R1;%计算能力之差ifdC<0%如果能力降低接受新路线S=S2;R=R2;elseifexp(-dC/T)>=rand%以exp(-dC/T)概率接受新路线S=S2;R=R2;else%不接受新路线S=S1;R=R1;end4。1.5画路线轨迹图画出给的路线的轨迹图函数为DrawPath,程序代码如下:functionDrawPath(Chrom,X)functionDrawPath(Chrom,X)%%画路径函数%输入%Chrom待画路径%X各城市坐标位置R=[Chrom(1,:)Chrom(1,1)];%一个随机解(个体)figure;holdonplot(X(:,1),X(:,2),'o','color',[0.5,0.5,0.5])plot(X(Chrom(1,1),1),X(Chrom(1,1),2),'rv','MarkerSize',20)fori=1:size(X,1)text(X(i,1)+0.05,X(i,2)+0.05,num2str(i),'color',[1,0,0]);endA=X(R,:);row=size(A,1);fori=2:row[arrowx,arrowy]=dsxy2figxy(gca,A(i-1:i,1),A(i-1:i,2));%坐标转换annotation('textarrow',arrowx,arrowy,'HeadWidth',8,'color',[0,0,1]);endholdoffxlabel('横坐标')ylabel('纵坐标')title('轨迹图')boxon4.1。6输出路径函数将得到的路径输出显示在CommandWindow中,函数名为OutputPath.functionp=OutputPath(R)functionp=OutputPath(R)%%输出路径函数%输入:R路径R=[R,R(1)];N=length(R);p=num2str(R(1));fori=2:Np=[p,'—>',num2str(R(i))];enddisp(p)4.1.7可行解路线长度函数计算可行解的路线长度函数为PathLength,程序代码如下:functionlen=PathLength(D,Chrom)functionlen=PathLength(D,Chrom)%%计算各个体的路径长度%输入:%D两两城市之间的距离%Chrom个体的轨迹[row,col]=size(D);NIND=size(Chrom,1);len=zeros(NIND,1);fori=1:NINDp=[Chrom(i,:)Chrom(i,1)];i1=p(1:end-1);i2=p(2:end);len(i,1)=sum(D((i1-1)*col+i2));end4.1.8模拟退火算法的主函数模拟退火算法参数设置如表一所列.表一参数设定降温速率q初始温度T0结束温度Tend链长L0.910000.001200clc;clear;clc;clear;closeall;%%ticT0=1000;%初始温度Tend=1e-3;%终止温度L=500;%各温度下的迭代次数(链长)q=0.9;%降温速率%%加载数据loadCityPosition1;%%D=Distanse(X);%计算距离矩阵N=size(D,1);%城市的个数%%初始解S1=randperm(N);%随机产生一个初始路线%%画出随机解的路径图DrawPath(S1,X)pause(0.0001)%%输出随机解的路径和总距离disp('初始种群中的一个随机值:')OutputPath(S1);Rlength=PathLength(D,S1);disp(['总距离:',num2str(Rlength)]);%%计算迭代的次数TimeTime=ceil(double(solve(['1000*(0.9)^x=',num2str(Tend)])));count=0;%迭代计数Obj=zeros(Time,1);%目标值矩阵初始化track=zeros(Time,N);%每代的最优路线矩阵初始化%%迭代whileT0>Tendcount=count+1;%更新迭代次数temp=zeros(L,N+1);temp=zeros(L,N+1);fork=1:L%%产生新解S2=NewAnswer(S1);%%Metropolis法则判断是否接受新解[S1,R]=Metropolis(S1,S2,D,T0);%Metropolis抽样算法temp(k,:)=[S1R];%记录下一路线的及其路程end%%记录每次迭代过程的最优路线[d0,index]=min(temp(:,end));%找出当前温度下最优路线ifcount==1||d0<Obj(count-1)Obj(count)=d0;%如果当前温度下最优路程小于上一路程则记录当前路程elseObj(count)=Obj(count-1);%如果当前温度下最优路程大于上一路程则记录上一路程endtrack(count,:)=temp(index,1:end-1);%记录当前温度的最优路线T0=q*T0;%降温fprintf(1,'%d\n',count)%输出当前迭代次数end%%优化过程迭代图figureplot(1:count,Obj)xlabel('迭代次数')ylabel('距离')title('优化过程')%%最优解的路径图DrawPath(track(end,:),X)%%输出最优解的路线和总距离disp('最优解:')S=track(end,:);p=OutputPath(S);disp(['总距离:',num2str(PathLength(D,S))]);disp('')toc4。2仿真结果及分析优化前的一个随机路线图如图4所示:图4总路线距离约为57.00优化以后的最优解路线如下图5:图5该优化路径的总路程近似为30。00,已为最优解。模拟退火算法进化过程图如下图6:由图可以看出,优化前后路径长度得到很大改进,变为原来的52.4%,65代以后路径长度已经保持不变了,可以认为已经是最优解了.上图为用模拟退火算法解决TSP的GUI(GraphicsUserInterface,图形用户界面)。这是由14个城市构成的一个对称TSP实例,利用上述算法对该实例进行模拟退火求解,设定初始温度T0=1000,冷却速率为0.9,经过仿真得到的最优解与已知最优解非常接近,所需时间也令人满意。五、体会使用MATIAB对求解TSP问题的模拟退火算法程序进行了仿真。平均结果表明,首先该算法能够找到TSP问题的最优解,说明算法的正确性。其次算法对TSP问题的求解时间并不呈指数增长,说明了算法的有效性.5。1关于MATLAB的体会MATLAB是当今科学界最具影响力、也是最具活力的软件,它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。然后,了解到了MATLAB软件的功能。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。我们应该熟练掌握其使用方法。5.2关于基于模拟退火算法的TSP算法的体会模拟退火算法是依据Metropolis准则接受新解,该准则除了接受优化解外,还在一定的限定范围内接受劣解,这正是模拟退火算法与局部搜索法的本质区别,在避免陷入局部极小值、提高解空间的搜索能力和扩大搜索范围方面具有明显的优越性.本次设计给出了一种TSP的求解算法,并用MATLAB语言编程实现了算法.算法实验结果表明,对大多数组合优化问题而言,模拟退火算法在求最优解和求解时间均达到了满意的结果.利用MATLAB语言实现的模拟退火程序,能够找到系统的最优解,仿真结果证明了该方法的有效性.采用该方法既可使我们熟悉MATLAB语言,又可以加深对模拟退火算法的认识和理解,以此来设计智能系统。旅行商问题一直都是业界研究的重点,其应用范围广,在许多领域都有其重要的指导意义。随着对TSP问题研究的深入,目前已经提出了多种TSP问题的变种,如:多目标TSP问题、局部重复路径的TSP问题、多人TSP问题以及带时间约束的TSP问题等等。TSP的算法研究领域中,除非有新的解决组合优化问题的算法框架出现,各种仿自然的算法结合局部优化的算法思想仍将是研究的重点。针对各种模拟退火算法的优劣,如何扬长避短,提高算法的时间效率和寻优能力,目前许多学者致力于各种求解算法的综合集成的研究,如遗传模拟退火算法、模拟退火蚁群算法、混合遗传算法、混合蚂蚁算法等等.结合实际问题设计适当的算法参数和局部优化策略以构造混合算法将是解决TSP的重要途径。客观地说,目前并不存在一种求解TSP问题的最佳算法,各个算法都有其应用的局限性:经典算法追求精确解,但是忽略了算法的时空消耗,可行性不高;而现代流行改进算法则是追求近似解,降低了算法的时空消耗,但是在求解结果上往往不能让人满意。我认为今后在TSP的算法研究上应该把握3个方面:继续改进已有TSP算法;采用人工智能的思想,创造新的TSP算法;集合各个算法的优点,进行混合TSP算法的研究。目前这些相关方向业界人士都有所涉及,也都取得了一定成效,相信在不久的将来,TSP问题一定会有更好的解决方案。六、参考文献[1]高海昌,冯博琴,朱莉.只能优化算法求解TSP问题[J].控制与决策,2006,21(03):241-247,252。[2]苗卉,杨韬。旅行商问题(TSP)的改进模拟退火算法.微计算机信息(管控一体化),2007,23(11):241[3]万军洲.基于模拟退火技术的旅行商问题求解算法.软件导刊,2006,(8):88,88-89.[4]盛国华,陈玉金,改进模拟退火算法求解TSP问题[J].电脑知识与技术,2008(15):1103-1104,1103.[5]曲强,陈雪波.基于MATLAB的模拟退火算法的实现.鞍山科技大学学报,2003,26(3):197-198[6]冯剑,岳琪,模拟退火算法求解TSP问题[J]。森林工程,2008,24(01):94-96。1.如图,在某个城市中,M,N两地之间有南北街道5条、东西街道4条,现要求沿图中的街道,以最短的路程从M走到N,则不同的走法共有35种.【考点】计数原理的应用.【专题】排列组合.【分析】根据题意,从M到N的最短路程,只能向右、向下运动,将原问题转化为排列、组合问题,计算可得答案.【解答】解:根据题意,从M到N的最短路程,只能向右、向下运动,从M到N,最短的路程需要向下走3次,向右走4次,即从7次中任取3次向下,剩下4次向右,有C73=35种情况,故答案为:35【点评】本题考查排列、组合的应用,解题的关键将圆问题转化为排列、组合问题,由分步计数原理计算得到答案.2.如图,某城市的街道由5条东西与7条南北向马路组成.现在要从西南角的A处沿最短路线走到东北角的B处,由于修路十字路口C不能通过,那么共有多少种不同走法?【考点】排列组合.【专题】传统应用题专题.【分析】利用逐步分析点的路线,列出表格,求得数据即可解决问题.【解答】解:用标数法可以求出一共有120种走法.答:共有120种不同走法.【点评】本题从每个交叉点得出有2条路可走是关键,然后利用标数法得出共有的走法就比较容易了,注意C不能通过.3.某城市有7条南北向的街,5条东西向的街.如果从城的O点走向A点,最短的走法有几种?从O点出发经过B点走向A点,最短的走法有几种?从O点出发,不经过B、C两点,走向A点,最短的走法有几种?AACBO4.如图,沿着箭头从P走到Q,有________种不同的最短路径【考点】标数法【答案】12山东凯文科技职业学院2011届毕业论文基于VisualC++的五子棋游戏设计——主要算法的设计与实现学院:信息学院学生姓名:XXX指导教师:张老师专业:软件技术班级:08软件1班完成时间:20摘要本论文主要阐述以面向对象的程序开发语言VC++为开发工具,设计一个五子棋游戏。本系统是个小型游戏,可以单机使用,也可以网络两个人游戏,也可以和电脑进行游戏。论文首先介绍了开发背景及开发语言的介绍。然后介绍设计该游戏的框架结构,然后介绍了程序的设计过程,以及程序的相关算法。其中算法是我主要负责的,算法(Algorithm)是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出.如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。关键词:游戏,系统,图片,算法,VisualC++AbstractThispapermainlyexpoundsonobject-oriegramminglanguagefordevelopmenttools,designofvc++arenjugame。Thissystemisasmallgame,canusesingle,alsocannetworktwogame,canalsoandcomputergames。Itfirstlyintroducesthedevelopmentbackgroundanddevelopmentoflanguageisintroduced。Andthenintroducedthedesignframestructureofthegame,thenintroducesthedesignprocessoftheprogram,andtherelatedalgorithmprocedures.AmongthemisImainlyresponsiblefortheAlgorithm,theAlgorithm(done)isaseriesofthesolutiontotheproblemofclearinstructions,theAlgorithmrepresentsasystematicapproachdescribethesolvingstrategymechanism。Thatis,tosomeofthestandardinput,inlimitedtimegetrequiredoutput.Ifanalgorithmwithadefect,orisnotsuitableforaproblemis,carryoutthealgorithmwillnotsolvetheproblem。Differentalgorithmmayusedifferenttime,spaceorefficiencytocompletethesametask.Keywords:Thegame,thesystem,pictures,algorithm,VisualC++目录TOC\o”1-3”\h\z\u1引言PAGEREF_Toc296063835\h1HYPERLINK\l"_Toc296063836"1。1五子棋介绍PAGEREF_Toc296063836\h11.2开发背景PAGEREF_Toc296063837\h11。3开发环境及运行环境PAGEREF_Toc296063838\h1HYPERLINK\l”_Toc296063839”1.3.1开发环境PAGEREF_Toc296063839\h1HYPERLINK\l"_Toc296063840”1.3.2运行环境PAGEREF_Toc296063840\h1HYPERLINK\l”_Toc296063841"2C++简介PAGEREF_Toc296063841\h2HYPERLINK\l"_Toc296063842”3软件架构PAGEREF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论