你知道和你不知道的选择排序

什么是选择排序?

首先贴上从wiki上弄下来的关于选择排序的定义。

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

更加直白的解释是,每次都从数组中选出最大或者最小的元素,然后放到数组的左边。

选择排序的过程展示

老规矩,我们还是通过动图来看一下选择排序的过程。以下的gif来自于wiki。

img
继续阅读
广告

你知道和你不知道的冒泡排序

这篇文章包含了你一定知道的,和你不一定知道的冒泡排序。

什么是冒泡排序

可能对于大多数的人来说比如我,接触的第一个算法就是冒泡排序。

我看过的很多的文章都把冒泡排序描述成我们喝的汽水,底部不停的有二氧化碳的气泡往上冒,还有描述成鱼吐泡泡,都特别的形象。

其实结合一杯水来对比很好理解,将我们的数组竖着放进杯子,数组中值小的元素密度相对较小,值大的元素密度相对较大。这样一来,密度大的元素就会沉入杯底,而密度小的元素会慢慢的浮到杯子的最顶部,稍微专业一点描述如下。

继续阅读