首页 > 教学资源 > 教案 > 其它教案 > 算法与程序设计——选择排序

算法与程序设计——选择排序

酒醒梦一场 点赞 分享
算法与程序设计——选择排序

微信扫码分享

算法与程序设计——选择排序

       if d(j) < d(min) then min = j

   next j

   if min <> i then

        temp = d(i):d(i) = d(min):d(min) = temp

   end if

next i

for m = 1 to n

   print(str(d(m)))

next m

[调试程序]

[扩展提高]

我们知道,冒泡排序的效率比较低,主要因为数据交换的次数多,那我们如何知道选择排序中数据交换的次数?

[学生带着问题思考并实践]

——可利用一个自定义integer型变量,初值0,记录数据交换次数,在程序交换数据部分令其自加1,程序结束时输出结果。

[完整的程序为]

dim i,j,min,m,cishu as integer

cishu=0

for i = 1 to n-1

   min = i

   for j = i + 1 to n

       if d(j) < d(min) then min = j

   next j

   if min <> i then

        temp = d(i):d(i) = d(min):d(min) = temp:cishu=cishu+1

   end if

next i

for m = 1 to n

   print(str(d(m)))

next m

print(str(cishu))

  【问题研讨】

对于规模非常大时,计算选择排序与冒泡排序交换次数,研究时间、空间复杂度

利用网络、图书,发现更优秀的排序算法,并对各种算法进行效率分析

 

   

221381
领取福利

微信扫码领取福利

算法与程序设计——选择排序

微信扫码分享