排序
Baymax_wyl
你不努力,没人会给你想要的生活。
展开
-
排序-1
1、选择排序 一种最简单的排序方式是这样的:首先,找到数组中的那个最小的元素;其次,将它和数组中的第一个元素进行交换位置(如果第一个最小,就和自己交换);再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素进行交换位置。如此往复,直到将整个数组排序。这种方法叫做选择排序,因为它在不断地选择剩余元素中的最小者。 选择排序有两个很鲜明的特点是:①运行时间和输入无关;②...原创 2018-04-28 20:45:16 · 106 阅读 · 0 评论 -
快速排序
1、快速排序:实现简单,适用于各种不同的输入数据且在一般应用中比其他排序算法要快得多。快速排序是一种分治的排序算法。它将一个数组分成两个子数组,将两部分独立排序。2、归并排序和快速排序是互补的。归并排序:将数组分成两个子数组分别排序,并将有序的子数组归并以将整个数组排序;快速排序:当两个子数组都有序时整个数组也就自然有序了。3、快速排序的关键在于切分,这个过程使得数组满足下面三个条件:->对...原创 2018-05-15 11:11:50 · 289 阅读 · 0 评论 -
堆的定义
定义:当一颗二叉树的每个结点都大于等于它的两个子结点时,它被成为堆有序。相应地,在堆有序的二叉树中,每个结点都小于等于它的父结点(如果有的话).命题:根结点是堆有序的二叉树中的最大节点。...原创 2018-05-15 14:41:34 · 4245 阅读 · 0 评论 -
Java面试宝典——选择排序+插入排序+冒泡排序+快速排序+希尔排序
package demos.order;/** * @author wyl * @time 2018年7月9日下午8:30:07 * 选择排序: * 对于给定的一组记录,经过第一轮比较后得到最小的记录, * 然后将该记录与第一个记录的位置进行交换; * 依次比较,直到进行比较的记录只有一个时为止。 */public class SelectOrder { public...原创 2018-07-10 08:12:33 · 147 阅读 · 0 评论 -
Java面试宝典——希尔排序+堆排序
package demos.order;/** * @author wyl * @time 2018年7月12日下午1:43:43 * 希尔排序:即缩小增量排序 * 基本原理: * 先将待排序的数组元素分成多个子序列,使得每个子序列的元素个属性相对较少, * 然后对各个子序列进行直接插入排序, * 待整个序列“基本有序后”,在对所有元素进行一次直接插入排序 */publ...原创 2018-07-12 14:22:35 · 233 阅读 · 0 评论 -
Java面试宝典——如何实现二叉排序树
二叉排序树,又称二叉查找树,它或者是一颗空树,或者是具有以下性质的二叉树:①如果左子树不空,那么左子树上所有结点的值均小于它的根结点的值;②如果右子树不空,那么右子树上所有结点的值均大于它的根结点的值;③左、右子树也分别为二叉排序树package binarytree;/** * @author wyl * @time 2018年7月6日下午4:29:31 */public c...原创 2018-07-06 16:58:07 · 167 阅读 · 0 评论