C++ 中二项式堆的内存表示

什么是二叉树?

二叉树是一种有序的树数据结构,比方说,B0 由单个节点组成,而表示为 Bk 的二叉树由两个链接在一起的二叉树即 Bk-1 组成。一棵二叉树的根是另一棵二叉树的根的最左边的孩子。二叉树主要用于资产或股票的基本面和技术面分析。

二叉树的节点代表资产的内在价值。它帮助市场的投资者或买家分析正确的投资时间和价值。

什么是二项式堆?

二项式堆是由多个二叉树组合而成的数据结构。

二叉堆 H 的属性是:

  • H 中的每个二叉树都是堆排序的。所以节点的键大于或等于其父节点的键。

  • H 中至多存在一棵二叉树,其根具有给定度数。

二叉堆的示例是-:

二项堆节点的内存表示

二叉堆的每个节点都在内存中表示,具有 5 个字段,即

  • Parent Pointer -:它将存储父节点的地址,以便将其链接到二进制堆结构中的其他节点。

  • Key-:它将存储节点所持有的数据或密钥。

  • Degree-:它将指定二进制堆节点的程度或级别。

  • 左子指针-:如果适用,它将存储直接左子节点的地址以将其与左节点连接。

  • 兄弟指针-:它将存储直接兄弟的地址。

例如-:

1. 单节点内存表示

2.父子节点内存表示

3. 兄弟节点内存表示