Sure, but a graph node (for a 2D maze) looks (something) like this:
Code:
struct node {
int ID; // not necessary
struct node *north;
struct node *south;
struct node *east;
struct node *west;
}
It already contains a list of adjacent nodes.
Also, you need all the nodes, not just the decision points, or the "decision points" will have no relation.