简单选择排序 一、工作原理 图解 我们可以从图上可以看出,我们先循环找出最小的元素。我们的第二个循环是找出最小的元素,第一个循环是负责交换值的,第一趟排序外层循环的指针指向数组的第一个,这个时候我们找出数组的最小值,和外层指针交换数值,就把最小的放在第一个,后面的同理。 注意: 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
排序的基本概念 重点考察稳定性、排序趟数、时间复杂度和空间复杂度。 排序算法类型一:简单排序算法 1.简单选择排序 核心思想:每一趟排序,找到待排序序列中关键字最小的数据元素,将其与待排序序列中的第一个数据元素交换位置,并将其从下一趟待排序序列中移出,重复该过程,直到某趟排序时待排序序列中仅剩下两个 ...
分类:
编程语言 时间:
2018-06-05 21:07:39
阅读次数:
265
1.树的度 结点拥有的子树数称为结点的度。度为0的结点称为叶结点(leaf)或终端结点;度不为0的结点称为非终端结点或分支结点。2.分支结点 分支结点也称为内部结点。3.树的层次 结点的层次从根开始定义起,根为第一层,根的孩子为第二层。4.树的存储结构 利用顺序存储和链式存储的特点,完全可以实现对数 ...
分类:
其他好文 时间:
2018-05-31 11:28:33
阅读次数:
196
简单选择排序 简单选择排序就是通过关键字之间的比较,在记录里面找到最小(或者最大)的数字,并同当前位置交换之。 贴个代码: 分析一下:很显然,对于一个无序数组来说,把第一个数的下标暂且作为值最小的下标,然后通过与其后的数据对比,找出真正的最小的数组的下标,如果找到,就交换,如果没找到,说明当前数据是 ...
分类:
编程语言 时间:
2018-05-29 12:00:36
阅读次数:
191
1、假性冒泡排序 2、冒泡排序: 3、优化后的冒泡排序: 4、简单选择排序: 5、直接插入排序: ...
分类:
编程语言 时间:
2018-05-15 22:46:39
阅读次数:
227
MDN-CSS 介绍 MDN-CSS如何工作 MDN-CSS 语法 MDN-选择器 MDN-简单选择器 MDN-属性选择器 MDN-基本文本和字体样式 color font-family font-style font-weight font-size text-align text-decorat ...
分类:
Web程序 时间:
2018-05-02 15:58:47
阅读次数:
183
O(n^2)的算法 都是做的升序。 简单选择排序 思路:每次选择还未排序的区间的最小值和未排序区间的第一个值交换。 插入排序(insertion sort) 思路:当前位置的值与前面排好序的区间从后往前对比,找到适合的插入位置并插入。 适用于:近乎有序的排序,在几乎有序的情况下,它的速度会比n(lo ...
分类:
编程语言 时间:
2018-04-29 23:59:46
阅读次数:
366