gpt4 book ai didi

algorithm - 使用较少的比较查找最大值二维数组 N*N

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:29:47 24 4
gpt4 key购买 nike

我想用较少的比较在 C 中的二维数组 N*N 中找到最大值。我可以简单地使用 O(N^2) 算法来完成,但我认为它太慢了。

于是,我又想了一个办法。我简单的循环一次,同时按行和列搜索,尽量降低复杂度。 (我猜 O(2(n-1)))你可以在这张图片中看到我正在尝试做什么。

Table

我使用相同的循环来检查列和行的内容。

我想知道有没有更快的?喜欢用 O(N log N) 复杂度对二维数组进行排序?假设值未排序。

最佳答案

如果 M x M 元素的二维数组没有以任何方式排序,那么你不会比 O(M^2) 做得更好。

请记住,矩阵有 M^2 个元素,因此对它们进行排序的复杂度为 O(M^2 log M^2),因为最合适的排序是 O(N log N),这里 N = M^ 2.

关于algorithm - 使用较少的比较查找最大值二维数组 N*N,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36222923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com