




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、或拥忌显工社大哮(hengdn University of Information Technology算法设计与分析基础实验报告应用数学学院姓名:学号:班级:二零一六年六月实验 选择排序算法一、实验性质 设计二、实验学时 14 学时三、实验目的1、掌握选择排序的方法和原理。2、掌握 java 语言实现该算法的一般流程。四、实验内容1、数组的输入。2、输入、输出的异常处理。3、选择排序的算法流程。4、运行结果的输出。五、实验报告I、算法原理首先扫描整个列表,在未排序序列中找到最小(大)元素,存放到 排序序列的起始位置, 再从剩余未排序元素中继续寻找最小 (大)元素, 然后放到已排序序列的末尾。
2、然后从第二个元素开始扫描列表,找到最 后 n-1 个元素中的最小元素,在和第二个元素交换位置,把第二小的元 素放在它的最终位置上。一般来说,在对该列表做第 i 次扫描的时候( i 的值从 0 到 n-2 ),该算法在最后 n - i 个元素中寻找最小元素,然后拿 它和 Ai 交换,在 n-1 遍以后就被排序好了。U、书中源代码算法 SelectionSort(A0.n-1)/ 输入:一个可排序数组 A0.n-1/ 输出:升序排列的数组 A0.n-1for i J 0 to n-2 domin J ifor j J i+1 to n-1 doif Aj Amin min J jswap Ai a
3、nd AminIH、Java算法代码:import java.util.*;public class Xuanze public static void main(String args) int n = 5;int a = new intn;int i = 0, j = 0;int sm = 0, min = 0;System.out.println( 请输入一组数字: );Scanner sc = new Scanner(System.in);try while (i n) ai=sc.nextInt();i+;for (i = 0; i = n - 2; i+) min = i;for
4、(j = i+1;j=n-1; j+) if (aj amin) min=j;sm = amin;amin = ai;ai = sm;System.out.println( 选择排序输出结果为: );for (i = 0; i n; i+) System.out.println(ai); catch (Exception e) System.out.println(e);W、运行结果显示:图( 1)图(2)V、实验结论:选择排序是一个G)(?)的算法,键的交换次数仅为G)( n) 或者是 n-1 次。择排序的主要优点与数据移动有关。如果某个元 素位于正确的最终位置上,则它不会被移动。选择排序每
5、次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n 个元素的表进行排序总共进行至多 n-1 次交换。在所有的完全 依靠交换去移动元素的排序方法中, 选择排序属于非常好的一种。实验三 折半查找算法一、实验性质 设计二、实验学时 14 学时三、实验目的1、掌握折半查找算法的方法和原理。2、掌握 java 语言实现该算法的一般流程。四、实验内容1、给定一个数组。2、输入、输出的异常处理。3、折半查找的算法流程。4、运行结果的输出。五、实验报告I、算法原理折半查找法是效率较高的一种查找方法。 假设有已经按照从小到大的顺 序排列好的五个整数??,要查找的数是K,通过比较查找键K和数组中 间
6、元素 Am 来完成查找工作。如果他们相等,算法结束,否则,如果 KAm, 则对数组的后半部分执行该 操作。U、书中源代码算法 BinarySearch(A0.n-1,K)/ 实现非递归的折半查找/ 输入:一个可排序数组 A0.n-1 和一个查找键 K-1I J 0; r J n - 1while I r dom J (I+r)/2if K = Amreturn meIse if K Java算法代码:import java.utiI.*;pubIic cIass Zheban pubIic static void main(String args) int k = 0, i = 0, m =
7、0;int a = 15,25,36,98,108,250,360,782;int s = a.Iength-1;System.out.printIn( 请输入一个需要查找的数字: );Scanner sc = new Scanner(System.in);tryk = sc.nextInt();whiIe (i=s) m=(int)(i+s)/2);if (k = am) 该数字在数组中的下System.out.print( 标为: +m);System.exit(-1);else if (k am)s = m - 1;elsei=m+1; System.out.println(-1);catch(Exception es)System.out.println(es);W、运行结果显示:V、实验结论:折半
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度智能制造企业生产管理人才招聘与智能制造协议
- 二零二五年度立体停车设备研发与委托运营管理合同
- 二零二五年度航空航天就业劳动合同
- 二零二五年度叉车安全风险评估与整改合同
- 围城深度解读与评析征文
- 新产品市场推广策略及执行方案
- 工业自动化控制系统设计与维护服务协议
- 《天文观测与天体物理学习计划》
- 行业市场深度调研分析
- 互联网+三农营销模式创新案例集
- 2024年湖南有色金属职业技术学院单招职业适应性测试题库带答案
- 创伤中心汇报
- 2023年春节美化亮化工程施工用电预控措施和事故应急预案
- 2024年长沙职业技术学院单招职业技能测试题库及答案解析
- 与医保有关的信息系统相关材料-模板
- 聚乙烯(PE)孔网骨架塑钢复合稳态管
- 范文语文评课稿15篇
- 2024年西安电力高等专科学校高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 2016-2023年德州科技职业学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 外研版三年级下册英语全册教案(2024年2月修订)
- 大学生返回母校宣讲
评论
0/150
提交评论