欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    排序算法课程设计报告.docx

    • 资源ID:881246       资源大小:195.70KB        全文页数:28页
    • 资源格式: DOCX        下载积分:7金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要7金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    排序算法课程设计报告.docx

    课程设计20092010学年第二学期设计题目文章编辑、猴子选大王、建立二叉树、拓扑排序、各种排序目录1、目的与要求22、课程设计内容说明32.1 主菜单界面:32.2 工程一:文章编辑*32.3 工程二:猴子选大王*42.4 工程三:建立二叉树,层序、先序遍历*62.5 工程四:拓扑排序82.6 工程五:各种排序:插入排序和改良冒泡排序算法105、 结论及体会146、 附录141、目的与要求1.1. 稳固和加深对常见数据结构的理解和掌握1.2. 掌握基于数据结构进行算法设计的根本方法1.3. 掌握用高级语言实现算法的根本技能1.4. 掌握书写程序设计说明文档的能力1.5. 提高运用数据结构知识及高级语言解决非数值实际问题的能力2、课程设计内容说明2.1 主菜单界面:MM1、运动会分数统计e2、一元多项式计算MM.3、订票系统4、迷宫求解MX5、文章编辑*6、Joseph环MMa?、猴子选大王©8、二叉树的遍历X9、哈夫曼树的建立工0、纸牌游戏-M-M11、图的建立及输出工2、拓扑排序MS13、各种排序Q0、退出M*-M-M-目前有效选项为:5、?、8、12、13?请选择:2.2 工程一:文章编辑*(1)功能:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出全部字母数、数字个数、空格个数、文章总字数(3)输出删除某一字符串后的文章;12)程序的输入输出描述:进入应用程序:目前有效选项为:5、8、12.13?请选择:5* 1、输入文章J2、查找字符* 3、删除字符* 0、返回主菜单(1)输入文章:(2)查找:箜当英FE* 9 .1 4 2 Finuy .僧有有 f 曾为母母 F qs星X子3404 f:1文文写写: 决E择入的÷K有有 选地刖文文格v±r¼>1.啕选择:23l三三11请选择:2三1l三1(3)删除:原文为:QUYinglII,删除丫后为:QuinglllXxMXXXxxXXXXX“x*XxxX请选择:3谓地筮蒯除的字符串:V当BU的文早为:Quinglll(4)尚未解决的问题或改良方向这个文章编辑的缺点在于无法统计空格数,只能够统计大小写字母以及数字(5)对软件的使用说明在CFree4.0下翻开软件,进行操作2.3工程二:猴子选大王*2.4.1 对设计任务内容的概述一堆猴子都有编号,编号是1,2,3.m,这群猴子(m个)按照l-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,那么该猴子为大王。2.4.2 需求分析或功能描述输入数据:输入m,nm,n为整数,n<m输出形式:中文提示按照m个猴子,数n个数的方法,输出为大王的猴子是几号,建立一个函数来实现此功能。2.4.3 程序输入输出描述:目前有效选项为:5、7、8、12、13? 请选择菜单71、开始选大王。、返回主菜单请诜a)开始程序:情选择情输入架子数目:8请输入猿子数到所需出列的数:3出列顺序:36152847故编号?的很子是大王?b)局部程序代码:#defineMaxSize50inthouzi(intn,intm)intpMaxSize;inti,j,t;for(i=0;i<n;i+)pi=i+l;t=0;printf(z,n出列顺序:");for(i=n;i>=l;i)(t=(t+m-l)%i;printf(*%d*,t);for(j=t+l;j<=i-l;j+)pj-l=pj;printfn*);Printf("n故编号%d的猴子是大王!n",pl);Printf("n");2.4.4 三:建立二叉树,层序、先序遍历*(1)对设计任务内容的概述要求能够输入树的各个结点,并能够输出用不同方法遍历的遍历序列;分别建立建立二叉树存储结构的的输入函数、输出层序遍历序列的函数、输出先序遍历序列的函数;(2)需求分析或功能描述程序功能包括,建立二叉树,输出二叉树,对二叉树进行层次遍历和先序遍历。13)概要设计或程序流程图进入程序,选择菜单,1创立二叉树,在程序中进行构造二叉树,并输出创立好的二叉树,2层次遍历二叉树,输出二叉树的层次遍历序列,3先序遍历二叉树,输出二叉树的先序遍历序列。14)详细设计或源代码说明创立二叉树CrealeBTNode(*b,*str)。根据二叉树括号表示的字符串*slr生成对应的二叉链存储结构,用Ch扫描采用括号表示法表示二叉树的字符串。输出二叉树,以括号表示法输出一棵二叉树。先序遍历二叉树的过程是,访问根结点,先序遍历左子树,先序遍历右子树。层次遍历的过程是,先将根结点进队,在队不为空时循环,从队列中出列一个结点*p,访问它,假设它有左孩子结点,如此操作直到队空为止。(5)程序模块及其接口描述typedefcharElemType;typedefstructnode(ElemTypedata;数据元素structnode*1Chik1;指向左孩子structnode*rchild;指向右孩子BTNode;voidCreateBTNode(BTNode*&b,Char*str)由str串创立二叉链voidDispBTNodeCBTNode*b)以括号表示法输出二叉树voidTravLevel(BTNode*b)层次遍历voidPreOrderCBTNode*b)先序遍历的递归算法(6)程序的输入与输出描述输入界面:翼翼8* 1、创建二叉树* 2、层序遍历二叉树* 3、先序遍历二叉树* 0、返回主菜单鬲选择:灵叉:1二二此 选电 胃请输输出界面::a<b,b<c,c<e,g>>>清选接:2:a<b,b<c,c<e,g>>>层序遍历序列:abbcceg星序:历递归序列:abbcceg(7)调试分析或程序测试1、创建二叉树2、层序遍历二叉树3、先序遍历二叉树0、返回主菜单请选隹:2层序遍历序列:abbcceg菜单81、创建二叉树2、层序遍历二叉树3、先序遍历二叉树0、返回主菜单猊序遍历递归序列:abbcCeg18)尚未解决的问题或改良方向因为本程序最终要与其他两个程序合并在一起,在主界面进行选择。所以在进入主界面时要在本程序的主函数处修改字符,否那么在调用本程序时主函数会发生冲突。(9)对软件的使用说明在CFree4.0下翻开软件,进行操作。2.5工程四:拓扑排序(1)对设计任务内容的概述编写函数,实现图的拓扑排序。(2)需求分析或功能描述在一个有向图中找一个拓扑序列的过程称为拓扑排序,而每一个有向图的拓扑序列并不唯一,本程序的功能就是将用户输入的序列进行拓扑排序。(3)概要设计或程序流程图在程序菜单中选择开始,输入有向图的结点数和边数,此时程序就会输出结点信息,如vl,v2,v3等,接下来会要求用户输入第一条边的起点和终点,通过程序运行就可以输出拓扑排序结果。(4)详细设计或源代码说明对于给定的有向图,采用邻接表作为存储结构,为每个顶点设置一个链表,每个链表有一个表头结点,这些表头结点构成一个数组,表头结点中增加一个存放顶点入度的域count,在执行拓扑排序的过程中,当某个顶点的入度为0(没有前驱结点时),就将此顶点输出,同时将该顶点的所有后继结点的入度减1,为了防止重复检测入度为0的顶点,设立一个栈St,以存放入度为0的顶点。(5)程序模块及其接口描述 typedef struct(int *base;int *top;int stacksize;)Stack;int InitStack(Stack &s)int Push(Stack &s,int e)bool Empty(Stack s)int Pop(Stack &s)int LocateVex(Graph G,int v) void CreateGraph(Graph &G)/栈底/栈顶/栈空间创立一个空栈进栈查看栈是否为空出栈返回节点V在图中的位置建图voidTopologicalSortCGraphG)拓扑排序函数(6)程序的输入与输出描述输入界面:拓扑排用黄示*1、开始*2、退出*现在开始清选择;12清选择:1再输入结点数和边数,此时会输出顶点信息:请选择"排序结果输出界面:3447566513222744>>>>>>>> 22222222 <<<<< 点点点点点点点点 终终终终终终终终 口口口口口口口口 点点点点点点点点 氾-氾-氾-汜-氾-氾-沼-巳_ ;此 tf tf ;比二乂 二乂 ;比 fffl I(I 一 IJLyI(二Is】If二f二 边边边边边边边边 、TA、TA %T、TA、T、TA 12345678 a7g>a>gpapapa>g> HEH 殳 H5FR5fR5FH5FH3fH5f -入入- 主OE主DE主DE主OlHiliE主IIE主OE主QE 段现套遣族入结点数:7奥现隹遗输入边藜:.8现在输出顶点信息:拓扑排序结果为:XXXXXXXXXXXxXMXXXXXMXXXXXXXXXXXXXXXXXXXXXU2u7ulu3u4u5u6X*M*XXXXXXxXXXXXXXX)O<XXXXXXXXXXXXXXXXXXXX(7)调试分析或程序测试<<<<<<<< 点点点点点点点点 终终终终终终终终 DODDnUDDnU VA 士不为,方,本士 ”.»方 点点点点点点点点 立Z金氾-殳殳巳_堂 +tt 二二二A'H 二乂 二H -r TT *r j*t . rT 边边边由边边 ¼T*TA*T¼TATAT%TA¼T 12345678 7pgp7gRgpgpg4 4axx0u7j 主OE主星QE至星星R至H青 、IK > k、 IK、Tk、Ik、Tk、Tk Iv7现在输出顶点信息: lm2m3u4m32: 1 32: 3 42: 2 42: 2 52: 2 72: 7 62: 4 52: 4 6XXX

    注意事项

    本文(排序算法课程设计报告.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开