![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
疯狂的生长
这个作者很懒,什么都没留下…
展开
-
快速排序
快排作为一种排序算法,复杂度要比冒泡排序和选择排序小,相对而言也会比较复杂快速排序算法,快排的基本原理就是选择一个合适的基准点,将小于基准点的项放到基准点的左边,其余的项放到基准点的右边,这时候就对序列进行了一个大致的排序。接下来我们分别排序基准点左边和基准点右边的序列即可,当序列长度小于1时即终止排序所以要实现上述功能,我们需要解决以下几点选择基准点把小于基准点的项放到左边,其余项放到右边(这一操作我们称之为分割)对基准点左边和右边的序列分别重复上一操作终止条件:要排序的序列长度小于1解原创 2021-03-22 20:42:50 · 134 阅读 · 0 评论 -
选择排序
好久不见,哈哈哈,许久不碰python了,最近在复习一下基本算法就当复习了。这篇博客主要介绍的是选择排序,基本的原理这里就不多介绍了,可以看这里,提供一下自己的解决思路# 选择排序def selectionSort(lyst): ''' 选择排序算法: 原理:把序列中最小的元素放在第一个位置,把第二个小的元素放在第二个位置,以此类推 算法实现:假定序列长度为n, 首先实现把最小的元素放在第一个位置,即比较序列后面所有元素与当前第一个位置的元素的大小,如果后面的较原创 2021-03-04 16:23:14 · 68 阅读 · 1 评论 -
基本排序算法系列(二)——归并排序
今天主要说一下归并排序,主要介绍可以看菜鸟教程的归并排序归并排序的主要思路如下1、将一个待排序列一分为2,得到左右两个待排子序列,如果序列长度小于2,就不再切分;2、对得到的左右两个子序列重复步骤1;3、对序列进行排序图解如下(来源网络)举个栗子比如要排下面这个序5,6,9,8,7首先划分成如下样子5,6 9,8,7序列长度大于2,继续划分5 || 6 9|| 8,7我们发现,左子序列的子序列的长度都原创 2020-07-02 14:40:02 · 283 阅读 · 0 评论 -
基本排序算法系列——冒泡排序算法
排序算法是编程人员必须熟练掌握的算法之一,接下来会写几篇博客介绍基本的排序算法。首先先介绍冒泡排序算法!————————————————————————————**冒泡排序:**简单的说就是从待排序列的最底端开始,依次比较相邻两个数的大小,若上端的数小于下端的数,交换两个数的位置,若上端的数大于下端的数,则不交换两个数的位置,依次进行下去,这样就实现序列中最大的数“浮”到了最上端,故而形象的说它是冒泡排序。————————————————————————————俗话说,说的再好不如一图在手,见下图(原创 2020-06-19 17:26:32 · 402 阅读 · 0 评论