数据结构与算法
hnu_Cheng
喜欢做一些小开发,做一些小程序的小白
展开
-
排序算法之冒泡排序(含样例)
最近整理了一下关于数据结构中的排序算法,我找了只找到了七种,关于基数排序和桶排序我就没有怎么看了。下面来简单谈一下冒泡排序的算法思路和算法实现,包括测试样例等。 冒泡排序 冒泡排序的基本思想是每次的循环都把最小的元素给置换到数组的最前面的位置去,这样子经过n-1轮次,就可以把所有的元素变得有序。举个例子原始数组【5,3,2,4,1】第一轮,从index=1开始,发现3<5,两者交...原创 2018-12-09 18:47:32 · 1020 阅读 · 0 评论 -
排序算法之选择排序
上一篇介绍了冒泡排序,这一次来介绍选择排序,其基本思路相差不大,但是要比冒泡排序性能稍微好一点原创 2018-12-10 14:43:58 · 165 阅读 · 2 评论 -
排序算法之快速排序
相信大家也经常听到一种排序算法叫做“快排”,而且这也是很多同学经常用到的(一旦掌握了之后),因为在大家的认知中,快速排序是在平均情况下性能最好的一种排序算法,他的时间复杂度较优并且没有额外的空间开销。下面就来简单介绍一下快速排序的整体思路和实现过程,其实本篇博文只是自己的一个笔记而已,给大家推荐https://bbs.codeaha.com/thread-4419-1-1.html,这...原创 2018-12-16 12:22:37 · 1096 阅读 · 0 评论 -
排序算法之堆排序
今天来向大家介绍的是堆排序,他利用的是数据结构堆的结构特点来实现的一种排序方法。我们经常如果要进行升序排列的话,会用到的是最大堆。堆排序的整体过程分为两步,一个是建堆过程,另外一个是不断地将结点siftdown的排序的过程。整体思路如下: 1.首先建立一个数组,数组中的元素随机排列 2.从最后一个有字节点的节点(或者叫做最后一个非叶节点)开始,将每一个非叶节点都...原创 2019-01-18 16:37:57 · 271 阅读 · 0 评论 -
排序算法之插入排序
前面介绍了两种排序算法,今天介绍第三种,也是基于两两交换的原则。今天也简答也介绍一下思路。原创 2018-12-10 17:54:13 · 153 阅读 · 0 评论