实验一 算法的实验分析方法
一、实验目的及要求
(一)实验目的
1、 熟悉算法的实验分析方法; 2、 熟悉实验的数据分析。
(二)实验要求 1.合理添加计数器
2.理解执行次数和问题规模之间的关系
二、实验设备及软件环境
(一)实验设备 PC机
(二)软件环境
1.Microsioft Windows XP 操作系统; 2.JAVA SDK
三、实验内容与步骤
1、 设计选择排序算法
2、 在算法中添加计数器,累计比较次数 3、 完成算法分析
4、 用JAVA实现算法,分别运行5-10个记录的排序,分析执行次数和规模之间的关系 5、 判断运行结果是否与分析结果一致
答、1、2、
3、假设第一个数是最小的数,然后让它与其余的数依次比较,比较完之后,如果有比他小的数就进行交换,没有则不用交换。再假设第二个数是最小的,再跟余下的数字依次比较,如果有比他小的数就进行交换,没有则不用交换…….重复,直到假设最后一个数是最小 4、 原数组5,4,3,2,1,1,2,3,4,52,5,6,1,91,1,2,3,2,4,3,2,5,1,6,6,5,4,3,2,11,1,1,1,1,1由小到大排列好的数组1,2,3,4,51,2,3,4,51,2,5,6,9,1,1,2,2,3,1,2,3,4,5,6,1,2,3,4,5,61,1,1,1,1,1交换次数进行比较的次数10031715021713281410010101010151515212121282828287,6,5,4,3,2,1,1,2,3,4,5,6,71,5,3,6,2,7,4,1,2,3,4,5,6,7,5,2,6,7,4,1,3,1,2,3,4,5,6,7,8,7,6,5,4,3,2,1,1,2,3,4,5,6,7,88,6,1,3,2,4,7,5,1,2,3,4,5,6,7,8,4,3,2,5,6,8,1,7,1,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,8,7,6,5,4,3,2,1,1,2,3,4,5,6,7,8,99,2,1,6,3,4,5,8,7,1,2,3,4,5,6,7,8,92,6,3,5,8,7,1,4,9,1,2,3,4,5,6,7,8,9361313 统计数据表明:
(1)固定的n个数字进行排序,需要进行比较的次数f(x)是固定的,n越大,比较次数越多,规模越大。为 n=1,f(x)= 0 n=2,f(x)= 1
(2)交换的次数由数字的有序程度决定,越是有序,交换的次数越少; 5,运行结果与分析结果一致
363636

