Where Is The Incidence List?

Honestly, I actually created an "incidence list" class. Then I deleted it. And, no, it was not an accident.

An incidence list supposedly lists the vertices with their edges. Or perhaps that's how it can be defined. Or maybe it lists the edges and all the vertices incident to it? It almost makes sense, but then again, what for?

Creating a graph representation on a vaguely defined list is quite difficult. Number one, there is no inspiration. Number two, there's nothing to back your design with an accepted intent. There are mentions about the incidence list in various texts, but most of them confused themselves towards defining an adjacency list anyway. It's that kind of thing you think should be there, but then again you can really live without.

Mendz.Graphs..AdjacencyList is a hybrid of sorts that allows developers to use it as a conventional adjacency list, but also as an "incidence list". While testing out scenarios to justify an incidence list, I figured that my implementation of the adjacency list is enough.

I would really like to see another list in the Mendz.Graphs.Representations.Lists namespace. There's a reason I called it "Lists" (plural). However, until I find a graph list representation that's worth an implementation, the AdjacencyList will be the only list for now in Mendz.Graphs.

Comments