标签: time-complexity

如何提高此代码的性能?

感谢来自这里的人们的帮助,我能够获得塔斯马尼亚骆驼拼图工作的代码.然而,它非常慢(我想.我不确定,因为这是我在Python中的第一个程序).在代码底部运行的示例需要很长时间才能在我的机器中解决:

dumrat@dumrat:~/programming/python$ time python camels.py
[['F', 'F', 'F', 'G', 'B', 'B', 'B'], ['F', 'F', 'G', 'F', 'B', 'B', 'B'],
 ['F', 'F', 'B', 'F', 'G', 'B', 'B'], ['F', 'F', 'B', 'F', 'B', 'G', 'B'],
 ['F', 'F', 'B', 'G', 'B', 'F', 'B'], ['F', 'G', 'B', 'F', 'B', 'F', 'B'],
 ['G', 'F', 'B', 'F', 'B', 'F', 'B'], ['B', 'F', 'G', 'F', 'B', 'F', 'B'],
 ['B', 'F', 'B', 'F', 'G', 'F', 'B'], ['B', 'F', 'B', 'F', 'B', 'F', 'G'],
 ['B', 'F', 'B', 'F', 'B', …
Run Code Online (Sandbox Code Playgroud)

python optimization performance time-complexity

38
推荐指数
3
解决办法
2万
查看次数

设置转换的列表的时间复杂度是多少?

我已经注意到python官方网站上设置操作的时间复杂性表.但我只是想问一下将列表转换为集合的时间复杂度,例如,

l = [1, 2, 3, 4, 5]
s = set(l)
Run Code Online (Sandbox Code Playgroud)

我知道这实际上是一个哈希表,但它究竟是如何工作的呢?那是O(n)吗?

python hash list set time-complexity

38
推荐指数
2
解决办法
2万
查看次数

二叉树遍历的复杂性

数据结构中二叉树的顺序,后序和前序遍历的时间复杂度是多少?是O(n)还是O(log n)还是O(n ^ 2)?

time-complexity

36
推荐指数
7
解决办法
7万
查看次数

BFS和DFS运行时的说明

为什么BFS和DFS O(V + E)的运行时间,特别是当有一个节点具有可以从顶点到达的节点的有向边时,就像在以下站点中的此示例中一样

http://www.personal.kent.edu/~rmuhamma/Algorithms/MyAlgorithms/GraphAlgor/depthSearch.htm

graph breadth-first-search time-complexity depth-first-search data-structures

36
推荐指数
4
解决办法
8万
查看次数

三和的范围内的总和(1,2)

给定n数组中的正实数,找出该集合中是否存在三元组,使得三元组的总和在该范围内(1, 2).在线性时间和恒定空间中进行.

  • 该数组未订购.
  • 数字是积极的
  • 数字是实数

任何帮助将不胜感激.谢谢.

arrays algorithm math time-complexity space-complexity

36
推荐指数
3
解决办法
1万
查看次数

阶乘时间算法O(n!)的示例

我正在研究学校的时间复杂度,我们的主要关注点似乎是多项式时间 O(n^c)算法和准线性时间 O(nlog(n))算法,偶尔的指数时间 O(c^n)算法作为运行时透视的一个例子.然而,从未涉及处理更大的时间复杂性.

我想看一个在阶乘时间内 运行的算法解决方案的示例问题O(n!).该算法可能是一种解决问题的简单方法,但不能人为膨胀以在因子时间运行.

如果因子时间算法是解决问题的最着名的算法,则额外的街道信誉.

algorithm complexity-theory factorial time-complexity

35
推荐指数
4
解决办法
4万
查看次数

Java中的LRU缓存,具有泛型和O(1)操作

这是一个在求职面试中出现的问题.我们的想法是定义一个数据结构,而不是使用Java内置的LinkedHashMap.

LRU高速缓存删除最近最少使用的条目以插入新条目.因此,给出以下场景:

 A - B - C - D - E
Run Code Online (Sandbox Code Playgroud)

如果A是最近最少使用的项目,如果我们要插入F,我们需要删除A.

如果我们通过(键,值)保存带有缓存条目的HashMap以及包含元素的键和使用时间的单独列表,则可以轻松实现这一点.但是,我们需要查询列表以找到最近最少使用的项目,具有潜在的O(n)时间复杂度.

如何在Java中为通用对象和O(1)操作实现此结构?

这与可能的重复不同,因为它侧重于效率(O(1)ops)和实现数据结构本身,而不是扩展Java.

java generics time-complexity data-structures

35
推荐指数
4
解决办法
6万
查看次数

寻找谐波系列的大O.

证明

1 + 1/2 + 1/3 + ... + 1/n is O(log n). 
Assume n = 2^k
Run Code Online (Sandbox Code Playgroud)

我把这个系列放到了总和中,但我不知道如何解决这个问题.任何帮助表示赞赏

complexity-theory big-o time-complexity

35
推荐指数
2
解决办法
3万
查看次数

广度优先搜索时间复杂度分析

例如,遍历顶点的每个相邻边的时间复杂度O(N),其中N是相邻边的数量.因此,对于V个顶点,时间复杂度变为O(V*N)= O(E),其中E是图中边的总数.由于从队列中删除和添加顶点是O(1),为什么它被添加到BFS的总体时间复杂度中O(V+E).

algorithm graph breadth-first-search time-complexity

35
推荐指数
4
解决办法
5万
查看次数

在对象的ArrayList中包含(Object o)的时间复杂度

正如标题所说,我想知道ArrayList的contains()方法的时间复杂度是多少.

java arraylist time-complexity

34
推荐指数
2
解决办法
4万
查看次数