微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么选择排序算法的时间复杂度是 O(n2)

如何解决为什么选择排序算法的时间复杂度是 O(n2)

让我们以一个包含 5 个数字的数组为例,我们希望使用选择排序算法对它们进行排序。

在第一次迭代中,我们将迭代 5 个数字并将找到的最小数字与索引 0 处的元素交换。

下一次迭代从索引 1 开始,并迭代其他 4 个数字,做同样的事情,下一次迭代,从索引 2 开始,迭代 3 个数字等。

因此将有 5 + 4 + 3 + 2 = 14 次索引检查。如果时间复杂度表示为 O(n2),那么这不应该是 25 吗?我理解时间复杂度为 O(n2) 的冒泡排序算法,但不是这个。

解决方法

我认为您没有理解大 O 符号的真正含义,您提供的示例无效。 “大 O 符号用于根据算法的运行时间或空间要求随着输入大小的增长而增长的情况进行分类”。此外,它不提供小尺寸输入的确切信息(要制作的步骤数)。有关更多信息,您可以访问链接:https://en.wikipedia.org/wiki/Big_O_notation

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。