目录:
定义-堆是什么意思?
在数据结构的上下文中,堆是一种基于树的数据结构,可满足该堆属性,在该堆结构中,为每个元素分配了一个键值或权重。 较低值的键始终具有带有较高值的键的父节点。 这称为最大堆结构,并且在所有节点中,根节点具有最高的密钥。
有时,基于树的结构具有相反的结构规则,其中具有较高值键的元素始终具有较低值键作为父节点。 这称为最小堆结构,并且在所有节点中,根节点的密钥最低。
技术百科解释堆
尽管每个节点通常最多有两个,但对于每个节点在堆中可以拥有的子代数没有实际限制。 堆被认为是抽象数据类型(称为优先级队列)的最有效实现。 在各种图形算法(包括Dijkstra算法)以及堆排序排序算法中,堆实现都是必不可少的。
堆具有多个差异,可以高效地用作抽象数据类型优先级队列的实现。 许多应用程序,例如图形算法,都需要实现优先级队列。
数组是堆的最常见实现形式,其中不需要指针来链接其元素之间。
堆执行多种操作,包括:
- Find-max:在一组节点中搜索最高的关键节点
- Find-min:在一组节点中搜索最低关键节点
- Delete-max:删除一组节点中最高的关键节点
- Delete-min:删除一组节点中最低的关键节点
堆还包括执行合并,插入和键更改的功能。
此定义是在数据结构的上下文中编写的