排序算法
疯狂的生长
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
快速排序
快排作为一种排序算法,复杂度要比冒泡排序和选择排序小,相对而言也会比较复杂 快速排序算法,快排的基本原理就是选择一个合适的基准点,将小于基准点的项放到基准点的左边,其余的项放到基准点的右边,这时候就对序列进行了一个大致的排序。接下来我们分别排序基准点左边和基准点右边的序列即可,当序列长度小于1时即终止排序 所以要实现上述功能,我们需要解决以下几点 选择基准点 把小于基准点的项放到左边,其余项放到右边(这一操作我们称之为分割) 对基准点左边和右边的序列分别重复上一操作 终止条件:要排序的序列长度小于1 解原创 2021-03-22 20:42:50 · 222 阅读 · 0 评论 -
选择排序
好久不见,哈哈哈,许久不碰python了,最近在复习一下基本算法就当复习了。 这篇博客主要介绍的是选择排序,基本的原理这里就不多介绍了,可以看这里,提供一下自己的解决思路 # 选择排序 def selectionSort(lyst): ''' 选择排序算法: 原理:把序列中最小的元素放在第一个位置,把第二个小的元素放在第二个位置,以此类推 算法实现:假定序列长度为n, 首先实现把最小的元素放在第一个位置,即比较序列后面所有元素与当前第一个位置的元素的大小,如果后面的较原创 2021-03-04 16:23:14 · 116 阅读 · 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 · 379 阅读 · 0 评论 -
基本排序算法系列——冒泡排序算法
排序算法是编程人员必须熟练掌握的算法之一,接下来会写几篇博客介绍基本的排序算法。首先先介绍冒泡排序算法! ———————————————————————————— **冒泡排序:**简单的说就是从待排序列的最底端开始,依次比较相邻两个数的大小,若上端的数小于下端的数,交换两个数的位置,若上端的数大于下端的数,则不交换两个数的位置,依次进行下去,这样就实现序列中最大的数“浮”到了最上端,故而形象的说它是冒泡排序。 ———————————————————————————— 俗话说,说的再好不如一图在手,见下图(原创 2020-06-19 17:26:32 · 505 阅读 · 0 评论
分享