
基本算法
文章平均质量分 87
骑着哈哥去旅行
这个作者很懒,什么都没留下…
展开
-
算法是程序的灵魂之快希归
一,希尔排序(shell sort) 希尔排序其实是由插入排序演变过来的,是插入排序的一种更高效的改进版本。希尔排序是不稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 1,插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率 2,但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位 算法原理 希尔排序通过将比较的全部元素分为几个区域来提升插入排序的性能。这样可以让一个元素可以一次性地朝最终位置前进一大步。然后算法再取越来越小的步长进行排序,算法的最后一步原创 2021-06-06 22:32:18 · 222 阅读 · 0 评论 -
算法是程序的灵魂之选泡插
一,选择排序(selection sort) 选择排序是最简单的也是相对来说最鸡肋排序算法,有一定的优化空间。 简单就不用多讲,为啥说其‘鸡肋’呢?因为它的时间复杂度为O(n^2),还不稳定! 工作原理如下: 首先在未排序的序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多(n-1)次交换。原创 2021-06-06 08:38:22 · 264 阅读 · 0 评论