假设我有某种类型的AvlTree,它包含两个变量,如:
class type {
int variable1;
int variable2;
};
让我们说"输入"拥有所有必要的运算符,以便我的树按变量2排序 我想通过从树的某些分支中减去变量2的k来更新我的树并进行更新(不是全部)。我需要在O(n)(n =树的大小)中这样做。我想要做的是将树转换为"类型"更新所需的内容并转换回来。但是怎么样?
答案 0 :(得分:0)
为什么不遍历树"按顺序"并将输出数据保存到数组?阅读可以以相反的方式完成。不应该太难。
答案 1 :(得分:0)
这是你能做的。
时间= O(n) + O(n) + O(nlogn) + O(n) = O(nlogn)
如果数组中的元素很少更新,请执行插入排序,将运行时间设为O(n)
。