简单选择排序: 简单选择排序: package cn.mdj.test; public class SelectSort { public static void sort(int array[]){ int len = array.length; int temp; //临时变量 int inde ...
分类:
编程语言 时间:
2019-01-28 15:17:49
阅读次数:
210
代码和注释写完了但是图没画QAQ 简单介绍 堆的本质是一个完全二叉树,除了最下面一层以外,其他的每层(假设第$n$层)都有$2^n$个结点。节点存的值每层都是递增或者递减的。递增的话就是大顶堆,递减的话就是小顶堆。那么对于大顶堆来说,每个节点的儿子节点上的值都要小于等于该节点 ...
分类:
其他好文 时间:
2019-01-23 01:24:45
阅读次数:
180
xx 如何从100万个数中找出最大的前100个数 ?(使用快速排序或大顶堆的知识) 可参考:https://www.cnblogs.com/sessionbest/articles/8689273.html ...
分类:
其他好文 时间:
2019-01-16 13:15:22
阅读次数:
145
堆(heap) 1. 堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: 堆中某个节点的值总是不大于或不小于其父节点的值; 堆总是一棵完全二叉树。 根节点最大的堆叫做最大堆、大根堆或大顶堆 根节点最小的堆叫做最小堆、小根堆或小顶堆 常见的堆还有二叉堆、斐波那契堆等。 2. 堆是在程序运行时 ...
分类:
其他好文 时间:
2019-01-03 22:41:04
阅读次数:
209
堆排序是利用堆这种数据结构而设计的一种排序算法,属于选择排序,它的最坏、最好、平均复杂度均为O(Nlog2^N),属于不稳定排序;堆是具有以下性质的完全二叉树:每个节点的值都大于或等于其左右孩子节点的值,称为大顶堆;每个节点的值都小于或等于其左右孩子节点的值,称为小顶堆;用简单的公式描述一下堆的定义 ...
分类:
编程语言 时间:
2018-12-31 22:39:18
阅读次数:
329
Java数据结构和算法(三)顺序存储的树结构 二叉树也可以用数组存储,可以和完全二叉树的节点一一对应。 一、树的遍历 每天用心记录一点点。内容也许不重要,但习惯很重要! ...
分类:
编程语言 时间:
2018-12-11 11:24:51
阅读次数:
236
堆和堆排序 如何理解堆 堆是一种特殊的树,只要满足以下两点,这个树就是一个堆。 ①完全二叉树,完全二叉树要求除了最后一层,其他层的节点个数都是满的,最后一层的节点都靠左排列。 ②树中每一个结点的值都必须大于等于(或小于等于)其子树中每个节点的值。大于等于的情况称为大顶堆,小于等于的情况称为小顶堆。 ...
分类:
编程语言 时间:
2018-12-02 18:32:49
阅读次数:
200
概念:利用树结构进行排序。 分类:1、大顶堆: 每个小树的根节点都大于子节点 升序排序使用大顶堆 2、小顶堆:每个小树的子节点都大于根节点 降序排序使用小顶堆 ...
分类:
编程语言 时间:
2018-11-19 23:58:57
阅读次数:
298
堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。 堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子 ...
分类:
编程语言 时间:
2018-11-17 19:05:39
阅读次数:
140
20172320 2018 2019 1 《Java程序设计》第八周学习总结 教材学习内容总结 堆是一颗完全二叉树,分为最大堆(大顶堆)和最小堆(小顶堆);最小堆将其最小元素存储在二叉树的根处,其中每一个结点都小于或等于他的两个孩子;最大堆将其最大的元素存储在二叉树的根处,其中的结点都大于或等于他的 ...
分类:
编程语言 时间:
2018-11-10 22:42:03
阅读次数:
257