免责声明:作者是Erlang的新手。
我想在Erlang中实现某种最短路径算法。
Erlang中有一个标准的图形数据结构实现:http://www.erlang.org/doc/man/digraph.html
然而,我没有找到它使用的实际数据结构的任何信息。
主要我想知道:
- 获取顶点所有“邻居”操作的最坏情况性能如何?
- 从图中获取顶点的最坏情况性能如何?
免责声明:作者是Erlang的新手。
我想在Erlang中实现某种最短路径算法。
Erlang中有一个标准的图形数据结构实现:http://www.erlang.org/doc/man/digraph.html
然而,我没有找到它使用的实际数据结构的任何信息。
主要我想知道:
一个有向图使用三个表(顶点、边和邻居顶点)。
因此,这两个操作的时间复杂度均为O(1)。
看看OTP代码,它很干净,在大多数情况下是Erlang的惯用语。stdlib的gen.erl + gen_server.erl、proc_lib.erl和sys.erl是必读的 :)