如何解决两套物品A组的每个元素与B组的唯一匹配在Onlogn时间内将A组的每个项目与B组的项目进行匹配
您尚未说清楚,但是您的问题看起来像是“匹配螺母和螺栓”问题。
这里的想法是选择一个随机螺母a,找到匹配的螺栓b。使用螺母a划分螺栓,使用螺栓b划分螺母,然后像quicksort一样递归。
(当然,我们正在谈论的是nlogn的平均情况,而不是最坏的情况)。
解决方法
因此,要澄清这个问题:
集合A和集合B集合A中的每个元素在集合B中都有一个伙伴,您不能根据将它与同一集合的成员进行比较来对这两个集合进行排序,即,集合B中的每个b元素都与集合B的任何其他b都没有区别(同样对于A)。当爱与碧匹配,你可以告诉我们,如果`Bi
Ai
,
Bi < Ai或
Bi = Ai`。设计一个运行时间为O(nlogn)的算法。
二次时间的明显答案是琐碎且无济于事的-
尽管这是我迄今为止提出的最好的答案。log(n)使我认为应该使用递归或某种二叉树,但是我不确定如果不能比较同一集合中的元素,如何创建二叉树。另外,我不确定如何使用递归调用来产生比仅运行嵌套的for循环更大的效果。任何提示将非常感谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。