看图轻松理解数据结构与算法:冒泡排序

栏目: 编程工具 · 发布时间: 6年前

内容简介:推出一个新系列,《看图轻松理解数据结构和算法》,主要使用图片来描述常见的数据结构和算法,轻松阅读并理解掌握。本系列包括各种堆、各种队列、各种列表、各种树、各种图、各种排序等等几十篇的样子。冒泡排序是一种很简单的排序算法,主要思想就是不断走访待排序序列,每次只比较两个相邻元素,如果这俩元素顺序不符合要求则对换它们,不断重复知道没有相邻元素需要对换。在不断走访比较过程中,越大的元素经过交换会慢慢走到数列顶端,所以看起来它就像气泡一样不断往上冒,于是就叫冒泡。假设我们有如下5个元素,分别为

前言

推出一个新系列,《看图轻松理解数据结构和算法》,主要使用图片来描述常见的数据结构和算法,轻松阅读并理解掌握。本系列包括各种堆、各种队列、各种列表、各种树、各种图、各种 排序 等等几十篇的样子。

冒泡排序

冒泡排序是一种很简单的排序算法,主要思想就是不断走访待排序序列,每次只比较两个相邻元素,如果这俩元素顺序不符合要求则对换它们,不断重复知道没有相邻元素需要对换。在不断走访比较过程中,越大的元素经过交换会慢慢走到数列顶端,所以看起来它就像气泡一样不断往上冒,于是就叫冒泡。

排序要点

  1. 比较相邻两个元素,如果前一元素比后一元素大则对换它们的位置。

  2. 从头开始对每一对相邻元素都执行1的对比工作,直至结尾最后一对,执行完一轮后,该轮最大的元素被换置到最后。

  3. 针对所有元素执行若干轮1和2操作,每次经过2操作后都会将该轮的最大值换置到该轮最后,而最后元素不参与下一轮。

  4. 每一轮对越来越少的元素重复3操作,直至没有任何一对元素需要比较。

排序过程

假设我们有如下5个元素,分别为 72,58,22,34,14 ,现在进行冒泡排序。

看图轻松理解数据结构与算法:冒泡排序
image

第一遍,对所有元素前后两个元素进行比较,

看图轻松理解数据结构与算法:冒泡排序
image

72比58大,两者对换,完成后继续与下一元素比较,

看图轻松理解数据结构与算法:冒泡排序
image

72比22大,两者对换,完成后继续与下一元素比较,

看图轻松理解数据结构与算法:冒泡排序
image

72比34大,两者对换,完成后继续与下一元素比较,

看图轻松理解数据结构与算法:冒泡排序
image

72比14大,两者对换,72已经到序列最顶端,它是这一轮的最大的元素。下一轮比较排除72,只需比较 58,22,34,14 。开始比较,

看图轻松理解数据结构与算法:冒泡排序
image

58比22大,两者对换,完成后继续与下一元素比较,

看图轻松理解数据结构与算法:冒泡排序
image

58比34大,两者对换,完成后继续与下一元素比较,

看图轻松理解数据结构与算法:冒泡排序
image

58比14大,两者对换,58已经到该轮序列最顶端,它是这一轮的最大的元素。下一轮比较排除58,只需比较 22,34,14 。开始比较,

看图轻松理解数据结构与算法:冒泡排序
image

22比34小,两者不对换,继续与下一元素比较,

看图轻松理解数据结构与算法:冒泡排序
image

34比14大,两者对换,34已经到该轮序列最顶端,它是这一轮的最大的元素。下一轮比较排除34,只需比较 22,14 。开始比较,

看图轻松理解数据结构与算法:冒泡排序
image

22比14大,两者对换,22已经到该轮序列最顶端,它是这一轮的最大的元素。除了22后只剩一个元素,停止比较,至此完成了整个排序工作。

看图轻松理解数据结构与算法:冒泡排序

--------------------------------------

跟我交流:

看图轻松理解数据结构与算法:冒泡排序

-------------推荐阅读------------

我的开源项目汇总(机器&深度学习、NLP、网络IO、AIML、 mysql 协议、chatbot)

为什么写《Tomcat内核设计剖析》

2017文章汇总——机器学习篇

2017文章汇总——Java及中间件

2017文章汇总——深度学习篇

2017文章汇总——JDK源码篇

2017文章汇总——自然语言处理篇

2017文章汇总——Java并发篇


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

密码朋克

密码朋克

[澳] 朱利安·阿桑奇 / Gavroche / 中信出版社 / 2017-10 / 42.00元

互联网已经在世界各地掀起了革命,然而全面的打击也正在展开。随着整个社会向互联网迁移,大规模监控计划也正在向全球部署。我们的文明已经来到一个十字路口。道路的一边通往一个承诺“弱者要隐私,强 者要透明”的未来,而另一边则通往一个极权的互联网,在那里,全人类的权力被转移给不受问责的间谍机构综合体及其跨国公司盟友。 密码朋克是一群倡导大规模使用强密码术以保护我们的基本自由免遭攻击的活动家。维基解密的......一起来看看 《密码朋克》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具