Erlang的有向图中包含什么?

3

免责声明:作者是Erlang的新手。

我想在Erlang中实现某种最短路径算法。

Erlang中有一个标准的图形数据结构实现:http://www.erlang.org/doc/man/digraph.html

然而,我没有找到它使用的实际数据结构的任何信息。

主要我想知道:

  • 获取顶点所有“邻居”操作的最坏情况性能如何?
  • 从图中获取顶点的最坏情况性能如何?
1个回答

8

一个有向图使用三个表(顶点、边和邻居顶点)。

因此,这两个操作的时间复杂度均为O(1)。

看看OTP代码,它很干净,在大多数情况下是Erlang的惯用语。stdlib的gen.erl + gen_server.erl、proc_lib.erl和sys.erl是必读的 :)


非常感谢!顺便说一句,我认为学习Erlang最好的方法是阅读像《Erlang/OTP实战》等书籍,但似乎我也应该尝试阅读一些源代码。作为新手,是否应该从学习过程的一开始就阅读源代码呢?你怎么看? - skanatek
在熟悉函数式顺序 Erlang 后 - 是的,绝对没问题。因此 gen + gen_server 将会(相对)容易理解。 - probsolver

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接