00:00
好,同学们,我们同样来对这一个选择排序,对吧,这是选择排序的它的一个速度来进行一个测试,那么我们仍然用刚才的这个方案来玩一把,首先呢,我们来创建一个8万。个随机的随机数的一个数组,还是跟前面一样好吧,那这块呢。把它先注销一下,我们生成一个八万八万个呃元素的一个数组。好,来,走一个。那同学们看到这个数组呢,我们仍然是产生了一个8万的,而且呢,它是在零到800万之间,这样呢,让它的数据可以闪开排序前这个输出咱们就不要了,因为这个在输出的话,咱时间确实是扛不住,对吧,扛不住大家看这这个现在有8万个数据,同样时间在排序之前呢,咱们把时间给他打出来一下。
01:03
这块我就不写了啊,这是排序之前的时间,那么在排序过后呢,同样的道理,我们这里呢,也不再输出排序后的数组了,因为8万个数据你这一打,嗯。这个打印的时间特别长,那现在呢,我在排序过后再把时间输出,同样把这边改成二。这个呢,这这一句我们就不要了,好吧,得到排序过后的时间。改成二,然后这边呢,排序后的时间输出一把。那我们来试一试吧。大家先想一想哈,因为这个选择排序。他在具体的这个操作过程中,其实他交换交换的次数是非非常少的,你看只是在发生了这个小的时候进行一个处置,然后最后呢,到底要不要交换还有一个判断,因此。
02:00
他的整个这个时间肯定要比冒泡要短。肯定要短,而且你看它这个地方只有两句话,是不是只有两句话,而这边呢,也是只有两句话。对吧,那现在我们来做这样一个操作,看看他到底花费多少时间呢,也是八个数据,我们执行一把。好,这是排序前,这是排序后,大家可以看到排序时间就变成了三秒。而我们冒泡排序将近20秒,所以说时间呢,确实是得到了。这个他执行的时间确实缩短了很多,我们再来执行一下。我们可以看到58。你看这个地方两秒都搞定,那么再执行一次,看看是否稳定哈。零六。好,零八大概是两秒,因此这个8万个一个随机数组,8万个8万个随机的数的一个数组呢,可以看到大概是两到三秒的时间,时间的确提升了很多。
03:09
时间的确提升很多,那呃这样子的话呢,我们再把呃这样子呢,所以说我们得出这样一个结论,选择选择排序,它的时间会缩短。然后我们把刚才讲的这个内容呢,给各位同学板书一下。刚才我们讲的是什么内容呢?讲的是选择排序,叫select。So。那么选择排序呢?我们仍然是先给大家做了一个基本的介绍,就是选择排序是一个什么样的内容,对吧?选择排序的基本介绍,选择排序说完了过后呢,我们说了一下选择排序的思想。就是他在进行选择的时候,他的大致的一个排序思想是什么样子的。这做了一个整理,然后呢,我们给大家画了一个图,帮助同学们理解选择排序。
04:07
这是第一张图。这是我们的第一张图。那么第一张图说完了过后呢,为了让大家理解的更清晰一点,是不是我们又举了一个例子啊,又有一张对什么呢?对一个数组,对一个数组的选择排序再进行一个讲解。再进行讲解。那么这个数组呢,我们选用的是呃,一个有四个元素的一个简单数组,然后呢,把它这个流程给大家做了一个分析,好这里呢,把这个思路图解给大家拿过来具体来说它的。顺序是第一步、第二步。第二步里面呢,就是每就是第一轮排序里面,每一轮排排序是一个循环,循环的规则,我简单的写了一下,最后呢是在代码里面给大家展现出了这样一个流程。
05:04
是这样子的吧,好,把这个呢也给同学们拿过来。对吧,这是从。一个简单的数组的。一个流程给他做了分析。OK。那这整完了以后,是不是我们给大家写了一个实际的案例,这个案例呢,我们也是按照。按照这个逐步推导的方式给大家写出来的,这样呢,利于大家的理解。是这样子的吧,好,这是对一群牛的颜值进行排序,好,我把这个呢拿过来。好,这是一张小图啊,一张小图,拿过来放这儿。那最后代码呢,我就直接放到这里,代码实现,代码实现啊放这。放这柜子吧。跌到最难。那具体来说代码呢,我就从这直接给大家粘贴复制过来。最后我们得出结论是8万个数据在老师的电脑里面大概是三秒两到三秒,对吧,最后我们这有个小的小的这个说明,大家看这里。
06:10
诶,在上边儿是吧,在上边儿。8万个随机数据在我的在。在我的电脑上,在我的机机器上啊,机器上是两到三秒。那么时间呢?比什么呢?比冒泡,比冒泡快了很多。OK,好,同学们,那关于我们选择排序的一个整理,和它一个效率的测试呢,就先讲到这里。
我来说两句