/ / Cosa c'è dentro il digraph di Erlang? - erlang, percorso più breve, grafico diretto

Cosa c'è dentro il digraph di Erlang? - erlang, percorso più breve, grafico diretto

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 № 1

Un 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 :)