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

c++server side programmingprogramming

什么是二项式树?

二项式树是一种有序的树形数据结构。假设 B0 由一个节点组成,而表示为 Bk 的二项式树则由两个相互连接的二项式树(即 Bk-1)组成。其中一个二项式树的根节点是另一个二项式树根节点的最左子节点。 二项式树主要用于资产或股票的基本面和技术面分析。

二项式树的节点代表资产的内在价值。它可以帮助市场投资者或买家分析投资的最佳时机和价值。

什么是二项式堆?

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

二项式堆 H 的性质如下:

  • H 中的每个二项式树都是堆序的。因此,一个节点的键大于或等于其父节点的键。

  • H 中最多存在一棵二项式树,其根具有给定的度。

二叉堆的示例如下:

二项堆节点的内存表示

二叉堆的每个节点在内存中的表示形式包含 5 个字段,即

  • 父指针:它将存储父节点的地址,以便将其链接到二叉堆中的其他节点结构。

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

  • 度-:它将指定二叉堆节点的度或层级。

  • 左孩子指针-:它将存储直接左孩子节点的地址,以便在适用的情况下将其与左节点连接起来。

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

例如:

1.单节点内存表示

2. 父节点和子节点内存表示

3. 兄弟节点内存表示


相关文章