bitwalker / bitwalker/libgraph

Graph.edges/2 does not work with bidirectional edges between vertices

Offen
#25 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.