igraph (http://igraph.org/)
- 1 classe para direcionado e não direcionado
- neighbors(v, mode={in, out, all})
- incident(v, mode={in, out, all})
- bfs e outros métodos aceitam mode como parâmetro
- complicado em rust (não existe valor padrão para parâmetro)
- pode diminir a eficiência
graph-tool (https://graph-tool.skewed.de/)
- 1 classe para direcionado e não direcionado
- all_neighbors, in_neighbors, out_neighbors
- all_edges, in_edges, out_edges
- para não direcionado, in_ não retorna nada
Graphs.jl (https://github.com/JuliaLang/Graphs.jl)
- 1 classe para direcionado e não direcionado
- in_neighbors, out_neighbors (retornam o mesmo para não direcionado)
- in_edges, out_edges (retornam o mesmo para não direcionado)
JgraphT (https://github.com/jgrapht/jgrapht)
- classes separadas
- muito complicado!
Lemon (https://lemon.cs.elte.hu/trac/lemon)
- classes separadas
- Arc differente de Edge
- IncEdgeIt, InArcIt, OutArcIt
NetworkX (https://networkx.github.io/)
Boost Graph (http://www.boost.org/doc/libs/1_59_0/libs/graph/doc/index.html)