一、选择排序 简单选择排序是最简单直观的一种算法,基本思想为每一趟从待排序的数据元素中选择最小(或最大)的一个元素作为首元素,直到所有元素排完为止,简单选择排序是不稳定排序。 在算法实现时,每一趟确定最小元素的时候会通过不断地比较交换来使得首位置为当前最小,交换是个比较耗时的操作。其实我们很容易发现 ...
分类:
编程语言 时间:
2018-07-11 19:53:48
阅读次数:
146
排序算法,可以分为内部排序和外部排序两大种。这篇文章主要对内部排序进行介绍。内部排序又分为两类,基于比较的非线性时间类,和非比较的线性时间类。前一类又可以分为四种,交换排序(包括冒泡排序和快速排序),插入排序(包括简单插入排序和希尔排序),选择排序(包括简单选择排序和堆排序)以及归并排序;后者主要包 ...
分类:
编程语言 时间:
2018-07-09 19:50:47
阅读次数:
179
常见的排序算法:1.冒泡排序;2.简单选择排序;3.直接插入排序;4.希尔排序;5.归并排序;6.快速排序;7.堆排序。 ...
分类:
编程语言 时间:
2018-07-03 15:07:47
阅读次数:
167
之前已经介绍过冒泡排序算法和简单选择排序算法和原理,现在有Js实现。 冒泡排序算法 ...
分类:
编程语言 时间:
2018-07-01 13:00:07
阅读次数:
116
1、所有排序类型 直接插入排序 2路插入排序 希尔排序 快速排序 简单选择排序 树形选择排序 堆排序 归并排序 多关键字排序 链式基数排序 2、直接插入排序 3、2路插入排序 4、希尔排序 5、快速排序 6、简单选择排序 7、树形选择排序 8、堆排序 9、归并排序 10、多关键字排序 11、链式基数 ...
分类:
编程语言 时间:
2018-06-27 00:53:34
阅读次数:
177
简单选择排序 一、工作原理 图解 我们可以从图上可以看出,我们先循环找出最小的元素。我们的第二个循环是找出最小的元素,第一个循环是负责交换值的,第一趟排序外层循环的指针指向数组的第一个,这个时候我们找出数组的最小值,和外层指针交换数值,就把最小的放在第一个,后面的同理。 注意: 1、重点在于先循环找 ...
分类:
编程语言 时间:
2018-06-23 16:59:59
阅读次数:
159
<!DOCTYPE html PUBLIC " //W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1 transitional.dtd" body, table{font family: 微软雅黑 ...
分类:
编程语言 时间:
2018-06-16 16:18:44
阅读次数:
167
前言 简单选择排序是一种选择排序。 选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。 算法思想 简单排序很简单,它的大致处理流程为: 从待排序序列中,找到关键字最小的元素; 如果最小元素不是待排序序列的第一个元素,将其和第一个元素互换; 从余下 ...
分类:
编程语言 时间:
2018-06-08 22:02:29
阅读次数:
184
1,什么是堆 堆是具有下列性质的完全二叉树: 每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆 (例如图 9-2 左图所示) ; 或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆(例如图 9-2 右图所示)。 2,为什么出现堆排序 前面介绍的(简单)选择排序,需要每次从未排序序列中选 ...
分类:
编程语言 时间:
2018-06-06 21:48:25
阅读次数:
241