首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两套物品。集合A的每个元素在集合B中唯一匹配。匹配集合A的每个项目到集合B中的项目的时间为O(nlogn)

两套物品。集合A的每个元素在集合B中唯一匹配。匹配集合A的每个项目到集合B中的项目的时间为O(nlogn)
EN

Stack Overflow用户
提问于 2012-10-11 13:39:34
回答 1查看 1.4K关注 0票数 5

因此,为了澄清这个问题:

集合A和集合B集合A中的每个元素在集合B中都有一个伙伴你不能通过将其与同一集合的成员进行比较来对任何一个集合进行排序,即B中的每个b元素与集合B中的任何其他b元素都是不可区分的(A也是如此)。当Ai与Bi匹配时,你可以分辨出Bi > AiBi < AiBi = Ai。设计了一个运行时间为O(nlogn)的算法。

二次方时间的明显答案是微不足道的,也没有什么帮助--尽管这是我想出的最好的答案。log(n)让我认为我应该使用递归或某种类型的二叉树,但我不确定如果不能比较同一集合中的元素,如何创建二叉树。此外,我不确定如何使用递归调用来获得比仅运行嵌套for循环更好的效果。任何建议都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-11 13:49:18

您没有很清楚地说明这一点,但是您的问题看起来很像Matching Nuts and Bolts问题。

这里的想法是随机挑选一个螺母a,找到匹配的螺栓b。使用螺母a划分螺栓,使用bolt b划分螺母,然后像快速排序一样递归。

(当然,我们讨论的是nlogn的平均情况,而不是最坏的情况)。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12832905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档