Teoria grafów zawdzięcza swój początek mieszkańcom Królewca, którzy zastanawiali się w jaki sposób należy zaplanować trasę wieczornego spaceru tak, by po każdym z królewieckich mostów przejść tylko razy.
Problem został rozwiązany dopiero przez Leonarda Eulera, który posłużył się następującym rozumowaniem:
Każdy spójny fragment lądu oznaczmy jednym punktem, natomiast mosty łączące poszczególne fragmenty lądu oznaczane będą krawędziami łączącymi te punkty. W taki sposób utworzona „mapa” królewieckich mostów wygląda jak na poniższym rysunku.
Tym co zrobił Euler dalej, było sformułowanie podstaw teorii grafów - w tym pojęć takich jak krawędź, wierzchołek oraz stopień wierzchołka. Dla powyższego grafu każdy z wierzchołków jest nieparzystego stopnia (trzy wierzchołki są stopnia równego \(3\), jeden wierzchołek jest stopnia \(5\)). I okazuje się, że to wystarcza do tego, by nie dało się zaplanować spaceru tak, jak planowali mieszkańcy miasta.
W języku teorii grafów graf o tej własności nazywany jest grafem nie-eulerowskim, natomiast graf, w którym da się „zaplanować spacer” przez wszystkie krawędzie, w tym każdą tylko raz - jest grafem eulerowskim a trasę taką (tj. ciąg kolejnych wierzchołków i krawędzi, przez które przechodzimy), nazywamy cyklem Eulera.
Tak narodziła się teoria grafów - matematyczna idea, która stoi między innymi u podstaw dzisiejszej informatyki, a także wielu innych praktycznych zastosowań.
Ciekawym wynikiem jest także tzw. twierdzenie o uścisku dłoni - będące matematyczną kodyfikacją faktu, że niezależnie od tego, ile osób podaje sobie dłoń, każdy uścisk dłoni łączy parzystą ich liczbę. W teorii grafów to twierdzenie brzmi następująco: w każdym grafie liczba wierzchołków nieparzystego stopnia musi być parzysta.