【问题标题】:Sort array in Θ(n) complexity以 Θ(n) 复杂度对数组进行排序
【发布时间】:2013-10-29 06:18:24
【问题描述】:

证明当一个大小为 n 的数组 A 有 O(n) 次求逆时,它可以在 Θ(n) 中排序。

我不知道这个问题到底在问什么。我最好的猜测是我们对预排序的输入使用插入排序,这样我们可以通过排序来实现 Θ(n) 复杂度。这就是问题要问我的吗?

【问题讨论】:

  • 您能否重新表述您的问题...?
  • “我的猜测是我们对预排序的输入使用插入排序,这样我们就可以实现 O(n) 复杂度”。好吧,输入没有完全预先排序。 (在这种情况下,不会有反转。)根据问题,这里有 O(n) 反转。所以它可能是 5,4,7,6,10,9。使用下面的提示并证明这样的排序可以在 \theta(n) 时间内发生。
  • @Shobit 知道了,谢谢!
  • @user2321926 你考得怎么样?

标签: algorithm sorting big-o time-complexity insertion-sort


【解决方案1】:

作为提示 - 插入排序的运行时间是 Θ(n + I),其中 n 是元素数,I 是数组中的反转数。如果对数组进行插入排序会发生什么,因为它只有 O(n) 反转?时间复杂度是多少?

希望这会有所帮助!

【讨论】:

  • 在这种情况下,复杂度将是 Θ(2n),也就是 Θ(n)?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多