Algorithm 集合合并算法的最佳性能是什么?

Algorithm 集合合并算法的最佳性能是什么?,algorithm,complexity-theory,set-difference,set-intersection,set-union,Algorithm,Complexity Theory,Set Difference,Set Intersection,Set Union,假设有序集支持O(n)迭代和O(logn)访问单个项,那么集并、集交集和集差的理论最优复杂度是多少?假设集合可以使用专用结构,只要结果与输入类型相同 编辑: 设n为较大集合的大小,m为较小集合的大小,d为对称差的大小 描述了一种算法,它运行在声称是最优的O(m*log(n/m))中。 然后修改算法,使其也成为O(d*log(n/d)) 优化算法可以改进是矛盾吗?我想不是因为d是一个新参数,O(m*log(n/m))对于n和m仍然是最优的。但是,这就是结局吗?或者有多快可能?到目前为止,你有什么建

假设有序集支持O(n)迭代和O(logn)访问单个项,那么集并、集交集和集差的理论最优复杂度是多少?假设集合可以使用专用结构,只要结果与输入类型相同

编辑:

设n为较大集合的大小,m为较小集合的大小,d为对称差的大小

描述了一种算法,它运行在声称是最优的O(m*log(n/m))中。 然后修改算法,使其也成为O(d*log(n/d))


优化算法可以改进是矛盾吗?我想不是因为d是一个新参数,O(m*log(n/m))对于n和m仍然是最优的。但是,这就是结局吗?或者有多快可能?

到目前为止,你有什么建议?听起来像是家庭作业。想一想如何使用给定的集合接口实现
集合并集
集合交集
集合差分
。迄今为止,我发现的最佳算法运行于O(min(mlog(n/m),dlog(n/d)),其中n是较大集合的大小,m是较小集合的大小,d是对称差的大小。但这是最优的还是可以进一步改进的?除非抽象数据类型具有比您所承认的更多的操作,否则无法获得该运行时间。假定可以在O(1)中对项进行比较和散列.你还想做其他手术吗?