【问题标题】:second largest number in an array at most n + log(n) -2 comparisons数组中的第二大数,最多 n + log(n) -2 次比较
【发布时间】:2019-05-15 00:36:46
【问题描述】:

当我看到这个问题时,我想我可以使用分而治之来解决 algorithm chart

第二个她是我的代码 program code 对不起,我不能在这里写,因为我是用内联编译器写的,文件没有保存

代码运行良好,但是当我计算 n 比较时,它大于 n + log(n) -2

我的问题(问题)是我无法根据特定的运行时间或特定的比较来解决问题,我解决了问题然后计算比较

我说的不仅仅是这个问题

我如何设计(考虑)基于运行时间的算法,是否有要遵循的步骤或什么

【问题讨论】:

标签: algorithm big-o divide-and-conquer


【解决方案1】:

举办一场淘汰赛(n - 1 比较)。第二大的肯定是输给冠军的人当中,有log n个。在log(n) - 1 比较中找出最大的候选者。

最难的部分是设计一个有效的数据结构,以便将击败对手的列表放在手边。这是非常重要的。例如,看看 Alex Stepanov 的solution

PS:我强烈推荐整个course

【讨论】:

    猜你喜欢
    • 2012-04-10
    • 1970-01-01
    • 2020-08-17
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多