363得票33回答
有没有O(1/n)的算法?

是否有O(1/n)的算法? 或者有比O(1)更小的算法吗?

321得票25回答
八岁孩子的大 O 符号是什么?

我更想知道这对我的代码意味着什么。我理解数学概念,但是在理解概念上有些困难。例如,如果在数据结构上执行O(1)操作,则我理解它必须执行的操作数量不会增加,因为有更多的项。而O(n)操作意味着您将对每个元素执行一组操作。能否有人在这里填空? 那么O(n^2)操作究竟会做什么? 如果一个操作是...

272得票10回答
log(n!)是否等于Θ(n·log(n))?

我需要证明 log(n!) = Θ(n·log(n))。 提示说我应该用 nn 来证明上界,并用 (n/2)(n/2) 来证明下界。这对我来说似乎并不是那么直观。为什么会这样呢?我确实可以看到如何将 nn 转换为 n·log(n)(即在等式两边取对数),但这有点像倒推。 应该采取什么正确的...

257得票17回答
如何在R语言中以平摊常数时间O(1)将一个对象添加到列表中?

如果我有一个 R 的列表mylist,你可以这样将一个项目obj添加到它中:mylist[[length(mylist)+1]] <- obj 但肯定有更紧凑的方法。当我刚开始学习R时,我尝试写 lappend(),像这样:lappend <- function(lst, obj)...

251得票23回答
你是否会在某些情况下更喜欢使用时间复杂度较高的算法而不是时间复杂度较低的算法?

在IT技术中,是否存在任何情况,您更倾向于使用时间复杂度为 O(log n) 的算法,而不是时间复杂度为 O(1)的算法?或者更喜欢使用时间复杂度为 O(n) 而不是 O(log n)的算法呢? 您有任何例子吗?

234得票32回答
如何在O(n)的时间复杂度内找到长度为n的无序数组中第k大的元素?

我相信有一种方法可以在O(n)的时间复杂度内找到长度为n的未排序数组中第k大的元素。也许这个复杂度是“期望” O(n) 或者其他的。我们如何做到这一点呢?

218得票7回答
大 O 表示法究竟代表什么?

我对大 O、大 Omega 和大 Theta 记号之间的区别感到非常困惑。 我知道大 O 是上界,大 Omega 是下界,但是大 Theta 到底代表什么? 我读过它表示紧密界限,但是这是什么意思?

201得票26回答
有比Bogosort(也称为猴子排序)更差的排序算法吗?

今天早上,我的同事们讨论了排序算法,让我回忆起了大学的日子。我们谈论了我们最喜欢的算法,比如StupidSort,其中一位同事确信我们见过一个时间复杂度为O(n!)的排序算法。这让我开始寻找我能找到的“最差”的排序算法。 我们假设完全随机的排序会很糟糕(即随机排列元素-是否有序?不是?再次随...

194得票4回答
Java集合框架实现的Big-O摘要?

我可能很快就要教授一门“Java速成班”。虽然可以假设观众知道大O符号,但不能假设他们知道各种集合实现上各种操作的顺序。 我可以花时间自己生成概述矩阵,但如果公共领域已经有了,我肯定想重复使用它(当然要给予适当的信用)。 请问有任何指针吗?

190得票15回答
Java中的哈希表搜索是否真的是O(1)?

我在SO上看到一些有关Java哈希表及其O(1)查找时间的有趣说法。有人能解释下为什么会这样吗?除非这些哈希表与我曾经接触过的任何哈希算法大不相同,否则必定存在包含冲突的数据集。 如果是这样,查找时间将会是O(n)而不是O(1)。 有人能解释一下它们是否真的是O(1),如果是,它们是如何做...