随笔分类 -  排序算法

摘要:归并排序 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之),将已有序的子 阅读全文
posted @ 2019-08-01 17:47 Luv3 阅读(13806) 评论(1) 推荐(14) 编辑
摘要:选择排序 1、算法描述 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕(放到起始位置还是末尾可以自行选择) 2、代码实现 3、排序过程(gif) 四、关于算法性能 与冒泡排序 阅读全文
posted @ 2019-07-31 16:01 Luv3 阅读(1205) 评论(0) 推荐(2) 编辑
摘要:希尔排序 希尔排序是插入排序的一种,又称“缩小增量排序”,希尔排序是直接插入排序算法的一种更高效的改进版本,关于插入排序可以看下这篇随笔:插入排序——C语言 (图片来源:https://www.cnblogs.com/fivestudy/p/10212306.html) 1、希尔排序的基本思想: 设 阅读全文
posted @ 2019-07-30 17:07 Luv3 阅读(4397) 评论(0) 推荐(1) 编辑
摘要:插入排序 插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 (每步将一个待排序的元素,按其排序码大小插入到前面已经排好序的一组元素的适当位置上去,直到元素全部插入为止) (图片 阅读全文
posted @ 2019-07-28 16:36 Luv3 阅读(27059) 评论(0) 推荐(10) 编辑
摘要:基本排序分类图: 关于排序的稳定性 在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。 一、 冒泡排序 冒泡 阅读全文
posted @ 2019-03-25 20:27 Luv3 阅读(11837) 评论(4) 推荐(8) 编辑
摘要:堆排序 之前的随笔写了栈(顺序栈、链式栈)、队列(循环队列、链式队列)、链表、二叉树,这次随笔来写堆 1、什么是堆? 堆是一种非线性结构,(本篇随笔主要分析堆的数组实现)可以把堆看作一个数组,也可以被看作一个完全二叉树,通俗来讲堆其实就是利用完全二叉树的结构来维护的一维数组 按照堆的特点可以把堆分为 阅读全文
posted @ 2019-03-20 21:28 Luv3 阅读(155455) 评论(38) 推荐(118) 编辑

点击右上角即可分享
微信分享提示