java实现堆结构

Posted whatyouknow123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java实现堆结构相关的知识,希望对你有一定的参考价值。

一、前言

之前用java实现堆结构,一直用的优先队列,但是在实际的面试中,可能会要求用数组实现,所以还是用java老老实实的实现一遍堆结构吧。

二、概念

堆,有两种形式,一种是大根堆,另一种是小根堆。堆,一般是二叉树,这个概念当然也可以扩展到k叉树。大根堆指的是根节点的值要大于左子树和右子树所有节点值,堆的子树也是堆。小根堆的概念同理可知。

三、实现过程

堆的形式是一棵树,但是我们可以用数组来实现它,父节点和孩子节点的父子关系通过数组下标来确定。

 

以上是关于java实现堆结构的主要内容,如果未能解决你的问题,请参考以下文章

JAVA数据结构--优先队列(堆实现)

java 各类排序数组实现

堆排序Java实现

堆结构和堆排序的Java实现

《Java数据结构》——优先级队列(小根堆的模拟实现)

纯数据结构Java实现(6/11)(二叉堆&优先队列)