相关疑难解决方法(0)

有没有人真正有效地实施了斐波纳契堆?

有没有人曾经实施过Fibonacci-Heap?几年前我这样做了,但它比使用基于阵列的BinHeaps要慢几个数量级.

那时候,我认为这是一个很有价值的教训,研究的结果并不像它声称的那样好.然而,许多研究论文声称他们的算法的运行时间基于使用Fibonacci-Heap.

你有没有设法产生有效的实施?或者你使用的数据集如此之大,以至于Fibonacci-Heap效率更高?如果是这样,一些细节将不胜感激.

language-agnostic algorithm performance data-structures fibonacci-heap

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

最先进的数据结构

您能对现代数据结构有什么看法?我们都知道经典的,比如树木,尝试,堆叠,列表,B树等等(我认为Cormen的书是一本非常好的"经典之书").但是最近的研究呢?我可以至少命名其中两个:手指树朱迪阵列.我想知道更多.

data-structures

30
推荐指数
2
解决办法
3179
查看次数

关系的数据结构

我正在将VB6转换为C#,我希望使我的数据结构更有效地保持值和关系.在VB中,我有一组值和另一组关系,这些值与这些关系的优先级之间存在关系.我还有一个算法,当一组值传递给它时,返回将这些值连接在一起所需的所有关系.例如,假设值集合包含1-10并且关系集合包含

1,2-
3,2
5,2
2,8
8,10
9,10

如果输入是1,9,10,则返回的关系将是 -

1,2
2,8
8,10
9,10

由于可能存在多条路径,因此会返回最少量的关系,但需要注意关系优先级.如果关系具有更高的优先级,则将添加该关系,并且将从那里添加其余关系.我正在考虑使用Disjoint-set数据结构,但我不确定.

有任何想法吗?

更多信息 -

值的数量通常小于100且关系小于500.集合是静态的,并且将一次又一次地使用算法来查找路径.另外,我没有问这个问题,但是Disjoint-set数据结构中的算法是否最有效?

c# algorithm data-structures

1
推荐指数
1
解决办法
1680
查看次数