第一章绪言 1
1
1
2
3
第二章 相关软件知识介绍 5
5
“great (真棒)”;如果剩下1只,而且在正中央,那就 是一“genius (天才)"!聪明的你,快来试试吧!
在1908年以前,人们都以为要取得“genius”最少要跳23步(连跳作一步计)。 但在1912年,布荷特创下了 18步的世界纪录!这纪录后来被证明为绝对的世界纪 录。1986年,上海女工万萍萍找到另一种不同于布荷特的18步取得“天才”的方法。 后来,上海计算机研究所开动了大型的计算机,希望再找出几种取得“天才”的方 法,结果令人诧异:“独立钻石”以18步取得“天才”是最快捷的,且方法只有两 种,一种是布荷特的,另一种便是万萍萍的! w
下面是独立钻石跳棋主要发展历史:
1908年之前,人们认为要23步才可以得“天才”
1908年,都丹尼将纪录变成19步就可以得“天才”
1912年,布荷特创下18步可以这个纪录后来被英国剑桥大学的比斯尼教授证明为 绝对的。即最少要18步才可以得“天才”
1986年,上海举行的“独立钻石”征解赛中,一名中国女工万萍萍找到另一个18 步得“天才”的方法。
本文的结构安排如下:
第一章绪论。阐述了论文的研究背景及其意义、国内外相关的研究状况、阐述 了本文所研究的内容以及整篇文章的组织结构。
第二章对本系统中将要用到的软件及数据结构进行了详细的介绍
第三章介绍了独立钻石跳棋求解算法的分析过程。
第四章基于栈结构的求解算法设计。详细介绍了算法,并利用栈结构对其进行 了实现。
第五章界面设计及实现,系统界面展示。
第六章总结与展望。
第二章相关软件知识介绍
一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据 元素间逻辑关系的描述称为数据的逻辑结构;数据必须在计算机内存储,数据的存 储结构是数据结构的实现形式,是其在计算机内的表示;此外讨论一个数据结构必 须同时讨论在该类数据上执行的运算才有意义。[5]
在许多类型的程序的设计中,数据结构的选择是一个基本的设计考虑因素。 许多大型系统的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依 赖于是否选择了最优的数据结构。许多时候,确定了数据结构后,算法就容易得到 了。有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应。不论 哪种情况,选择合适的数据结构都是非常重要的。
选择了数据结构,算法也随之确定,是数据而不是算法是系统构造的关键因 素。这种洞见导致了许多种软件设计方法和程序设计语言的出现,面向对象的程序 设计语言就是其中之一。
栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线形表。
栈是一种数据结构,它按照先进后出的原则存储数据,先进入的数据被压入栈 底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被 第一个读出来)。[6]
栈是只能在某一端插入和删除的特殊线性表。用桶堆积物品,先堆进来的 压在底下,随后一件一件往堆。取走时,只能从上面一件一件取。堆和取都在顶部 进行,底部一般是不动的。
栈就是一种类似桶堆积物品的数据结构,进行删除和插入的一端称栈顶,另一 堆称栈底。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为后进先 出表(LIFO表)。
1、进栈(PUSH)算法
若T0P>n时,则给出溢出信息,作出错处理(进栈前首先检查栈是 否已满,满则溢出;不满则作②);
置TOP=TOP+1 (栈指针加1,指向进栈地址);
S(TOP)=X,结束(X为新进栈的元素);
2、退栈(POP)算法
若TOPWO,则给出下溢信息,作出错处理(退栈前先检查是否已为空栈, 空则下溢;不空则作②);
X=S(SOP),(退栈后的元素赋给X);
TOP=TOP-L结束(栈指针减1,指向栈顶)。L7J
2 C++语言的特性和优点
对于Visual C++优点的定义,在这里说一下自己的看法,Visual C++已成为专 业程序员进行软件开发的首选工具,所以实际中,更多的是以Visual C++ 台,这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。[7]
在有许多程序开发工具可供选择的今天,强调"C/C++是程序程序员所必须掌握的 语言"难道就没有人真的敢站出来提出质疑吗?其实,在网络一统天下的今天,任 何应用程序都必须经过网络的验证。囱谁的软件好用,谁就会被
钻石跳棋问题论文新 来自淘豆网m.daumloan.com转载请标明出处.