数据结构学习笔记(一):Heap
本文提要:
- 什么是Heap
- Heap的分类和特性
- Heap的实现方法
- Heap的主要操作
- Heap在Java中的实现
- 总结
什么是Heap?
Heap即为堆。它和stack(栈)一样,在计算机科学中都有两种完全不同的含义:在Operating System中,它是内存中的一块区域,而在数据结构中,它是一种树形的数据结构。这里所说的树形结构并不是指用二叉树来实现。事实上,heap通常用数组来实现,只是在视觉上表示成一个二叉树,这样会使得该结构更清晰,也更容易让人理解。例如下图就是heap的一个例子:
Heap的分类和特性
Heap主要分为最大堆和最小堆。最大堆所有节点的值都比其子节点的值要大,而最