排序算法
漫步莱茵河畔
用心去工作
展开
-
《数据结构与算法》之排序算法(归并排序)
5、归并排序归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。其时间复杂度为O(nlogn),空间复杂度为O(n),是稳定的排序算法。归并排序算法的工作原理如...原创 2018-11-10 08:39:04 · 241 阅读 · 0 评论 -
《数据结构与算法》之排序算法(插入排序、希尔排序)
3、插入排序插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2),是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到...原创 2018-11-09 21:19:08 · 518 阅读 · 0 评论 -
《数据结构与算法》之排序算法(冒泡排序、选择排序)
排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。排序算法分类:一、非线性时间比较类排序1、交换排序(冒泡排序、快速排序)2、插入排序(简单插入排序、布尔排序)3、选择排序(简单选择排序、堆排序)4、归并排序(二路归并排序、多路归并排序)二、线性时间非比较类排序1、计数排序2、...原创 2018-11-08 20:30:17 · 264 阅读 · 0 评论