1.快速排序算法 算法步骤 2.堆排序算法 ...
分类:
编程语言 时间:
2018-07-16 01:00:34
阅读次数:
188
Heap是一种数据结构它是一个完全二叉树具有以下的特点: Min heap: 父节点的值小于或等于子节点的值; Max heap: 父节点的值大于或等于子节点的值; public class minAndMaxheap { //大根堆和小根堆的实现 //优先级队列默认是小根堆的实现 static c ...
分类:
编程语言 时间:
2018-07-14 16:42:06
阅读次数:
178
如题,二叉堆是一种基础数据结构 事实上支持的操作也是挺有限的(相对于其他数据结构而言),也就插入,查询,删除这一类 对了这篇文章中讲到的堆都是二叉堆,而不是斜堆,左偏树,斐波那契堆什么的 我都不会啊 一.堆的性质 1.堆是一颗完全二叉树 2.堆的顶端一定是“最大”,最小”的,但是要注意一个点,这里的 ...
分类:
其他好文 时间:
2018-07-13 23:44:00
阅读次数:
303
boolean isCompleteTreeNode(TreeNode root){ if(root == null){ return false; } Queue queue = new LinkedList(); queue.add(root); boolean result = true... ...
分类:
其他好文 时间:
2018-07-10 11:17:50
阅读次数:
172
总览: 树的基本概念 二叉树 树和森林 树与二叉树的应用 树的基本概念 树的定义:若干结点的集合,有唯一根结点,无环,结点个数可为0 树的基本术语: 结点的度:结点拥有的子树个数或者分支的个数 树的度:结点的度的最大值 叶子结点:终端结点 非终端结点:分支结点 树的深度:树中结点的最大层次数 结点的... ...
分类:
其他好文 时间:
2018-07-08 12:43:20
阅读次数:
179
qxbt的老师发消息来说让自己预习,本来想中考完之后认真学(颓)习(废) 没办法 qxbt的老师发消息来说让自己预习,本来想中考完之后认真学(颓)习(废) 没办法 0. 数据结构图文解析系列 1. 二叉堆的定义 二叉堆是一种特殊的堆,二叉堆是完全二叉树或近似完全二叉树。二叉堆满足堆特性:父节点的键值 ...
分类:
其他好文 时间:
2018-07-01 20:58:05
阅读次数:
164
科班出身的程序员就应该研究些算法和数据结构类的东西,不然和高中生有什么区别? 堆排序,结构是完全二叉树,其原理与冒泡排序类似,每次选出一个最大(或最小的元素),然后下一轮在除去这个元素后的序列中再选出一个极值,以此类推,直到序列不能构成二叉树为止。 原理解析: 给定一个列表array=[16,7,3 ...
分类:
编程语言 时间:
2018-07-01 20:28:33
阅读次数:
190
STL中的heap是用数组来进行模拟的,heap 本身的定义就是一颗完全的二叉树(注意和满二叉树的区别)。 heap分为大根堆和小根堆。 堆的主要操作由构建堆,调整堆,这两个。 其中有一个heap算法就是在此基础之上的。 构建好一颗大根堆,然后 将根顶元素和最后一个元素呼唤,将堆的大小减1,同时再次 ...
分类:
其他好文 时间:
2018-07-01 11:55:34
阅读次数:
178
归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 可以看到这种结构很像一棵完全 ...
分类:
编程语言 时间:
2018-06-30 21:54:59
阅读次数:
151
二叉树的相关概念 1、基本概念 二叉树每个节点最多有两个子树的结构,通常被称为“左子树”和“右子树”。 2、满二叉树 每个节点必须有两个子树,并且叶节点在同一层。 3、完全二叉树 节点的标记就是节点的值,意思就是节点的值是连续的,从左到右不能断裂,必须连续; 二叉树的相关遍历 1、前序遍历:根节点- ...
分类:
其他好文 时间:
2018-06-28 13:48:37
阅读次数:
190