bitwalker / bitwalker/libgraph
Graph.edges/2 does not work with bidirectional edges between vertices
- Vorherrschende Sprache
- Elixir
- Sterne
- 571
- Forks
- 76
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Graph.edges/2 only returns a single direction of edges from one vertex `:a` to another vertex `:b` instead of both directions from the vertex `:a` to the other vertex `:b`.
```
iex(1)> g = Graph.new() |> Graph.add_edges([{:a, :b, label: "label1"}, {:a, :b, label: "label2"}, {:b, :a, label: "label3"}]) |> Graph.edges(:a)
[
%Graph.Edge{label: "label1", v1: :a, v2: :b, weight: 1},
%Graph.Edge{label: "label2", v1: :a, v2: :b, weight: 1}
]
```
Expected:
```
[
%Graph.Edge{label: "label1", v1: :a, v2: :b, weight: 1},
%Graph.Edge{label: "label2", v1: :a, v2: :b, weight: 1},
%Graph.Edge{label: "label3", v1: :b, v2: :a, weight: 1}
]
```
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne damit, das Elixir-Beispiel für Graph.edges/2 mit den drei gezeigten Kanten zu reproduzieren. Untersuche den Einstiegspunkt Graph.edges/2 und sorge dafür, dass das Ergebnis beide Richtungen enthält und parallele Kanten beibehält; abgeschlossen ist die Aufgabe, wenn die zurückgegebene Liste der erwarteten Ausgabe entspricht.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- elixir
- Bereich
- backend
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 52/100