Algorithm 二项排队中的秩重分类

Algorithm 二项排队中的秩重分类,algorithm,binomial-heap,Algorithm,Binomial Heap,我正在读关于二项式队列操作的书 在链接的底部,它被称为 二项式队列的实现 deletemin操作要求能够找到根的所有子树。因此,每个节点的子节点都应该可用,比如一个链表 deletemin要求按照子树的大小对子树进行排序。 我们需要确保合并树很容易。两棵二叉树只有在大小相同时才能合并,因此树的大小必须存储在根中。合并时,其中一棵树成为另一棵树的最后一个子树,因此我们应该跟踪每个节点的最后一个子树。一个好的数据结构是一个循环双循环结构 链表每个节点的形式如下: 在上文中,作者的排名是什么意思?任何

我正在读关于二项式队列操作的书

在链接的底部,它被称为

二项式队列的实现

deletemin操作要求能够找到根的所有子树。因此,每个节点的子节点都应该可用,比如一个链表 deletemin要求按照子树的大小对子树进行排序。 我们需要确保合并树很容易。两棵二叉树只有在大小相同时才能合并,因此树的大小必须存储在根中。合并时,其中一棵树成为另一棵树的最后一个子树,因此我们应该跟踪每个节点的最后一个子树。一个好的数据结构是一个循环双循环结构 链表每个节点的形式如下:
在上文中,作者的排名是什么意思?任何人都可以举例说明。

据我所知,他试图说:我们存储排名,顺便说一句,这与孩子的数量相同,这就是这些树的排名通常是如何定义的。因此,您只需在每个节点中存储以下内容:

数据表示树中的元素 first表示指向子项链接列表的指针,即指向第一个子项的指针 left是指向左邻居的指针 右翼是指向右翼邻居的指针 秩就是二叉树的秩
注:要求两棵二叉树只有在大小相同时才能合并,因此树的大小必须存储在根中

看来,作者把子树字段的大小改为若干子字段。这是令人困惑的,但是对于一个实现来说,这是很好的,因为子树的大小是2^{of children}。所以您可以比较子树的大小,而不是比较子树的大小

data | first |left | right |rank No. of | -------------------------------------------- child |sibling |sibling| children