📜  二项式堆的内存表示

📅  最后修改于: 2021-10-28 02:07:00             🧑  作者: Mango

先决条件:二项式堆

二项树是多路树,通常存储在左子、右兄弟表示中,每个节点存储其度。二项式堆是按大小升序存储的二项式树的集合。堆中的根链表是二项式堆的根链表。根节点的度数随着遍历根列表而增加。

二项式堆中二叉树的数量可以用二项式堆中节点数的二进制值求出。本文重点介绍二项式堆的内存表示

二项堆节点:

  • 每个节点中的字段:

    二项式堆中的每个节点都有 5 个字段:

    1. 指向父级的指针
    2. 钥匙
    3. 程度
    4. 指向孩子的指针(最左边的孩子)
    5. 指向紧邻其右侧的兄弟的指针

  • 每个节点中的指针:

    每个节点都有以下指针:

    1. 指向节点的直接父节点的父指针
    2. 指向节点第一个子节点的左指针
    3. 指向节点的下一个兄弟节点的右指针。

    节点的类型及其表示:

    • 堆中的单个节点:

    • 父节点之间的子节点关系:

    • 节点之间的兄弟关系:

    全二项式堆的表示:

    上面给出的二项式堆的每个节点的内存表示可以使用下图来说明:

    如果您希望与专家一起参加现场课程,请参阅DSA 现场工作专业课程学生竞争性编程现场课程。