- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2013秋数据结构课程设计内容及时间安排
12级数据结构课程设计
题目
题目共两部分组成,每一部分均要求完成:
编写优先队列数据(priority_queue)类型(30分)。优先队列是0个或多个元素的集合,每个元素都有一个优先权或值,对优先队列执行的操作有1) 查找;2) 插入一个新元素;3) 删除.在最小优先队列(min priority queue)中,查找操作用来搜索优先权最小的元素,删除操作用来删除该元素;对于最大优先队列(max priority queue),查找操作用来搜索优先权最大的元素,删除操作用来删除该元素。由于这是一个queue,所以只允许在底端加入元素,并从顶端取出元素,除此之外别无其它存取元素的途径。priority_queue 带有权值观念,其内的元素并非依照被推入的次序排列,而是自动依照元素的权值排列(通常权值以实值表示)。也可以自行加入其它使用的功能(在报告中需特别加以说明)。
要求:实现优先队列的初始化,查找,插入,删除操作,并且控制其查找,插入,删除操作的算法时间复杂度为O(logn)。
设计好后要求写简短的报告。
数据结构应用(70分)
用学过的数据结构及算法解决实际问题。不少同学问过学了数据结构到底有什么用处,针对这个问题,请自己找出一些应用题,比如文件排序检索,俄罗斯方块游戏等,这个根据自己的能力选择,难度越大工作量越大,分数越高,将你认为比较经典的问题及解法介绍给大家,代码可以从底层编写,也可以应用STL中的算法。
PS(容易获得好评的一些建议):
建议自行设计既有新颖性,又容易实现的游戏,比如词汇学习类游戏(猜单词、同义词连连看)
建议使用图形界面
组织形式
课程设计有由两部分组成,第一个题目需要每个人都完成,第二个题目以小组形式,每3人一组,共同完成一个题目,同一班级自由组合,跨班需要向指导教师申请。
评判形式
第一部分,提交报告和源码,老师会检查是否存在抄袭现象并给分。
第二部分,小组内根据各自参与程度、完成的工作量、效果、小组内报告自评,再集中时间每个小组演示,并答辩,最后再提交报告和源码。
分值比例及评定方法可能会根据实际情况有所调整。
时间安排
开学第一周完成分组,学习委员将分组情况Email给指导教师(siguodong@)。分组表如下:
班级:2012级XXXX班
小组名称 组长 组员 组员 组员 组员 学号 姓名 学号 姓名 学号 姓名 学号 姓名 学号 姓名 (注意:只写学号末2位。)
2. 开学三周后提交第一个题目的报告和源码。
3. 开学八周后提交第三部分的设计报告及安排演示答辩。
要求:一定要自己完成,每个人的编程水平不同,尽自己最大努力完成,杜绝抄袭,每个人都必须参加演示,演示的时候会抽查代码来提问。
报告的书写一般分以下几部分:
需求分析
系统介绍
实现:采用的数据结构,实现的方法,流程图等
测试:抓一些界面说明。
结果分析:系统的优缺点,算法时间复杂度,系统算法实现过程中遇到问题,所采用的解决方法,自己提出的改进的方案。
总结
可以自己删减一些
报告统一使用下面的封面:
可以选择任何语言。
华南农业大学信息学院
课程设计实验
系别
班级
学号
姓名
实
验
题
目
银行管理系统
■设计性 □综合性
自
我
评
价
在本次的课程设计中,我主要承担界面设计还有一些功能方面的编写。
由于在软件与使用者的交互之中,界面是很重要的,它关系到软件的友好性,方便性等。所以作为界面设计部分,应该要充分考虑软件的功能与界面之间的对应,应使界面与软件的功能相吻合,使用起来更为方便。
由于对于Java界面的编程仍处于初学阶段,在界面部分的代码还算是比较多的,因为面板上面的组件都要自己一个个硬代码加上去的,而且对于各组件的位置调试,也需要一次有一次通过布局管理调试,直到达到最佳位置为止。
在组内分工时,我是先写好界面,最后统一将界面与软件的主干部分结合,这种分工方式使大家工作起来很有效率,各司其职,也让我们体会到分工合作的好处。
由于界面知识有限,我并未为所有的窗口制作界面,这是本程序在界面方面的遗憾之一。
另外,在程序逻辑衔接上,我也站在用户的角度上认真设计了相应的窗口之间的逻辑,使用户体验更加优良。
除了界面方面的设计,我也承担了一些小功能的编写,例如小工具,汇率表等等,在此不一一列出。
通过本次的课程设计,使我体会到了团队合作的重要性,同时,也学到了许多界面方面的知识,在编程的过程中,加深了对Java语言的理解,为后续的学习打下了一些基础。
教
师
评
文档评论(0)