• Nie Znaleziono Wyników

Algorytmy i Struktury Danych, 11. ćwiczenia

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmy i Struktury Danych, 11. ćwiczenia"

Copied!
2
0
0

Pełen tekst

(1)

Algorytmy i Struktury Danych, 11. ćwiczenia

2010-12-14

1 Plan zajęć

• zadanie o konstruowaniu drzepca za pomocą rotacji,

• 2-3 drzewa,

• cykle Eulera,

• silne spójne składowe,

2–3 drzewa

Definicja:

• każdy węzeł zawiera 1 lub 2 klucze,

• kazdy węzeł wewnętrzny ma 2 lub 3 synów (odpowiedno gdy zawiera 1 lub 2 klucze),

• wszystkie liście są na tym samym poziomie,

• drzewo zachowuje rozszerzony porządek BST, tzn. dla 1 klucza — do- kładnie tak jak w BST, dla 2 kluczy k1, k2 i synów c1, c2, c3, klucze w poddrzewie c1 są mniejsze lub równe niż k1, klucze w poddrzewie c3 są większe bądź równe niż k2, i wreszcie klucze w poddrzewie c2 mają war- tości pomiędzy k1a k2.

Bardzo dobre notatki można znaleźć pod adresem: http://cs.wellesley.edu/~cs230/fall02/2-3-trees.pdf

Cykl Eulera

Cykl Eulera w grafie skierowanym G istnieje wtedy i tylko wtedy gdy:

• dla każdego wierzchołka v ∈ V (G) mamy indeg(v) = outdeg(v).

• nieskierowana wersja grafu G (tzn. taka w której ignorujemy zwrot kra- wędzi), jest spójna,

• C = ∅

• tak długo jak G nie jest pusty, oblicz dowolny cykl i dołącz go do C,

1

(2)

Silne spójne składowe

Wierzchołki x, y należą do tej samej silnej spójnej składowej, jeśli istnieją ścieżki z x do y oraz z y do x.

SCC(G)

• uruchom algorytm DFS, oblicz czasy f [v] dla każdego wierzchołka,

• wyznacz graf GT (transpozycja grafu G)

• przeglądaj alg. DFS, wierzchołki GT w kolejności malejących czasów f [v],

• zwróć każde drzewo DFS jako osobną silną spójną składową.

Lemat 1 Silne spójne składowe są identyczne w grafach G i GT.

Lemat 2 Niech C i C0 będą różnymi silnie spójnymi składowymi grafu skiero- wanego G = (V, E) i niech u, v ∈ C, natomiast u0, v0 ∈ C0. Załóżmy, że istnieje ścieżka u → u0 w G. Wówczas w G nie może istnieć ścieżka z v0→ v.

Def. d(U ) = minu∈Ud[u], f (U ) = maxu∈Uf [u].

Lemat 3 Niech C i C0będą różnymi silnie spójnymi składowymi w skierowanym grafie G = (V, E). Załóżmy, że istnieje krawędź (u, v) ∈ E, taka, że u ∈ C i v ∈ C0. Wówczas f (C) > f (C0).

Lemat 4 Niech C i C0będą różnymi silnie spójnymi składowymi w skierowanym grafie G = (V, E). Załóżmy, że istnieje krawedź (u, v) ∈ ET, taka, że u ∈ C i v ∈ C0. Wówczas f (C) < f (C0).

Twierdzenie 1 Algorytm SCC poprawieni oblicza silnie spójne składowe w skie- rowanym grafie G.

2

Cytaty

Powiązane dokumenty

Zaprojektuj optymalny algorytm pod względem pesymistycznej liczby porów- nań, który znajduje dwa środkowe elementy w zbiorze czterech elementów.. Chcemy ją uporządkować tak,

Udowodnij, że jeśli algorytm sortujący tablicę A[1..n] porównuje i zamienia wy- łącznie elementy odległe co najwyżej o 2015 (tzn. jeśli porównuje A[i] z A[j], to.. |i-j|

[r]

Jeśli graf nie jest regularny, to należy dodać nowe krawędzie i ewentualnie wierz- chołki tak by przerobić go na regularny.. Algorithm

Algorytmy i Struktury

Wstarczy tak długo jak drzewo zawiera węzeł z lewym synem, wykonujemy na nim (i lewym synie) prawą

• v należy do poddrzewa p.right, jednak zauważmy, że liczba kroków tego typu nie może przekroczyć O(log n). 3

[r]