- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PINGDINGSHAN UNIVERSITY
数据结构实训
院(系): 软件学院
专业年级: 软件工程 2009级
姓 名: 李乾坤
学 号: 091530108
指导教师: 刘高原 讲师
2011年06月18日
查找排序
需求分析
对一组无序数据进行排序,找出排序后某一数据所在的位置。
概要设计 略
详细设计 略
算法分析
简单地说,冒泡法就是先找最小值,再找次小值……,快排则是在一次循环中使它们局部有序,多次循环,直至全部有序为止。二分查找充分利用了有序序列的特性,从某种意义上讲,二分查找侧重的不是比较两个数是不是相等,而是确定要查找的数的范围。
程序总结
这个算法给我的最大启发就是我们要充分利用已有的信息。比如对已经排好序的数据进行查找,如果只是平淡的顺序查找,就比二分查找的效率低很多。为什么?因为二分查找考虑并利用了这些信息。同样的理论还可以用来解释为什么快排就比冒泡来得快,排序说白了就是为每一个数找到一个它应该呆的位置。假如为1~10排序,冒泡排序说白了就是一开始先找最大值移到最上边,这没错,关键是次小值又从底部开始找,使以前做的许多移动又有一部分重复了。快排则是,我不管以前怎么着,8碰到5就得放5的右边这总没错吧,以后碰到合适的再移动,但8和5的相对移动不会再重复了。由此观之,消除程序中的重复工作是提高效率的关键,不过高效率的算法可不是长在树上的(说有就有的),比如二分搜索排序,即使看起来很简单,能想起来这么做却是非常不简单的。
0-1背包问题(Bag)
需求分析
从若干个具有一定价值和质量的物品挑出一些放入具有容量限制的背包,使背包的所容纳物品的价值最大。
概要设计
三个面板类,用card布局依次显示
详细设计
1)第一个card负责设置背包容量和最大物品个数
2)第二个card负责输入物品名称、重量、价格
3)第三个card显示结果
算法分析
本算法的关键是建立递归公式:m[i][j],m[n][j]
m(i,j)= max{m(i+1,j),m(i+1,j-wi)+vi} j=wi
m[i][j]=
m(i+1,j) 0=jwn
m(n,j)= vn jwi
m[i][j]=
0=jwi
算法的主要思路就是将这个公式程序化,所以说数学建模很重要。在这里我觉得最精华的倒不是算法实现,最重要的有两点:一、动态规划法的思维方式,这种解题方式可以说是递归迭代,也可以认为是建了一个表去记录已经完成的运算成果以方便后边使用,避免重复运算。二、是用一种间接的方式保存被选中的物品,也就是这个表(m(i,j)),没有这个表就没有这个算法。
程序总结
通过完成此次试验,对动态规划法感慨良多。0-1背包问题的本质就是判断一个物品该不该放到背包里,然而这种判断还依赖于其他物品的选择,比较方便的方法就是穷举法,判断所有可能的状况,但这样的效率就太低了。解决一问题总有一个量来衡量解决这个问题所需要做的最少工作,编程的一个目标就是如何是计算机的效率更好的逼近这个量。研究穷举法我们会发现有很多重复的运算,优化穷举法的重要思路就是利用动态规划法的思想:利用已有的成果以避免重复运算,未进行的运算可以以已进行的运算为基础。因此我们必须有一种信息的表示方式来说明这个运算已经进行过了,反映到数学上就是发现运算之间的迭代关系。
我们再从另一个角度去理解。吃饭要一口一口的吃,解决问题的一个重要方法就是缩小问题规模。如何缩小问题规模是个大学问,我们解决问题一般都有两种方法论——递推和递归,递推在这里很明显需要大量的回溯,或者直接就是低效率的穷举法。如果从递归方面看,我们先假设一个最优的结果,然后再看背包容量减少后的最优结果,这样一直迭代。算法的设计是最费脑筋的,但是查看一个优秀的算法非常有助于培养人们灵活的思维方式。
最短路径问题(LJ)
需求分析
为用户提供一种输入手段获得一个无向图(或邻接矩阵),出发点和目的地,通过一定算法得到出发点到目的地的最短路径,显示给用户。
概要设计
三、详细设计
数据类
结点类Node
此类负责记录结点信息:坐标(x,y),结点名称,结点序号
边类
此类负责记录结点之间连线的信息:起点序号,终点序号,起点和终点的距离
我们在用户输入界面中建立两个向量对象,分别是结点类型和
您可能关注的文档
- 数车尾比赛策划书.docx
- 数成控实训基地7S管理及考核制度 3.doc
- 数电习题答不案(1-4).doc
- 数读据结个构课程设计要求.doc
- 数个字校园信息化建设思路与规划.doc
- 数计读学院学生会招新面试题.doc
- 数据的等标准化.doc
- 数据分析技术读提高纸箱产品质量.doc
- 数据件统计案例分析.doc
- 数据结个构课程设计——图书借阅管理系统.doc
- 深度解析(2026)GYT 300-2016 有线数字电视光链路技术要求和测量方法 .pptx
- 2026届山东省威海市荣成第十四中学九年级数学第一学期期末教学质量检测模拟试题含解析.doc
- 深度解析(2026)GYT 302-2016 电影电视用白光LED灯具技术要求和测量方法 .pptx
- 深度解析(2026)HG 2460.1-1993《五氯硝基苯原药》:专业标准的技术溯源、历史贡献与现代化转型价值探析.pptx
- 深度解析(2026)HG_T 2292-2016 环形防喷器胶芯 .pptx
- 深度解析(2026)HG_T 2897-2016 1-萘酚-4-磺酸(NW酸) .pptx
- 深度解析(2026)HG_T 3219-2016 搪玻璃平面阀 .pptx
- 2026届湖南省长沙市长雅中学数学九上期末达标检测试题含解析.doc
- 2025年山东省泰安市泰山区中考数学模拟试卷.pdf
- 安徽省宿州砀山县联考2026届数学八年级第一学期期末联考模拟试题含解析.doc
最近下载
- 信阳农林学院《公共英语一》2023-2024学年第一学期期末试卷.doc VIP
- 个人征信报告模板征信报告模板(2021带水印).pdf VIP
- 如何做好医患沟通(1)(1).pptx VIP
- 4.4天净沙秋思 教学课件(共29张PPT)(含音频+视频).pptx VIP
- 毕业设计(论文)-基于PLC智能分类垃圾桶设计.docx VIP
- 消防给水管道水压试验方案.docx VIP
- 标准图集-闽2004G104 钢筋混凝土桩基承台.pdf VIP
- 江苏西德电梯图纸一体机KFS25-Y4F-B110(有机房).pdf VIP
- 《桉树更新免炼山造林技术规程》.docx VIP
- 免炼山造林PPT课件.pptx VIP
原创力文档


文档评论(0)