我有一个带有一组数字的树,其中每个数字都有两个相关联的字符串:a和b。所以结构看起来像:
A-数字-B
对于每个节点。
我想得到树中的最大数,其中O =(log n)最坏的运行时间A= B。
我的方法:
试过红黑树。如果数字在右子树中,则该值为o(log n)。
但如果数字在左子树中,则为o(n)。
不能使用常规的bst,最坏的情况是,它有o(n)作为运行时。
最佳答案
一种解决方案是维护两棵树;一棵a==b,一棵a!b.对于大多数函数,您可能需要调用两棵树,但这将从2×O(log n)-o(log n)开始,以相同的Big-O复杂性结束。
关于algorithm - 红黑树中具有相同字符串的最大整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29976062/