7得票2回答
array[::-1]的时间复杂度和空间复杂度是什么?

在Python中反转列表时,我通常使用array [::-1]进行反转,并且我知道一种更常见的方法可能是从列表的两侧交换。但我不确定这两种解决方案之间的差异,例如时间复杂度和空间复杂度。 以下是这两种方法的代码: def reverse(array): array[:] = arr...

7得票2回答
什么是用于排序单向链表的最佳原地排序算法?

我一直在研究用原地排序算法对链表进行排序。根据维基百科的描述,归并排序通常是排序单向链表的最佳选择:在这种情况下,相对容易以一种只需要Θ(1)额外空间的方式实现归并排序。由于链表的缓慢随机访问性能使得某些其他算法(例如快速排序)表现不佳,而其他算法(例如堆排序)则完全不可行。 据我所知,归并...

7得票2回答
核外连通组件算法

我有一个无向图,其中有4,000,000,000(四十亿)个边,它们以节点id对的形式在一个大型文本文件中表示。 我想计算这个图的连通组件。不幸的是,一旦你将带有边缘的节点id加载到内存中,这将占用超过我可用的128GB RAM。 是否有一种外部算法可以找到相对简单的连接组件实现? 或者更好...

7得票1回答
为什么Unix块大小随着内存大小的增加而增加?

我正在分析二进制数据,其中包含以下内容: 在事件数量增加时(从stat > Blocks中获取),Unix块大小增加,如下图所示。 但是,事件之间的字节距离保持不变。 我注意到文件的其他字段发生了一些变化,这可能解释了Unix块大小的增加。 Unix块大小是一个动态的度量。我...

7得票3回答
字典的时间和空间复杂度是什么?

假设我有大小为 N 的数据(即 N 个元素),词典的容量也为 N。下面是相关操作的复杂度: 空间 -- 整个词典 添加条目的时间 微软只透露了检索时间接近于 O(1),但其他操作呢?

7得票1回答
Mathematica的CylindricalDecomposition的计算复杂度是什么?

Mathematica的圆柱分解实现了一种称为圆柱代数分解的算法。 Wolfram MathWorld的圆柱代数分解文章称,该算法“对于复杂的不等式变得计算上不可行。” 这个陈述能否更加精确?具体而言,时间和空间如何与多元多项式的次数和变量数量相关?时间和空间是否取决于其他参数?

7得票6回答
布隆过滤器实现

使用Bloom过滤器,我们将获得空间优化。Cassandra框架也有Bloom过滤器的实现。但是,具体来说,如何实现这种空间优化呢?

7得票2回答
一个适用于大部分已排序数据且数据无法全部载入内存的好的排序算法是什么?

如果给你以下条件: 一定数量的数据 内存大小为数据大小的一半 部分数据已排序 你不知道已排序数据的大小。 你会选择哪种排序算法呢?我在插入排序和快速排序之间犹豫。我知道插入排序的最佳情况是O(n),但最坏情况是O(n2)。另外,考虑到内存有限,我会将数据分成两部分,并在每个部分上进行快...

7得票2回答
现实世界中的例子,以决定哪种排序算法最有效。

我冒险在得到答案之前关闭这个问题,但我真的想知道答案。所以我就问了。 我目前正在尝试学习算法,并开始理解它,但无法与之相关联。 我理解时间复杂度和空间复杂度。我也理解一些基于伪代码的排序算法 像冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序(有点)等排序算法。 我也知道最...

7得票5回答
计算多少鱼还活着的时间和空间复杂度是多少?

我正在解决Codility的一个问题: 你有两个非空的零索引数组A和B,由N个整数组成。数组A和B表示河流中的N条贪婪的鱼,按照河流的流向顺序排列。 鱼的编号从0到N-1。如果P和Q是两条鱼,且P < Q,则鱼P最初在鱼Q的上游。最初,每条鱼都有一个唯一的位置。 鱼号P由A[P]和B...