Disclaimer: l'autore è un principiante in Erlang.
Vorrei implementare una sorta di algoritmo di percorso più breve in Erlang.
Esiste un'implementazione standard della struttura dei dati del grafico in Erlang: http://www.erlang.org/doc/man/digraph.html
Tuttavia, non ho trovato alcuna informazione sulla struttura dei dati effettiva che utilizza.
Per lo più vorrei sapere:
- qual è la peggiore performance di ottenere tutti i "vicini" per un'azione di vertice?
- qual è la peggiore performance del recupero di un vertice dal grafico?
risposte:
7 per risposta № 1Un digrafo usa 3 tabelle ets (vertici, spigoli e vertici vicini).
Quindi entrambe le operazioni sono O (1).
Date un'occhiata al codice OTP, è pulito e nella maggior parte dei casi idiomatico di Erlang. Stdlib "s gen.erl + gen_server.erl, proc_lib.erl e sys.erl devono leggere :)