找到大小为m和n
的2个排序列表的并集中的第k个最小元素有效率log(k),我做了很多思考和搜索我也得到了
pesedocode及其解释......到目前为止,我仍然没有理解
正确的问题..任何帮助将不胜感激....
答案 0 :(得分:5)
所以你必须设置,比如{ 1, 4, 5, 7, 8, 12, 98, 1993 }
和{ 2, 5, 8, 10, 88 }
。
你想找到第三个最小元素。
这意味着m = 8,n = 5,并且k = 3。
目视检查这些集合,你会看到答案是4。
您的查找算法必须在O(log(k))
(即“大O”)中找到正确的值。
这意味着如果您的算法找到具有多个步骤N = n1 + n2 + ...
的元素,其中n1, n2, ...
中的每一个都是k的函数,则n1, n2...
的所有增长率必须为小于或等于log(k)的增长率。 p>
如果这没有意义,那么目标是在少于k步的情况下找到元素(其中k> 1)。