![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构-排序算法
文章平均质量分 67
convolutional_
这个作者很懒,什么都没留下…
展开
-
常见的时间复杂度
常见的时间复杂度所耗费的时间从小到大依次是:0(1)原创 2016-03-27 09:20:10 · 305 阅读 · 0 评论 -
归并排序
归并排序(Merging Sort)就是利用归并(合并,并入的意思)的思想实1现的排序方法。它的原理是假设初始序列有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两合并,得到n/2个长度为2或1的有序子序列;再两两归并,.........,如此重复,直至得到一个长度为n的有序序列为止,这种排序方法称为2路归并排序。 为了更清楚的地说明这里的思想,我们将本是无序的原创 2016-03-21 10:49:40 · 362 阅读 · 0 评论 -
堆排序
堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。 堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&key>=key[2i+2]称为大顶原创 2014-11-12 17:54:37 · 640 阅读 · 0 评论 -
排序算法的总结
几种常见的排序算法总结原创 2016-03-20 18:15:09 · 200 阅读 · 0 评论 -
希尔排序
1.什么叫希尔排序希尔排序(Shell Sort)是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序,因DL.Shell于1959年提出而得名原创 2014-11-11 12:17:09 · 1385 阅读 · 0 评论 -
插入排序
原理:插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。 插入排序方法分直接插入排序和折半插入排序两种,这里只介绍直接插入排序,折半插入排序留到“查找”内容中进行。原创 2014-11-11 11:04:21 · 518 阅读 · 0 评论 -
选择排序
1.1、关于选择排序的思想 问题一:什么是选择排序(selection sort) 选择排序是对冒泡排序算法的改进,在参加排序的所有数组元素中找出最小数据的元素,使它与第一个元素中的数据相互交换位置。然后再在余下的元素中找出最小数据的元素,与第二个元素中的数据相互交换位置,以此类推,直到所有元素成为一个有序的序列。此方法中交换的次数比冒泡排序少,具有较高的效率。 第一遍加工:第一个元素原创 2014-11-11 11:18:34 · 632 阅读 · 0 评论 -
冒泡排序
1.观察水中的气泡往上冒的情景,气泡往上冒的时候有什么特点呢?原创 2014-11-11 08:35:28 · 668 阅读 · 0 评论 -
快速排序的第二种写法
C++语言/*快速排序 */ #includeusing namespace std;int data[8];//交换函数,交换两个数 void swap(int &a,int &b){ int temp=a; a=b; b=temp;}int Partition(int data[],int length,int start,int end){ if(data==NUL原创 2016-04-16 10:10:29 · 532 阅读 · 0 评论