Java 假设从数据流中读取整数。以有效的方式找到读取的元素的中间值

Java 假设从数据流中读取整数。以有效的方式找到读取的元素的中间值,java,c,algorithm,data-structures,median,Java,C,Algorithm,Data Structures,Median,我们可以使用AVL树来实现这一点,以便根元素是任意点的中位数不,AVL树是高度平衡的,您需要一个权重平衡的树。如果您从流中读取它们,这会提高性能吗?请参阅,您可以混合使用BST和AVL步骤1-根据值插入一个数字(右或左)步骤2-平衡树well但您实际的意思是基于子树中的节点数进行平衡。AVL标准是基于子树的高度进行平衡的,这不是获得中值所需的。

我们可以使用AVL树来实现这一点,以便根元素是任意点的中位数

不,AVL树是高度平衡的,您需要一个权重平衡的树。

如果您从流中读取它们,这会提高性能吗?请参阅,您可以混合使用BST和AVL步骤1-根据值插入一个数字(右或左)步骤2-平衡树well但您实际的意思是基于子树中的节点数进行平衡。AVL标准是基于子树的高度进行平衡的,这不是获得中值所需的。