经典的冒泡排序.doc

经典的冒泡排序.doc

ID:59339503

大小:17.50 KB

页数:3页

时间:2020-09-04

经典的冒泡排序.doc_第1页
经典的冒泡排序.doc_第2页
经典的冒泡排序.doc_第3页
资源描述:

《经典的冒泡排序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、经典的冒泡排序那我先来简单的讲解一下什么是冒泡排序。已经冒泡排序他的一个过程到底是怎样的,好吧。假设呢我们有这么几个数字啊,比如说16和25,9和90最后是23,我随便输了几个数字啊。那我们现在干嘛呢,要求他降序排列,降序排列,那什么叫降序呢?所谓降序的话呢,是从大到小。降序排列说白了就是从大到小,那你排数字的话呢,我们计算机肯定不能像我们人类一样,我们作为我们的正常人来讲的话呢,那你把5个数字排列,我一眼就可以看出谁最大谁最小。这是非常简单的,实际上这个过程对于我们人来讲的话,为什么简单呢?因为这个简单的话呢

2、,他建立在我们从小到大一直训练的基础上的。那假设现在不是5个数字了,如果是一万个数字,或者十万个数字,要求大家排序呢,大家想,你能不能迅速找到哪个数字最大呢?很难找到对不对?所以对于我们来讲的话,我们要通过探讨这几个数字的这样一个算法,慢慢的,这个算法在数字变的比较多的情况下,实际上算法是可以通用的。我们是以小见大啊,那么在5个数字排序的话呢,他真实的步骤是怎样的呢?我们要排序,从大到小排序的话呢,实际上按照计算机处理的话呢,他是一个数字一个数字的去查找,进行交换的。所以呢说白了,冒泡排序的基础原理,是什么呢?

3、是查找和交换,或者说这查找呢,会不是很贴切,换一个词,叫做遍历。遍历和交换。那什么叫做遍历呢,遍历就是一个一个访问,比如我先访问16再访问25,他的顺序是这样的,因为我们要从大到小排列,所以在第一次循环的时候,第一轮循环,要怎样呢?就是从大到小排列,左边的数字要求大,右边的数字要求小,那怎么样了?应该是把16和25进行比较,应该把大的往前挪,把小的往后挪,大家能够理解嘛?从大到小嘛,第一轮循环的时候,是某个数字如果小于后面的数字,那么就交换,大家看,那这个过程是怎么样的呢?第一轮呢实际上是16和25比较,如果某

4、一个数字比后面一个数字小的话,那么就交换,所以应该是16和25进行交换,交换以后呢实际上就25和16,但是第一轮完了没有呢?还没有完,因为你只是交换了前两个数字,后面呢仍然是9,90,23,所以在第一轮的时候,第一轮第一次的时候,实际上他的结果是这样的,紧接着第一轮第二次,第二次继续进行交换,我们再继续排,因为16还要和9相比较,16和9比较的时候仍然是这个逻辑,如果某个数字仍然小于后面的数字,那么就交换,那么16小于9吗?16肯定不小于9,所以第二轮实际上他执行交换了没有呢?实际上是没有交换的,好进行第三轮比

5、较,相当于现在交换的顺序啊,这个顺序啊已经到9了,对吧,击鼓传花,已经传到9了,9仍然和90进行交换,9小于后面的90,所以这一次交换的话呢,是25,16,90下面是9,大家注意了,这个地方,最后一个仍然是23,第三轮比较的时候,泡泡已经落到这个地方来了,第四位来了,最后一轮交换的时候,9小于23吗?9是小于23的,2516,最后一个23来进行交换,所以在第四轮比较的时候,他们发现在这一轮的时候,最小的数字就冒到了最后,而最大的数字呢,最大的数字暂时还没有冒出来,最大的数字应该在前面,那是第二轮进行循环比较的,

6、所以我们探讨一下,首先冒泡排序第一个,需要比较多轮,因为你第一轮的话,没有比完嘛,第二个,第一轮比了几次啊?第一轮比较了4次,而这个4次的话呢,怎么来解释呢,4次大家想,为什么是4次呢,因为有5个数字,所以比较了4次。那为什么要比较4次呢,为什么不是5次呢,因为在比较第四次的时候,9这个数字最小值,已经到最后了,那你再比的话有意义没?没有意义了,因为已经比出来了对不对?所以第一轮,只需要比4次就可以了,而这个4呢,实际上是数组的总长度-1,这个大家刚开始进行理解,以后的话呢我们就知道了,5个数字第一轮比几次啊?

7、比4次啊,大家看啊,从大到小降序排列,这个时候我们把数字竖起来看,这样会好看一些啊,应该是前面一个数字,从16开始比较,前面一个数字如果比后面一个数字小,就开始干嘛?16和25比较,因为16小,怎么办呢?就交换,对不对?那泡泡的话就冒到了第二层去了,紧接着16和9进行比较,那16和9比的时候,他比9大,对不对?所以并没有进行交换,泡泡冒到了9这个地方来了,那9呢再和90进行比较,很明显9小于90,所以又进行了一次交换,最后泡泡到达9这个地方,又比他小,所以9继续往上冒,最上面的那个泡泡,其实就是他的极值,一共比

8、了几次啊?一共比了4次,因为最后一次的时候不需要比了,泡泡已经在最上面了,这是第一轮,第二轮的话呢,第二轮继续从25和16比,一样的逻辑。前面一个数字比后面一个数字小,对不对?我就交换,这里的话16比90小,所以就交换。所以交换,继续,16比23小。然后交换,好了,现在呢一共比了几次啊。一共比了3次,第二轮比了3次。那么16到第二层的时候,到泡泡的时候,泡泡已经冒到16这个地方了,第二

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。