Tag: algorithm

是使用随机和OrderBy一个很好的洗牌algorithm?

我在Coding Horror上看了一篇关于各种shufflealgorithm的文章 。 我看到有人在这个地方打乱了一个清单: var r = new Random(); var shuffled = ordered.OrderBy(x => r.Next()); 这是一个很好的洗牌algorithm吗? 它是如何工作的? 这是一个可以接受的方式吗?

删除列表中的重复项

几乎我需要编写一个程序来检查一个列表是否有任何重复,如果它删除它们,并返回一个新的列表与werent复制/删除的项目。 这是我的,但说实话,我不知道该怎么办。 def remove_duplicates(): t = ['a', 'b', 'c', 'd'] t2 = ['a', 'c', 'd'] for t in t2: t.append(t.remove()) return t

O(1)中的唯一(非重复)随机数?

我想生成一个0到1000之间的独一无二的随机数字,这个数字永远不会重复(即,6次不会出现两次),但是这并不会像以前的O(N)search那样。 这可能吗?

生成给定string的所有排列

什么是一个优雅的方式来find一个string的所有排列。 例如ba ,会是ba和ab ,但是abcdefgh呢? 有没有任何Java实现的例子?

什么是尾recursion?

在开始学习lisp的同时,我遇到了尾recursion的术语。 这到底意味着什么?

如何findalgorithm的时间复杂度

问题 如何findalgorithm的时间复杂度? 在SO上发布问题之前我做了什么? 我已经通过这个 , 这个和其他许多环节 但是,没有我能够find一个明确和直接的解释如何计算时间复杂性。 我知道什么 ? 说一个简单的代码如下所示: char h = 'y'; // This will be executed 1 time int abc = 0; // This will be executed 1 time 说一个如下所示的循环: for (int i = 0; i < N; i++) { Console.Write('Hello World !'); } int i = 0; 这将只执行一次 。 时间实际上是计算为i=0而不是声明。 我<N; […]

如何在Python中生成一个列表的所有排列

如何在Python中生成一个列表的所有排列,与列表中元素的types无关? 例如: permutations([]) [] permutations([1]) [1] permutations([1, 2]) [1, 2] [2, 1] permutations([1, 2, 3]) [1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1] 编辑:Eliben指出类似于我的解决scheme,虽然更简单,所以我select它作为接受的答案,虽然Python 2.6 +具有itertools模块中的内置解决scheme: import itertools itertools.permutations([1, 2, 3])

大O,你怎么计算/近似呢?

大多数拥有CS学位的人肯定知道Big O代表什么。 它可以帮助我们衡量一个algorithm的效率如何,如果你知道你想要解决的问题在哪个类别中,你可以找出是否仍然可以排除这个额外的性能。 1 但我很好奇, 你如何计算或近似algorithm的复杂性? 1 但是正如他们所说的那样,不要过头, 不成熟的优化是万恶之源 ,没有正当理由的优化也应该得到这个名称。

什么是最有效率的/优雅的方式来parsing一个平坦的表格成一棵树?

假设您有一个存储有序树形层次的平坦表格: Id Name ParentId Order 1 'Node 1' 0 10 2 'Node 1.1' 1 10 3 'Node 2' 0 20 4 'Node 1.1.1' 2 10 5 'Node 2.1' 3 10 6 'Node 1.2' 1 20 这是一个图表,我们有[id] Name 。 根节点0是虚构的。 [ROOT] / \ [1]节点1 [3]节点2 / \ \ [2]节点1.1 [6]节点1.2 [5]节点2.1 / [4]节点1.1.1 你将使用什么简约的方法将其输出为HTML(或文本)作为正确sorting,正确缩进的树? 进一步假设你只有基本的数据结构(数组和hashmaps),没有父母/孩子引用的奇特对象,没有ORM,没有框架,只有你的两只手。 该表格表示为一个结果集,可以随机访问。 […]

计算两个纬度经度点之间的距离? (半乳糖配方)

如何计算经纬度两点之间的距离? 为了澄清,我想以千米为单位的距离; 点使用WGS84系统,我想了解可用的方法的相对精度。