Professional Documents
Culture Documents
Reprezentacja Grafu
Reprezentacja Grafu
Wykªad 1.
Podstawowe poj¦cia.
Grafy - podstawowe poj¦cia
Denicja
Grafem (nieskierowanym) G nazywamy uporz¡dkowan¡ trójk¦
G = (V , E , γ), gdzie V 6= ∅ jest zbiorem wierzchoªków, E zbiorem
kraw¦dzi, γ jest funkcj¡ odwzorowuj¡c¡ zbiór E w zbiór
{{p, q} : p, q ∈ V }.
Denicja
Grafem (nieskierowanym) G nazywamy uporz¡dkowan¡ trójk¦
G = (V , E , γ), gdzie V 6= ∅ jest zbiorem wierzchoªków, E zbiorem
kraw¦dzi, γ jest funkcj¡ odwzorowuj¡c¡ zbiór E w zbiór
{{p, q} : p, q ∈ V }.
Denicja
Kraw¦d¹ e ª¡cz¡c¡ wierzchoªek w ze samym sob¡ nazywamy p¦tl¡.
γ(e) = {w , w } = {w }.
Denicja
Kraw¦d¹ e ª¡cz¡c¡ wierzchoªek w ze samym sob¡ nazywamy p¦tl¡.
γ(e) = {w , w } = {w }.
Denicja
Graf który zawiera kraw¦dzie wielokrotne nazywamy multigrafem.
Tzn. istniej¡ wi , wj ∈ V oraz ep , eq ∈ E , p 6= q takie, »e
γ(ep ) = γ(eq ) = {wi , wj }.
Denicja
Kraw¦d¹ e ª¡cz¡c¡ wierzchoªek w ze samym sob¡ nazywamy p¦tl¡.
γ(e) = {w , w } = {w }.
Denicja
Graf który zawiera kraw¦dzie wielokrotne nazywamy multigrafem.
Tzn. istniej¡ wi , wj ∈ V oraz ep , eq ∈ E , p 6= q takie, »e
γ(ep ) = γ(eq ) = {wi , wj }.
Denicja
Graf w którym nie ma p¦tli i kraw¦dzi wielokrotnych nazywamy grafem
prostym.
Przykªad:
V = {1, 2, 3, 4, 5} E = {a, b, c, d, e, f , g , h}
kraw¦d¹ e γ(e)
a {1, 2}
b {2, 3}
c {2, 5}
d {2, 5}
e {2, 5}
f {4, 5}
g {4, 5}
h {3, 3} = {3}
Denicja
Dwa grafy G = (V (G ), E (G ), γG ) i H = (V (H), E (H), γH ) s¡ identyczne
je»eli V (G ) = V (H), E (G ) = E (H), oraz γG = γH .
Denicja
Dwa grafy G = (V (G ), E (G ), γG ) i H = (V (H), E (H), γH ) s¡ identyczne
je»eli V (G ) = V (H), E (G ) = E (H), oraz γG = γH .
V (G ) = V (H)
E (G ) = E (H)
γG = γH
Denicja
Dwa grafy G = (V (G ), E (G ), γG ) i H = (V (H), E (H), γH ) s¡ identyczne
je»eli V (G ) = V (H), E (G ) = E (H), oraz γG = γH .
V (G ) = V (H)
E (G ) = E (H)
γG = γH
V (G ) = V (H)
E (G ) = E (H)
γG 6= γH
Dwa ró»ne (zgodnie z formaln¡ denicj¡) grafy, mog¡ mie¢ bardzo podobne
wªa±ciwo±ci (taki sam rysunek).
Np. grafy na poni»szym rysunku b¦d¡ identyczne je»eli zamienimy jedynie
nazwy wierzchoªków
Denicja
Dwa grafy G = (V (G ), E (G ), γG ) i H = (V (H), E (H), γH ) s¡
izomorczne je»eli istniej¡ bijekcje
θ : V (G ) → V (H)
φ : E (G ) → E (H)
takie, »e
γG (e) = {u, v }
wtedy i tylko wtedy
γH (φ(e)) = {θ(u), θ(v )}
Denicja
Grafem skierowanym lub digrafem (ang. directed graph) G nazywamy
uporz¡dkowan¡ trójk¦ G = (V , E , γ), gdzie V 6= ∅ jest zbiorem
wierzchoªków, E zbiorem kraw¦dzi, γ jest funkcj¡ odwzorowuj¡c¡ zbiór E w
zbiór V × V (γ : E → V × V ).
Denicja
Grafem skierowanym lub digrafem (ang. directed graph) G nazywamy
uporz¡dkowan¡ trójk¦ G = (V , E , γ), gdzie V 6= ∅ jest zbiorem
wierzchoªków, E zbiorem kraw¦dzi, γ jest funkcj¡ odwzorowuj¡c¡ zbiór E w
zbiór V × V (γ : E → V × V ).
Przykªad: V = {1, 2, 3, 4}, E = {a, b, c, d, e, f }
e kraw¦d¹ a b c d e f
γ(e) (1,2) (3,2) (4,1) (3,4) (2,4) (4,2)
1 2 3 4 5
1 0 0 1 0 0
2 1 0 0 1 1
3 0 1 0 0 0
4 1 0 0 0 1
5 0 0 0 1 1
Uwagi:
Macierz s¡siedztwa grafu nieskierowanego jest macierz¡ symetryczn¡.
Uwagi:
Macierz s¡siedztwa grafu nieskierowanego jest macierz¡ symetryczn¡.
Je»eli graf nieskierowany nie posiada p¦tli to na gªównej przek¡tnej
macierzy wyst¦puj¡ same zera.
Uwagi:
Macierz s¡siedztwa grafu nieskierowanego jest macierz¡ symetryczn¡.
Je»eli graf nieskierowany nie posiada p¦tli to na gªównej przek¡tnej
macierzy wyst¦puj¡ same zera.
1 2 3 4 5
1 0 1 1 1 0
2 1 0 1 1 1
3 1 1 0 0 0
4 1 1 0 0 1
5 0 1 0 1 0
Uwagi:
Macierz s¡siedztwa grafu nieskierowanego jest macierz¡ symetryczn¡.
Je»eli graf nieskierowany nie posiada p¦tli to na gªównej przek¡tnej
macierzy wyst¦puj¡ same zera.
1 2 3 4 5
1 0 1 1 1 0
2 1 0 1 1 1
3 1 1 0 0 0
4 1 1 0 0 1
5 0 1 0 1 0
Uwagi:
Zªo»ono±¢ pami¦ciowa: O(V ∗ V ).
Uwagi:
Zªo»ono±¢ pami¦ciowa: O(V ∗ V ).
Sprawdzenie istnienia jednej kraw¦dzi: O(1).
Uwagi:
Zªo»ono±¢ pami¦ciowa: O(V ∗ V ).
Sprawdzenie istnienia jednej kraw¦dzi: O(1).
Sprawdzenie nast¦pników\poprzedników wierzchoªka: O(V ).
1 2 9
2 1 3 4
3 2
4 2 5
5 4 6 7 8
6 5
7 5 9
8 5 11
9 1 7 10
10 9 11
11 8 10
1 2 9
2 1 3 4
3 2
4 2 5
5 4 6 7 8
6 5
7 5 9
8 5 11
9 1 7 10
10 9 11
11 8 10
Uwaga: Listy s¡siedztwa najlepiej nadaj¡ si¦ do reprezentowania grafów
"rzadkich", tzn. takich które maj¡ maªo kraw¦dzi w porównaniu do liczby
wierzchoªków.
Wykªad 1. Podstawowe poj¦cia.
Komputerowa reprezentacja grafów
Uwagi:
Zªo»ono±¢ pami¦ciowa: O(V + E ).
Uwagi:
Zªo»ono±¢ pami¦ciowa: O(V + E ).
Sprawdzenie istnienia jednej kraw¦dzi: O(V ).
Uwagi:
Zªo»ono±¢ pami¦ciowa: O(V + E ).
Sprawdzenie istnienia jednej kraw¦dzi: O(V ).
Sprawdzenie nast¦pników (poprzedników) wierzchoªka: O(V ).
a b c d e f g h
1 1 1 0 1 0 0 0 0
2 0 1 1 0 1 1 0 0
3 1 0 1 0 0 0 0 0
4 0 0 0 1 1 1 1 0
5 0 0 0 0 0 0 1 2
a b c d e f g h i
1 -1 1 0 1 0 0 0 0 0
2 0 -1 1 0 -1 -1 0 0 0
3 1 0 -1 0 0 0 0 0 0
4 0 0 0 -1 1 1 -1 1 0
5 0 0 0 0 0 0 1 -1 2
Uwagi:
Zªo»ono±¢ pami¦ciowa: O(V ∗ E ).
Uwagi:
Zªo»ono±¢ pami¦ciowa: O(V ∗ E ).
Sprawdzenie istnienia jednej kraw¦dzi: O(E ).
Uwagi:
Zªo»ono±¢ pami¦ciowa: O(V ∗ E ).
Sprawdzenie istnienia jednej kraw¦dzi: O(E ).
Sprawdzenie nast¦pników\poprzedników wierzchoªka: O(V ∗ E ).