An ADT which represents information through nodes and edges.

Notation

Graph

Properties

Representations

Signature

name: Graph
import: node, edge, list, bool
operators:
  newGraph: -> Graph;
  nodes: Graph -> list;
  edges: Graph -> list;
  addNode: Graph × node -> Graph;
  deleteNode: Graph × node -> Graph;
  addEdge: Graph × edge -> Graph;
  deleteEdge: Graph × edge -> Graph;
  isAdjacent: Graph × node × node -> boolean;
  neighbours: Graph × node -> list;

Variations