数据结构程序设计实验报告(1) 实验人:*** 学号: ********* 时间:2015.3.25 实验原理:本实验是验证算法(起泡排序程序)的时间效率,用计时函数clock() 检测起泡排序与不检测change的起泡排序的所用时间, 实验过程中的问题:函数在使用前没调用;菜单内容不熟悉 ........ 实验结果: 用伪随机数组试验得:几乎看不出, 下面是按(数组长度,所用时间,所用时间(用change))表示的结果: 1000 0 0 2000 16 31 3000 63 62 4000 94 109 5000 172 156 6000 235 203 7000 297 281 8000 375 375 9000 469 468 10000 579 593 用全逆数组试验得:不检测change的起泡排序的所用时间应该少一点,但几乎看不出, 下面是按(数组长度,所用时间,所用时间(用change))表示的结果: 1000 15 0 2000 31 16 3000 62 63 4000 93 110 5000 140 157 //数据随硬件环境影响,可能不同 6000 218 219 7000 281 282 8000 360 375 9000 453 454 10000 578 578 用单调数组试验得:不检测change的起泡排序还是需要时间, 下面是按(数组长度,所用时间,所用时间(用change))表示的结果: 1000 0 0 2000 0 0 3000 31 0 4000 31 0 5000 63 0 6000 93 0 7000 110 0 8000 156 0 9000 187 0 10000 219 0 用一半单调、一半逆序数组试验得:检测change的起泡排序的所用时间少, 下面是按(数组长度,所用时间,所用时间(用change))表示的结果: 1000 0 0 2000 15 16 3000 31 31 4000 78 32 5000 94 47 6000 141 78 7000 187 94 8000 219 125 9000 250 156 10000 312 188 思考与疑问:比较结果是:如果该数组次序与所排次序比较接近, 则用检测change的起泡排序的所用时间较少。