替罪羊树信用图

问题描述

有人向我提出了以下问题作为作业。我已尝试尽我所能回答它,但我不确定我是否走在正确的道路上或完全理解这个问题。欢迎任何批评。

说明将序列 1、5、2、4、3 添加到空的 ScapegoatTree 时会发生什么,并显示引理 8.3 证明中描述的信用的去向,以及在此添加序列中如何使用它们。

lemma

答案: 条件如下:

  1. q/2
  2. log3/2 q

首先插入节点1。q=1

1

接下来,插入节点 5。它将被插入到节点 1 的右侧。 n=1 且 q=1

检查条件并且在右侧插入 5 不会违反它们。

2

接下来,插入节点 2。它将被插入到节点 5 的左侧。 n=2 和 q=2 检查条件并违反第二个条件,因此必须将树更改为以下结构。

3

接下来,插入节点 4。它将被插入到节点 5 的左侧。 检查条件。没有违规。

4

接下来,插入节点 3。它将被插入到节点 4 的左侧。 检查条件。没有违规。

5

每次插入或删除都有一个功劳。每个信用用于了解操作的时间复杂度。插入5个数字的最大时间为O(5 log5)。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)