




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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年强力不粘钩项目建议书
- 【小班社会教案】学习洗洗小手(小班健康)
- 《认识动物》教案设计
- 2025年高频疲劳试验机合作协议书
- 工程项目合作协议书合同模板范本
- 工程承包合同样板
- 员工双向交流评语
- 某公司保安部突发事件处理流程
- 2025年乙苯脱氢催化剂合作协议书
- 民事起诉财产保全申请书
- 范文语文评课稿15篇
- 2016-2023年德州科技职业学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 外研版三年级下册英语全册教案(2024年2月修订)
- 大学生返回母校宣讲
- 光伏电站运维安全培训内容
- 丹尼斯人事规章(10年基层)岗前培训
- 开展优生优育健康知识讲座
- 企业人力资源管理师(三级)人力资源管理师考试题库及答案
- 信息可视化设计全套教学课件
- 《月历上的数字的奥秘》
- 护理文书书写规范PDCA
评论
0/150
提交评论