Graph

A non-linear data structure consisting of a finite set of vertices (or nodes) and a set of edges connecting them.

A graph is a mathematical structure used to model pairwise relations between objects. It consists of vertices (nodes) and edges (lines connecting nodes). Graphs can be directed or undirected, weighted or unweighted, and are essential for modeling social networks, maps, and internet links.

        graph LR
  Center["Graph"]:::main
  Rel_tree["tree"]:::related -.-> Center
  click Rel_tree "/terms/tree"
  Rel_linked_list["linked-list"]:::related -.-> Center
  click Rel_linked_list "/terms/linked-list"
  Rel_database["database"]:::related -.-> Center
  click Rel_database "/terms/database"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Knowledge Check

1 / 1

🧒 Explain Like I'm 5

A graph is like a map of subway stations. Each station is a 'node', and the tracks between them are 'edges'. You can use graphs to figure out the best way to get from one station to another or to see which stations are the most connected.

🤓 Expert Deep Dive

Graphs are represented in memory using Adjacency Matrices (O(1) edge check) or Adjacency Lists (O(degree) space efficient). Key algorithms include Dijkstra's for shortest paths, PageRank for node importance, and Tarjan's for strongly connected components.

📚 Sources