7. Teoria drzew - spinanie i przeszukiwanie
|
|
- Mateusz Sobolewski
- 7 lat temu
- Przeglądów:
Transkrypt
1 7. Teoria drzew - spinanie i przeszukiwanie Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
2 1 Drzewa spinające 2 Drzewa binarne i przeszukiwania rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
3 Przypomnienie definicji Las Las to graf prosty, acykliczny. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
4 Przypomnienie definicji Las Las to graf prosty, acykliczny. Drzewo Drzewo to graf prosty, spójny, acykliczny (czyli spójny las). Wierzchołki drzewa nazywamy węzłami. Podgraf spójny drzewa nazywamy poddrzewem. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
5 Przypomnienie definicji Las Las to graf prosty, acykliczny. Drzewo Drzewo to graf prosty, spójny, acykliczny (czyli spójny las). Wierzchołki drzewa nazywamy węzłami. Podgraf spójny drzewa nazywamy poddrzewem. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
6 Charakteryzacja drzew Charakteryzacja drzew Dla grafu T = (V, E) następujące warunki są równoważne: 1. T jest drzewem. 2. T nie zawiera cykli i ma V 1 krawędzi. 3. T jest spójny i ma V 1 krawędzi (czyli nie da się zmniejszyć liczby krawędzi, by drzewo nadal było spójne). 4. T jest spójny i każda jego krawędź jest mostem. 5. Dowolne dwa wierzchołki grafu są połączone dokładnie jedną drogą prostą. 6. T nie zawiera cykli, lecz dodanie dowolnej nowej krawędzi tworzy dokładnie jeden cykl. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
7 Motywacja Motywacja badań drzew: rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
8 Motywacja Motywacja badań drzew: Przechowywanie informacji, umożliwiające szybki dostęp do każdego poziomu struktury. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
9 Motywacja Motywacja badań drzew: Przechowywanie informacji, umożliwiające szybki dostęp do każdego poziomu struktury. Unikanie redundancji. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
10 Motywacja Motywacja badań drzew: Przechowywanie informacji, umożliwiające szybki dostęp do każdego poziomu struktury. Unikanie redundancji. Opis zjawisk związanych z hierarchią (starszeństwa, zwierzchnictwa, katalogów, sekwencji czasowej). rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
11 Drzewo spinające Drzewo spinające Drzewem spinającym (rozpinającym) grafu G nazywamy podgraf G zawierający wszystkie jego wierzchołki i będący drzewem. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
12 Drzewo spinające Drzewo spinające Drzewem spinającym (rozpinającym) grafu G nazywamy podgraf G zawierający wszystkie jego wierzchołki i będący drzewem. Łatwo zauważyć, że drzewo spinające jest minimalnym (ze względu na zawieranie zbioru krawędzi) podgrafem spójnym łączącym wszystkie wierzchołki grafu G. Dlatego wyznaczanie drzew spinających jest przydatne, gdy wierzchołki grafu symbolizują cele, jakie chcemy osiągnąć. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
13 Drzewo spinające - przykład Przykładowe drzewo spinające w grafie Petersena: Tu na czerwono. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
14 Drzewo spinające - przykład Przykładowe drzewo spinające w grafie Petersena: Tu na czerwono. A tu bez reszty grafu. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
15 Drzewo spinające - istnienie O istnieniu drzewa spinającego Każdy skończony graf ma drzewo spinające wtedy i tylko wtedy, gdy jest spójny. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
16 Drzewo spinające - istnienie O istnieniu drzewa spinającego Każdy skończony graf ma drzewo spinające wtedy i tylko wtedy, gdy jest spójny. Oczywiście, zazwyczaj takie drzewo nie jest jedyne. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
17 Drzewo spinające - istnienie O istnieniu drzewa spinającego Każdy skończony graf ma drzewo spinające wtedy i tylko wtedy, gdy jest spójny. Oczywiście, zazwyczaj takie drzewo nie jest jedyne. Algorytm znajdowania takiego drzewa, jeśli nie wymagamy nic więcej, jest tak prosty, jak tylko można sobie wymarzyć. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
18 Algorytm wyznaczania drzewa spinającego Algorytm wyznaczania drzewa spinającego Dane: Graf spójny skończony G = (V (G), E(G)), v - wierzchołek grafu spójnego G. Zmienne: E - zbiór krawędzi, V - zbiór wierzchołków. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
19 Algorytm wyznaczania drzewa spinającego Algorytm wyznaczania drzewa spinającego Dane: Graf spójny skończony G = (V (G), E(G)), v - wierzchołek grafu spójnego G. Zmienne: E - zbiór krawędzi, V - zbiór wierzchołków. I. Niech V := {v}, E :=. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
20 Algorytm wyznaczania drzewa spinającego Algorytm wyznaczania drzewa spinającego Dane: Graf spójny skończony G = (V (G), E(G)), v - wierzchołek grafu spójnego G. Zmienne: E - zbiór krawędzi, V - zbiór wierzchołków. I. Niech V := {v}, E :=. II. Dopóki istnieją w grafie G krawędzie łączące wierzchołki ze zbioru V z wierzchołkami, które nie należą do V : wybierz krawędź uw łączącą wierzchołek u V z wierzchołkiem w / V, dołącz w do V i dołącz uw do E. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
21 Algorytm wyznaczania drzewa spinającego Algorytm wyznaczania drzewa spinającego Dane: Graf spójny skończony G = (V (G), E(G)), v - wierzchołek grafu spójnego G. Zmienne: E - zbiór krawędzi, V - zbiór wierzchołków. I. Niech V := {v}, E :=. II. Dopóki istnieją w grafie G krawędzie łączące wierzchołki ze zbioru V z wierzchołkami, które nie należą do V : wybierz krawędź uw łączącą wierzchołek u V z wierzchołkiem w / V, dołącz w do V i dołącz uw do E. Rezultat: E to zbiór krawędzi drzewa spinającego grafu G. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
22 Uwagi na temat algorytmu wyznaczania drzewa spinającego rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
23 Uwagi na temat algorytmu wyznaczania drzewa spinającego Algorytm działa wyjątkowo prosto - startujemy z dowolnego wierzchołka i dokładamy kolejne krawędzie, łącząc już stworzoną część nowego grafu z kolejnymi wierzchołkami, które nie zostały jeszcze podłączone do naszego drzewa, aż nie pozostanie ani jeden niepołączony wierzchołek lub skończą się krawędzie łączące wierzchołki połączone z niepołączonymi. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
24 Uwagi na temat algorytmu wyznaczania drzewa spinającego Algorytm działa wyjątkowo prosto - startujemy z dowolnego wierzchołka i dokładamy kolejne krawędzie, łącząc już stworzoną część nowego grafu z kolejnymi wierzchołkami, które nie zostały jeszcze podłączone do naszego drzewa, aż nie pozostanie ani jeden niepołączony wierzchołek lub skończą się krawędzie łączące wierzchołki połączone z niepołączonymi. Tego algorytmu można też użyć do badania, czy graf jest spójny. Jeśli algorytm skończy działanie i zbiór V nie zawiera wszystkich wierzchołków G, to G jest niespójny. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
25 Uwagi na temat algorytmu wyznaczania drzewa spinającego Algorytm działa wyjątkowo prosto - startujemy z dowolnego wierzchołka i dokładamy kolejne krawędzie, łącząc już stworzoną część nowego grafu z kolejnymi wierzchołkami, które nie zostały jeszcze podłączone do naszego drzewa, aż nie pozostanie ani jeden niepołączony wierzchołek lub skończą się krawędzie łączące wierzchołki połączone z niepołączonymi. Tego algorytmu można też użyć do badania, czy graf jest spójny. Jeśli algorytm skończy działanie i zbiór V nie zawiera wszystkich wierzchołków G, to G jest niespójny. Czas działania tego algorytmu to O( V (G) + E(G) ). rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
26 Przykłady zastosowań wyznaczania drzewa spinającego rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
27 Przykłady zastosowań wyznaczania drzewa spinającego Wyznaczanie minimalnej koniecznej struktury (np. minimalnej sieci wodociągowej docierającej do wszystkich domów w miejscowości). rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
28 Przykłady zastosowań wyznaczania drzewa spinającego Wyznaczanie minimalnej koniecznej struktury (np. minimalnej sieci wodociągowej docierającej do wszystkich domów w miejscowości). Broadcasting - wyznaczenie dozwolonych ścieżek po których sygnał ma iść od nadajnika do odbiorców, tak, by nie docierał do nich kilkukrotnie (unikanie redundancji). rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
29 Minimalne drzewo spinające Drzewa spinające są przydatne, ale by zoptymalizować ich użyteczność, czasem potrzeba czegoś więcej. Na przykład, rozważając konieczną do zaopatrzenia wszystkich domów w miejscowości sieć wodociągową, możemy zażądać, by była ona jak najkrótsza (w sensie całkowitej długości rur). Wtedy poszukujemy tzw. minimalnego drzewa spinającego. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
30 Minimalne drzewo spinające Drzewa spinające są przydatne, ale by zoptymalizować ich użyteczność, czasem potrzeba czegoś więcej. Na przykład, rozważając konieczną do zaopatrzenia wszystkich domów w miejscowości sieć wodociągową, możemy zażądać, by była ona jak najkrótsza (w sensie całkowitej długości rur). Wtedy poszukujemy tzw. minimalnego drzewa spinającego. Minimalne drzewo spinające W grafie G z wagami minimalnym drzewem spinającym nazywamy takie drzewo, które jest spinające i jego waga (czyli suma wag jego krawędzi) jest nie większa niż waga jakiegokolwiek innego drzewa spinającego w tym samym grafie. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
31 Minimalne drzewo spinające Drzewa spinające są przydatne, ale by zoptymalizować ich użyteczność, czasem potrzeba czegoś więcej. Na przykład, rozważając konieczną do zaopatrzenia wszystkich domów w miejscowości sieć wodociągową, możemy zażądać, by była ona jak najkrótsza (w sensie całkowitej długości rur). Wtedy poszukujemy tzw. minimalnego drzewa spinającego. Minimalne drzewo spinające W grafie G z wagami minimalnym drzewem spinającym nazywamy takie drzewo, które jest spinające i jego waga (czyli suma wag jego krawędzi) jest nie większa niż waga jakiegokolwiek innego drzewa spinającego w tym samym grafie. Na szczęście, również wyznaczanie minimalnych drzew spinających jest dość proste. Działają tutaj dwa algorytmy zachłanne: algorytm Kruskala i algorytm Prima. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
32 Algorytm Kruskala Algorytm Kruskala Dane: G - skończony graf spójny z wagami, którego krawędzie są uporządkowane wg wzrastających wag e 1,..., e n, n = E(G). Zmienne: E - zbiór krawędzi. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
33 Algorytm Kruskala Algorytm Kruskala Dane: G - skończony graf spójny z wagami, którego krawędzie są uporządkowane wg wzrastających wag e 1,..., e n, n = E(G). Zmienne: E - zbiór krawędzi. I. Podstaw E :=. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
34 Algorytm Kruskala Algorytm Kruskala Dane: G - skończony graf spójny z wagami, którego krawędzie są uporządkowane wg wzrastających wag e 1,..., e n, n = E(G). Zmienne: E - zbiór krawędzi. I. Podstaw E :=. II. Dla j = 1 do n wykonuj: jeśli graf E {e j } jest acykliczny, dołącz e j do E. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
35 Algorytm Kruskala Algorytm Kruskala Dane: G - skończony graf spójny z wagami, którego krawędzie są uporządkowane wg wzrastających wag e 1,..., e n, n = E(G). Zmienne: E - zbiór krawędzi. I. Podstaw E :=. II. Dla j = 1 do n wykonuj: jeśli graf E {e j } jest acykliczny, dołącz e j do E. Rezultat: E to zbiór krawędzi minimalnego drzewa spinającego G. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
36 Algorytm Kruskala - przykład Należy znaleźć minimalne drzewo spinające w grafie powyżej za pomocą algorytmu Kruskala. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
37 Algorytm Kruskala - przykład Należy znaleźć minimalne drzewo spinające w grafie powyżej za pomocą algorytmu Kruskala. Przygotowanie do algorytmu wymaga wypisania krawędzi w kolejności wzrastających wag (jeśli wagi dwu krawędzi są równe, to ich kolejność jest dowolna). rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
38 Algorytm Kruskala - przykład Należy znaleźć minimalne drzewo spinające w grafie powyżej za pomocą algorytmu Kruskala. Przygotowanie do algorytmu wymaga wypisania krawędzi w kolejności wzrastających wag (jeśli wagi dwu krawędzi są równe, to ich kolejność jest dowolna). W tym przypadku to uporządkowanie może wyglądać np. tak: BD, rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
39 Algorytm Kruskala - przykład Należy znaleźć minimalne drzewo spinające w grafie powyżej za pomocą algorytmu Kruskala. Przygotowanie do algorytmu wymaga wypisania krawędzi w kolejności wzrastających wag (jeśli wagi dwu krawędzi są równe, to ich kolejność jest dowolna). W tym przypadku to uporządkowanie może wyglądać np. tak: BD, AC, rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
40 Algorytm Kruskala - przykład Należy znaleźć minimalne drzewo spinające w grafie powyżej za pomocą algorytmu Kruskala. Przygotowanie do algorytmu wymaga wypisania krawędzi w kolejności wzrastających wag (jeśli wagi dwu krawędzi są równe, to ich kolejność jest dowolna). W tym przypadku to uporządkowanie może wyglądać np. tak: BD, AC, BE, rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
41 Algorytm Kruskala - przykład Należy znaleźć minimalne drzewo spinające w grafie powyżej za pomocą algorytmu Kruskala. Przygotowanie do algorytmu wymaga wypisania krawędzi w kolejności wzrastających wag (jeśli wagi dwu krawędzi są równe, to ich kolejność jest dowolna). W tym przypadku to uporządkowanie może wyglądać np. tak: BD, AC, BE, AB, rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
42 Algorytm Kruskala - przykład Należy znaleźć minimalne drzewo spinające w grafie powyżej za pomocą algorytmu Kruskala. Przygotowanie do algorytmu wymaga wypisania krawędzi w kolejności wzrastających wag (jeśli wagi dwu krawędzi są równe, to ich kolejność jest dowolna). W tym przypadku to uporządkowanie może wyglądać np. tak: BD, AC, BE, AB, AD, rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
43 Algorytm Kruskala - przykład Należy znaleźć minimalne drzewo spinające w grafie powyżej za pomocą algorytmu Kruskala. Przygotowanie do algorytmu wymaga wypisania krawędzi w kolejności wzrastających wag (jeśli wagi dwu krawędzi są równe, to ich kolejność jest dowolna). W tym przypadku to uporządkowanie może wyglądać np. tak: BD, AC, BE, AB, AD, CD, rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
44 Algorytm Kruskala - przykład Należy znaleźć minimalne drzewo spinające w grafie powyżej za pomocą algorytmu Kruskala. Przygotowanie do algorytmu wymaga wypisania krawędzi w kolejności wzrastających wag (jeśli wagi dwu krawędzi są równe, to ich kolejność jest dowolna). W tym przypadku to uporządkowanie może wyglądać np. tak: BD, AC, BE, AB, AD, CD, BC, rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
45 Algorytm Kruskala - przykład Należy znaleźć minimalne drzewo spinające w grafie powyżej za pomocą algorytmu Kruskala. Przygotowanie do algorytmu wymaga wypisania krawędzi w kolejności wzrastających wag (jeśli wagi dwu krawędzi są równe, to ich kolejność jest dowolna). W tym przypadku to uporządkowanie może wyglądać np. tak: BD, AC, BE, AB, AD, CD, BC, CE, rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
46 Algorytm Kruskala - przykład Należy znaleźć minimalne drzewo spinające w grafie powyżej za pomocą algorytmu Kruskala. Przygotowanie do algorytmu wymaga wypisania krawędzi w kolejności wzrastających wag (jeśli wagi dwu krawędzi są równe, to ich kolejność jest dowolna). W tym przypadku to uporządkowanie może wyglądać np. tak: BD, AC, BE, AB, AD, CD, BC, CE, CF, rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
47 Algorytm Kruskala - przykład Należy znaleźć minimalne drzewo spinające w grafie powyżej za pomocą algorytmu Kruskala. Przygotowanie do algorytmu wymaga wypisania krawędzi w kolejności wzrastających wag (jeśli wagi dwu krawędzi są równe, to ich kolejność jest dowolna). W tym przypadku to uporządkowanie może wyglądać np. tak: BD, AC, BE, AB, AD, CD, BC, CE, CF, EF, rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
48 Algorytm Kruskala - przykład Należy znaleźć minimalne drzewo spinające w grafie powyżej za pomocą algorytmu Kruskala. Przygotowanie do algorytmu wymaga wypisania krawędzi w kolejności wzrastających wag (jeśli wagi dwu krawędzi są równe, to ich kolejność jest dowolna). W tym przypadku to uporządkowanie może wyglądać np. tak: BD, AC, BE, AB, AD, CD, BC, CE, CF, EF, DF. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
49 Algorytm Kruskala - przykład Kolejność krawędzi: BD,AC,BE,AB,AD,CD,BC,CE,CF,EF,DF. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
50 Algorytm Kruskala - przykład Kolejność krawędzi: BD,AC,BE,AB,AD,CD,BC,CE,CF,EF,DF. Działanie algorytmu zapisujemy w takiej tabelce: Nr kroku wybrana krawędź krawędzie odrzucone przed wyborem 1?? 2?? Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
51 Algorytm Kruskala - przykład Dołączenie pierwszych 4 krawędzi: BD,AC,BE,AB nie sprawia żadnych problemów. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
52 Algorytm Kruskala - przykład Dołączenie pierwszych 4 krawędzi: BD,AC,BE,AB nie sprawia żadnych problemów. Nr kroku wybrana krawędź krawędzie odrzucone przed wyborem 1 BD - 2 AC - 3 BE - 4 AB - rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
53 Algorytm Kruskala - przykład Kolejność krawędzi: BD,AC,BE,AB,AD,CD,BC,CE,CF,EF,DF. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
54 Algorytm Kruskala - przykład Kolejność krawędzi: BD,AC,BE,AB,AD,CD,BC,CE,CF,EF,DF. Nie możemy teraz dołączyć krawędzu AD, gdyż stworzyłoby to cykl ABDA. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
55 Algorytm Kruskala - przykład Kolejność krawędzi: BD,AC,BE,AB,AD,CD,BC,CE,CF,EF,DF. Nie możemy teraz dołączyć krawędzu AD, gdyż stworzyłoby to cykl ABDA. Krawędź CD również odpada (cykl ACDBA), Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
56 Algorytm Kruskala - przykład Kolejność krawędzi: BD,AC,BE,AB,AD,CD,BC,CE,CF,EF,DF. Nie możemy teraz dołączyć krawędzu AD, gdyż stworzyłoby to cykl ABDA. Krawędź CD również odpada (cykl ACDBA), podobnie BC (cykl ABCA), Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
57 Algorytm Kruskala - przykład Kolejność krawędzi: BD,AC,BE,AB,AD,CD,BC,CE,CF,EF,DF. Nie możemy teraz dołączyć krawędzu AD, gdyż stworzyłoby to cykl ABDA. Krawędź CD również odpada (cykl ACDBA), podobnie BC (cykl ABCA), CE tworzy cykl ACEBA. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
58 Algorytm Kruskala - przykład Kolejność krawędzi: BD,AC,BE,AB,AD,CD,BC,CE,CF,EF,DF. Nie możemy teraz dołączyć krawędzu AD, gdyż stworzyłoby to cykl ABDA. Krawędź CD również odpada (cykl ACDBA), podobnie BC (cykl ABCA), CE tworzy cykl ACEBA. Dopiero krawędź CF pasuje. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
59 Algorytm Kruskala - przykład Kolejność krawędzi: BD,AC,BE,AB,AD,CD,BC,CE,CF,EF,DF. Nie możemy teraz dołączyć krawędzu AD, gdyż stworzyłoby to cykl ABDA. Krawędź CD również odpada (cykl ACDBA), podobnie BC (cykl ABCA), CE tworzy cykl ACEBA. Dopiero krawędź CF pasuje. Jednocześnie, dołączenie tej krawędzi powoduje, że wszystkie wierzchołki grafu są połączone, więc otrzymaliśmy nasze drzewo spinające (dołączenie dowolnej z następnych krawędzi musiałoby stworzyć cykl). Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
60 Algorytm Kruskala - przykład Działanie algorytmu opisuje tabelka: rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
61 Algorytm Kruskala - przykład Działanie algorytmu opisuje tabelka: Nr kroku wybrana krawędź krawędzie odrzucone przed wyborem 1 BD - 2 AC - 3 BE - 4 AB - 5 CF AD,CD,BC,CE Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
62 Algorytm Kruskala - przykład Wynikiem algorytmu jest powyższe minimalne drzewo spinające. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
63 Algorytm Kruskala - przykład Wynikiem algorytmu jest powyższe minimalne drzewo spinające. Waga tego drzewa wynosi 13 (suma wag krawędzi). rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
64 Algorytm Kruskala - uwagi rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
65 Algorytm Kruskala - uwagi Algorytm Kruskala działa poprawnie, nawet jeśli graf G ma pętle i krawędzie wielokrotne. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
66 Algorytm Kruskala - uwagi Algorytm Kruskala działa poprawnie, nawet jeśli graf G ma pętle i krawędzie wielokrotne. Nie trzeba nawet zakładać spójności - jednak wtedy znajdziemy nie drzewo, a las spinający. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
67 Algorytm Kruskala - uwagi Algorytm Kruskala działa poprawnie, nawet jeśli graf G ma pętle i krawędzie wielokrotne. Nie trzeba nawet zakładać spójności - jednak wtedy znajdziemy nie drzewo, a las spinający. Wadą tego algorytmu jest to, że przed jego zastosowaniem musimy jakoś uporządkować krawędzie według wzrastających wag. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
68 Algorytm Kruskala - uwagi Algorytm Kruskala działa poprawnie, nawet jeśli graf G ma pętle i krawędzie wielokrotne. Nie trzeba nawet zakładać spójności - jednak wtedy znajdziemy nie drzewo, a las spinający. Wadą tego algorytmu jest to, że przed jego zastosowaniem musimy jakoś uporządkować krawędzie według wzrastających wag. Jednakże, nawet razem z tym uporządkowaniem, algorytm Kruskala zajmuje tylko O( E(G) log E(G) ) czasu. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
69 Algorytm Kruskala - uwagi Algorytm Kruskala działa poprawnie, nawet jeśli graf G ma pętle i krawędzie wielokrotne. Nie trzeba nawet zakładać spójności - jednak wtedy znajdziemy nie drzewo, a las spinający. Wadą tego algorytmu jest to, że przed jego zastosowaniem musimy jakoś uporządkować krawędzie według wzrastających wag. Jednakże, nawet razem z tym uporządkowaniem, algorytm Kruskala zajmuje tylko O( E(G) log E(G) ) czasu. Problemem może być jedynie sytuacja, gdy na początku tego uporządkowania krawędzi nie da się uzyskać (np. dane o wagach uzyskujemy w miarę tworzenia się naszego drzewa). W takiej sytuacji lepiej zastosować algorytm Prima. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
70 Algorytm Prima Algorytm Prima Dane: G - skończony graf spójny z wagami. Zmienne: E - zbiór krawędzi, V - zbiór wierzchołków. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
71 Algorytm Prima Algorytm Prima Dane: G - skończony graf spójny z wagami. Zmienne: E - zbiór krawędzi, V - zbiór wierzchołków. I. Podstaw E :=. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
72 Algorytm Prima Algorytm Prima Dane: G - skończony graf spójny z wagami. Zmienne: E - zbiór krawędzi, V - zbiór wierzchołków. I. Podstaw E :=. II. Wybierz w - dowolny wierzchołek ze zbioru V (G) i niech V := {w}. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
73 Algorytm Prima Algorytm Prima Dane: G - skończony graf spójny z wagami. Zmienne: E - zbiór krawędzi, V - zbiór wierzchołków. I. Podstaw E :=. II. Wybierz w - dowolny wierzchołek ze zbioru V (G) i niech V := {w}. III. Dopóki V V (G) wykonuj: wybierz w zbiorze E(G) krawędź uv o najmniejszej możliwej wadze, taką, że u V i v V (G) \ V, a następnie dołącz krawędź uv do zbioru E i wierzchołek v do zbioru V. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
74 Algorytm Prima Algorytm Prima Dane: G - skończony graf spójny z wagami. Zmienne: E - zbiór krawędzi, V - zbiór wierzchołków. I. Podstaw E :=. II. Wybierz w - dowolny wierzchołek ze zbioru V (G) i niech V := {w}. III. Dopóki V V (G) wykonuj: wybierz w zbiorze E(G) krawędź uv o najmniejszej możliwej wadze, taką, że u V i v V (G) \ V, a następnie dołącz krawędź uv do zbioru E i wierzchołek v do zbioru V. Rezultat: E to zbiór krawędzi minimalnego drzewa spinającego G. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
75 Algorytm Prima - przykład Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
76 Algorytm Prima - przykład Będziemy wybierać krawędzie do drzewa, zaczynając od wierzchołka A. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
77 Algorytm Prima - przykład Będziemy wybierać krawędzie do drzewa, zaczynając od wierzchołka A. Kolejne kroki algorytmu zapisujemy w takiej tabeli: Nr etapu wybór krawędzi alternatywne, dozwolone wybory 1?? 2?? Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
78 Algorytm Prima - przykład Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
79 Algorytm Prima - przykład V = {A}. Możliwe połączenia między V, a V (G) \ V to AB, AC i AD. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
80 Algorytm Prima - przykład V = {A}. Możliwe połączenia między V, a V (G) \ V to AB, AC i AD. Z nich, najmniejszą wagę ma AC, więc dołączamy AC do drzewa, a C do zbioru V. Nr etapu wybór krawędzi alternatywne, dozwolone wybory 1 AC - Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
81 Algorytm Prima - przykład Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
82 Algorytm Prima - przykład V = {A, C}. Możliwe połączenia między V, a V (G) \ V to AB, AD, CB, CD, CE, CF. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
83 Algorytm Prima - przykład V = {A, C}. Możliwe połączenia między V, a V (G) \ V to AB, AD, CB, CD, CE, CF. Z nich, najmniejsze wagi mają AB, AD i CD. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
84 Algorytm Prima - przykład V = {A, C}. Możliwe połączenia między V, a V (G) \ V to AB, AD, CB, CD, CE, CF. Z nich, najmniejsze wagi mają AB, AD i CD. Wybieramy dowolną z nich (np. CD) dołączając ją do drzewa, drugi jej koniec (czyli D) dołączamy do V, a pozostałe z tych krawędzi zaznaczamy w tabelce jako alternatywne, dozwolone wybory. Nr etapu wybór krawędzi alternatywne, dozwolone wybory 2 CD AB,AD Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
85 Algorytm Prima - przykład Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
86 Algorytm Prima - przykład V = {A, C, D}. Możliwe połączenia między V, a V (G) \ V to wszystkie czarne krawędzie powyższego grafu poza AD, BE i EF. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
87 Algorytm Prima - przykład V = {A, C, D}. Możliwe połączenia między V, a V (G) \ V to wszystkie czarne krawędzie powyższego grafu poza AD, BE i EF. Z nich, najmniejszą wagę ma BD, więc dołączamy BD do drzewa, a B do zbioru V. Nr etapu wybór krawędzi alternatywne, dozwolone wybory 3 BD - rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
88 Algorytm Prima - przykład Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
89 Algorytm Prima - przykład V = {A, B, C, D}. Możliwe połączenia między V, a V (G) \ V to BE, CE, CF i DF. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
90 Algorytm Prima - przykład V = {A, B, C, D}. Możliwe połączenia między V, a V (G) \ V to BE, CE, CF i DF. Z nich, najmniejszą wagę ma BE, więc dołączamy BE do drzewa, a E do zbioru V. Nr etapu wybór krawędzi alternatywne, dozwolone wybory 4 BE - Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
91 Algorytm Prima - przykład Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
92 Algorytm Prima - przykład V = {A, B, C, D, E}. Możliwe połączenia między V, a V (G) \ V to CF i DF. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
93 Algorytm Prima - przykład V = {A, B, C, D, E}. Możliwe połączenia między V, a V (G) \ V to CF i DF. Z nich, najmniejszą wagę ma CF, więc dołączamy CF do drzewa, a F do zbioru V. Nr etapu wybór krawędzi alternatywne, dozwolone wybory 5 CF - Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
94 Algorytm Prima - przykład Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
95 Algorytm Prima - przykład V = {A, B, C, D, E, F } = V (G), więc algorytm się kończy. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
96 Algorytm Prima - przykład V = {A, B, C, D, E, F } = V (G), więc algorytm się kończy. Działanie algorytmu Prima opisuje tabela: Nr etapu wybór krawędzi alternatywne, dozwolone wybory 1 AC - 2 CD AB, AD 3 BD - 4 BE - 5 CF - rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
97 Algorytm Prima - przykład Wynikiem algorytmu jest powyższe minimalne drzewo spinające. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
98 Algorytm Prima - przykład Wynikiem algorytmu jest powyższe minimalne drzewo spinające. Waga tego drzewa wynosi 13 (suma wag krawędzi). rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
99 Algorytm Prima - przykład Wynikiem algorytmu jest powyższe minimalne drzewo spinające. Waga tego drzewa wynosi 13 (suma wag krawędzi). Warto zauważyć, że minimalne drzewo spinające, które otrzymaliśmy za pomocą algorytmu Prima jest inne niż otrzymane za pomocą algorytmu Kruskala. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
100 Algorytm Prima - przykład Wynikiem algorytmu jest powyższe minimalne drzewo spinające. Waga tego drzewa wynosi 13 (suma wag krawędzi). Warto zauważyć, że minimalne drzewo spinające, które otrzymaliśmy za pomocą algorytmu Prima jest inne niż otrzymane za pomocą algorytmu Kruskala. Jednakże ich waga jest taka sama (obydwa są minimalne). rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
101 Algorytm Prima - uwagi rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
102 Algorytm Prima - uwagi Złożoność obliczeniowa algorytmu Prima to O( V (G) 2 ). rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
103 Algorytm Prima - uwagi Złożoność obliczeniowa algorytmu Prima to O( V (G) 2 ). Pętle i krawędzie wielokrotne nie przeszkadzają w działaniu tego algorytmu. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
104 Algorytm Prima - uwagi Złożoność obliczeniowa algorytmu Prima to O( V (G) 2 ). Pętle i krawędzie wielokrotne nie przeszkadzają w działaniu tego algorytmu. Jeśli graf jest niespójny i chcemy otrzymać na końcu spinający las (czyli po jednym drzewie spinającym na każdą składową), to musimy algorytm nieco zmodyfikować (ćwiczenie). rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
105 Drzewo z wyróżnionym korzeniem Drzewo z wyróżnionym korzeniem Drzewo z wyróżnionym korzeniem jest to drzewo z wyróżnionym jednym wierzchołkiem, nazywanym korzeniem. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
106 Drzewo z wyróżnionym korzeniem Drzewo z wyróżnionym korzeniem Drzewo z wyróżnionym korzeniem jest to drzewo z wyróżnionym jednym wierzchołkiem, nazywanym korzeniem. Tradycyjnie, drzewa z wyróżnionym korzeniem rysuje się tak, by korzeń był na samej górze. Czasem interpretuje się je jako grafy skierowane ze strzałkami skierowanymi w dół. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
107 Drzewo z wyróżnionym korzeniem Drzewo z wyróżnionym korzeniem Drzewo z wyróżnionym korzeniem jest to drzewo z wyróżnionym jednym wierzchołkiem, nazywanym korzeniem. Tradycyjnie, drzewa z wyróżnionym korzeniem rysuje się tak, by korzeń był na samej górze. Czasem interpretuje się je jako grafy skierowane ze strzałkami skierowanymi w dół. A jest korzeniem poniższego drzewa. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
108 Liście Liść Liść drzewa to wierzchołek stopnia 1, który nie jest wyróżniony jako korzeń. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
109 Liście Liść Liść drzewa to wierzchołek stopnia 1, który nie jest wyróżniony jako korzeń. Niebieskie wierzchołki w tym drzewie to liście. A jest korzeniem, więc choć jest stopnia 1, to nie jest liściem. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
110 Rodzice i dzieci Rodzice i dzieci Jeśli para (v, w) jest krawędzią drzewa z wyróżnionym korzeniem, to v jest rodzicem w, a w jest dzieckiem v. Ogólniej, w jest potomkiem v, jeśli w v i v jest wierzchołkiem jedynej drogi prostej z korzenia do wierzchołka w. v nazywamy wtedy przodkiem w. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
111 Rodzice i dzieci Rodzice i dzieci Jeśli para (v, w) jest krawędzią drzewa z wyróżnionym korzeniem, to v jest rodzicem w, a w jest dzieckiem v. Ogólniej, w jest potomkiem v, jeśli w v i v jest wierzchołkiem jedynej drogi prostej z korzenia do wierzchołka w. v nazywamy wtedy przodkiem w. Wszystkie wierzchołki są potomkami A, ale tylko B, C i D są jego dziećmi. D jest rodzicem G, a B jest przodkiem I. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
112 Poziom wierzchołka Poziom wierzchołka Poziomem wierzchołka v nazywamy długość jedynej drogi prostej od korzenia do v. Wysokość drzewa z wyróżnionym korzeniem to największy możliwy poziom wierzchołka tego drzewa. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
113 Poziom wierzchołka Poziom wierzchołka Poziomem wierzchołka v nazywamy długość jedynej drogi prostej od korzenia do v. Wysokość drzewa z wyróżnionym korzeniem to największy możliwy poziom wierzchołka tego drzewa. Poniższe drzewo ma wysokość 3. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
114 Poziom wierzchołka Poziom wierzchołka Poziomem wierzchołka v nazywamy długość jedynej drogi prostej od korzenia do v. Wysokość drzewa z wyróżnionym korzeniem to największy możliwy poziom wierzchołka tego drzewa. Poniższe drzewo ma wysokość 3. B, C i D są wierzchołkami poziomu 1, E,F i G - poziomu 2, a H i I - poziomu 3. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
115 Poddrzewo Drzewo po prawej jest poddrzewem drzewa po lewej o korzeniu B. Poddrzewo Poddrzewo o korzeniu v jest to drzewo T v, składające się z korzenia v, wszystkich jego potomków i wszystkich krawędzi (potencjalnie skierowanych) łączących ich. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
116 Przykłady zastosowań drzew z wyróżnionym korzeniem rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
117 Przykłady zastosowań drzew z wyróżnionym korzeniem Struktura uporządkowania katalogów, podkatalogów i plików rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
118 Przykłady zastosowań drzew z wyróżnionym korzeniem Struktura uporządkowania katalogów, podkatalogów i plików Opis jakiejkolwiek struktury hierarchicznej (np. władze uczelni) rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
119 Przykłady zastosowań drzew z wyróżnionym korzeniem Struktura uporządkowania katalogów, podkatalogów i plików Opis jakiejkolwiek struktury hierarchicznej (np. władze uczelni) Drzewo genealogiczne rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
120 Przykłady zastosowań drzew z wyróżnionym korzeniem Struktura uporządkowania katalogów, podkatalogów i plików Opis jakiejkolwiek struktury hierarchicznej (np. władze uczelni) Drzewo genealogiczne Drzewkowy zapis algorytmu postępowania (np. przepis kucharski, poradnik diagnostyczno-medyczny). rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
121 Drzewo binarne Drzewo binarne Drzewo binarne jest to drzewo z wyróżnionym korzeniem, w którym każdy węzeł ma co najwyżej dwoje dzieci, wśród których wyróżniamy dzieci prawe i lewe. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
122 Drzewo binarne Drzewo binarne Drzewo binarne jest to drzewo z wyróżnionym korzeniem, w którym każdy węzeł ma co najwyżej dwoje dzieci, wśród których wyróżniamy dzieci prawe i lewe. Zielone wierzchołki to lewe dzieci swoich rodziców, a czerwone - prawe. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
123 Drzewo binarne Drzewo binarne Drzewo binarne jest to drzewo z wyróżnionym korzeniem, w którym każdy węzeł ma co najwyżej dwoje dzieci, wśród których wyróżniamy dzieci prawe i lewe. Zielone wierzchołki to lewe dzieci swoich rodziców, a czerwone - prawe. Warto zauważyć, że wierzchołek D ma tylko dziecko lewe. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
124 Drzewo binarne - przykład Przykładem drzewa binarnego jest łatwa do przeszukiwania alfabetyczna baza danych (np. pacjentów szpitala), będąca szczególnym przypadkiem tzw. drzewa poszukiwań binarnych. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
125 Drzewo poszukiwań binarnych Drzewo poszukiwań binarnych Drzewo poszukiwań binarnych jest to drzewo binarne składające się z węzłów z uporządkowanymi etykietami (węzłów indeksowanych zbiorem uporządkowanym), w którym lewe poddrzewo każdego węzła zawiera wyłącznie węzły o etykietach nie większych niż etykieta węzła a prawe poddrzewo zawiera wyłącznie węzły o etykietach nie mniejszych niż etykieta węzła. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
126 Drzewo poszukiwań binarnych Drzewo poszukiwań binarnych Drzewo poszukiwań binarnych jest to drzewo binarne składające się z węzłów z uporządkowanymi etykietami (węzłów indeksowanych zbiorem uporządkowanym), w którym lewe poddrzewo każdego węzła zawiera wyłącznie węzły o etykietach nie większych niż etykieta węzła a prawe poddrzewo zawiera wyłącznie węzły o etykietach nie mniejszych niż etykieta węzła. W ten sposób tworzy się bazy danych, których etykiety są np. liczbami lub słowami (uporządkowanymi alfabetycznie), i które bardzo szybko można przeszukać i znaleźć dany węzeł. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
127 Drzewo poszukiwań binarnych - przeszukiwanie Przeszukiwanie drzewa poszukiwań binarnych jest rekurencyjne: PRZESZUKIWANIE(v,x) Dane: Drzewo poszukiwań binarnych z korzeniem v, x - poszukiwana wartość etykiety. Zmienne: w - węzeł. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
128 Drzewo poszukiwań binarnych - przeszukiwanie Przeszukiwanie drzewa poszukiwań binarnych jest rekurencyjne: PRZESZUKIWANIE(v,x) Dane: Drzewo poszukiwań binarnych z korzeniem v, x - poszukiwana wartość etykiety. Zmienne: w - węzeł. I. Podstawiamy w = v. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
129 Drzewo poszukiwań binarnych - przeszukiwanie Przeszukiwanie drzewa poszukiwań binarnych jest rekurencyjne: PRZESZUKIWANIE(v,x) Dane: Drzewo poszukiwań binarnych z korzeniem v, x - poszukiwana wartość etykiety. Zmienne: w - węzeł. I. Podstawiamy w = v. II. Porównujemy etykietę w i x. Jeśli etykiety są równe: STOP. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
130 Drzewo poszukiwań binarnych - przeszukiwanie Przeszukiwanie drzewa poszukiwań binarnych jest rekurencyjne: PRZESZUKIWANIE(v,x) Dane: Drzewo poszukiwań binarnych z korzeniem v, x - poszukiwana wartość etykiety. Zmienne: w - węzeł. I. Podstawiamy w = v. II. Porównujemy etykietę w i x. Jeśli etykiety są równe: STOP. III. Jeśli etykieta v jest większa od x, to w := lewe dziecko v i przechodzimy do kroku V. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
131 Drzewo poszukiwań binarnych - przeszukiwanie Przeszukiwanie drzewa poszukiwań binarnych jest rekurencyjne: PRZESZUKIWANIE(v,x) Dane: Drzewo poszukiwań binarnych z korzeniem v, x - poszukiwana wartość etykiety. Zmienne: w - węzeł. I. Podstawiamy w = v. II. Porównujemy etykietę w i x. Jeśli etykiety są równe: STOP. III. Jeśli etykieta v jest większa od x, to w := lewe dziecko v i przechodzimy do kroku V. IV. Jeśli etykieta v jest mniejsza od x, to w := prawe dziecko v i przechodzimy do kroku V. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
132 Drzewo poszukiwań binarnych - przeszukiwanie Przeszukiwanie drzewa poszukiwań binarnych jest rekurencyjne: PRZESZUKIWANIE(v,x) Dane: Drzewo poszukiwań binarnych z korzeniem v, x - poszukiwana wartość etykiety. Zmienne: w - węzeł. I. Podstawiamy w = v. II. Porównujemy etykietę w i x. Jeśli etykiety są równe: STOP. III. Jeśli etykieta v jest większa od x, to w := lewe dziecko v i przechodzimy do kroku V. IV. Jeśli etykieta v jest mniejsza od x, to w := prawe dziecko v i przechodzimy do kroku V. V. Wykonujemy PRZESZUKIWANIE(w,x). rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
133 Drzewo poszukiwań binarnych - przeszukiwanie Przeszukiwanie drzewa poszukiwań binarnych jest rekurencyjne: PRZESZUKIWANIE(v,x) Dane: Drzewo poszukiwań binarnych z korzeniem v, x - poszukiwana wartość etykiety. Zmienne: w - węzeł. I. Podstawiamy w = v. II. Porównujemy etykietę w i x. Jeśli etykiety są równe: STOP. III. Jeśli etykieta v jest większa od x, to w := lewe dziecko v i przechodzimy do kroku V. IV. Jeśli etykieta v jest mniejsza od x, to w := prawe dziecko v i przechodzimy do kroku V. V. Wykonujemy PRZESZUKIWANIE(w,x). Rezultat: w to węzeł o etykiecie x. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
134 Przeszukiwanie - przykład Załóżmy, że za pomocą powyższego algorytmu szukamy w bazie opisanej powyższym drzewem etykiety Kowalski. rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
135 Przeszukiwanie - przykład Załóżmy, że za pomocą powyższego algorytmu szukamy w bazie opisanej powyższym drzewem etykiety Kowalski. Wykonujemy wtedy algorytm PRZESZUKIWANIE(Nowak,Kowalski). Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
136 Przeszukiwanie - przykład Nowak Kowalski, więc nie kończymy algorytmu. Grzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
137 Przeszukiwanie - przykład Nowak Kowalski, więc nie kończymy algorytmu. Ponieważ alfabetycznie Kowalski<Nowak, przesuwamy się do lewego dziecka Nowaka, którym jest Kowalczyk rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
138 Przeszukiwanie - przykład Nowak Kowalski, więc nie kończymy algorytmu. Ponieważ alfabetycznie Kowalski<Nowak, przesuwamy się do lewego dziecka Nowaka, którym jest Kowalczyk i odpalamy algorytm PRZESZUKIWANIE(Kowalczyk,Kowalski). rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie zima 2016/ / 46
Matematyka dyskretna - 7.Drzewa
Matematyka dyskretna - 7.Drzewa W tym rozdziale zajmiemy się drzewami: specjalnym przypadkiem grafów. Są one szczególnie przydatne do przechowywania informacji, umożliwiającego szybki dostęp do nich. Definicja
Bardziej szczegółowoGrafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz
Grafy (3): drzewa Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków UTP Bydgoszcz 13 (Wykłady z matematyki dyskretnej) Grafy (3): drzewa 13 1 / 107 Drzewo Definicja. Drzewo to graf acykliczny
Bardziej szczegółowoDrzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew
Drzewa Las - graf, który nie zawiera cykli Drzewo - las spójny Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew Niech T graf o n wierzchołkach będący
Bardziej szczegółowoGraf. Definicja marca / 1
Graf 25 marca 2018 Graf Definicja 1 Graf ogólny to para G = (V, E), gdzie V jest zbiorem wierzchołków (węzłów, punktów grafu), E jest rodziną krawędzi, które mogą być wielokrotne, dokładniej jednoelementowych
Bardziej szczegółowo6. Wstępne pojęcia teorii grafów
6. Wstępne pojęcia teorii grafów Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny w Krakowie) 6. Wstępne pojęcia teorii grafów zima 2016/2017
Bardziej szczegółowo7a. Teoria drzew - kodowanie i dekodowanie
7a. Teoria drzew - kodowanie i dekodowanie Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7a. wteoria Krakowie) drzew - kodowanie i
Bardziej szczegółowo5c. Sieci i przepływy
5c. Sieci i przepływy Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny w Krakowie) 5c. Sieci i przepływy zima 2016/2017 1 / 40 1 Definicje
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład. Prof. dr hab. inż. Jan Magott Algorytmy grafowe: podstawowe pojęcia, reprezentacja grafów, metody przeszukiwania, minimalne drzewa rozpinające, problemy
Bardziej szczegółowoAlgorytmiczna teoria grafów
Przedmiot fakultatywny 20h wykładu + 20h ćwiczeń 21 lutego 2014 Zasady zaliczenia 1 ćwiczenia (ocena): kolokwium, zadania programistyczne (implementacje algorytmów), praca na ćwiczeniach. 2 Wykład (egzamin)
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 03/0 Przeszukiwanie w głąb i wszerz I Przeszukiwanie metodą
Bardziej szczegółowoKURS MATEMATYKA DYSKRETNA
KURS MATEMATYKA DYSKRETNA LEKCJA 28 Grafy hamiltonowskie Odpowiedzi do zadania domowego www.akademia.etrapez.pl Strona 1 Część 1: TEST 1) b 2) a 3) b 4) d 5) c 6) d 7) b 8) b 9) d 10) a Zad. 1 ODPOWIEDZI
Bardziej szczegółowoWykłady z Matematyki Dyskretnej
Wykłady z Matematyki Dyskretnej dla kierunku Informatyka dr Instytut Informatyki Politechnika Krakowska Wykłady na bazie materiałów: dra hab. Andrzeja Karafiata dr hab. Joanny Kołodziej, prof. PK Grafy
Bardziej szczegółowoa) 7 b) 19 c) 21 d) 34
Zadanie 1. Pytania testowe dotyczące podstawowych własności grafów. Zadanie 2. Przy każdym z zadań może się pojawić polecenie krótkiej charakterystyki algorytmu. Zadanie 3. W zadanym grafie sprawdzenie
Bardziej szczegółowoDigraf. 13 maja 2017
Digraf 13 maja 2017 Graf skierowany, digraf, digraf prosty Definicja 1 Digraf prosty G to (V, E), gdzie V jest zbiorem wierzchołków, E jest rodziną zorientowanych krawędzi, między różnymi wierzchołkami,
Bardziej szczegółowoSPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.
SPÓJNOŚĆ Graf jest spójny, gdy dla każdego podziału V na dwa rozłączne podzbiory A i B istnieje krawędź z A do B. Definicja równoważna: Graf jest spójny, gdy każde dwa wierzchołki są połączone ścieżką
Bardziej szczegółowoZofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1
Wykład Algorytmy grafowe metoda zachłanna. Właściwości algorytmu zachłannego:. W przeciwieństwie do metody programowania dynamicznego nie występuje etap dzielenia na mniejsze realizacje z wykorzystaniem
Bardziej szczegółowoDrzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II
Wykład 6. Drzewa cz. II 1 / 65 drzewa spinające Drzewa spinające Zliczanie drzew spinających Drzewo T nazywamy drzewem rozpinającym (spinającym) (lub dendrytem) spójnego grafu G, jeżeli jest podgrafem
Bardziej szczegółowoTeoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska
Teoria grafów dla małolatów Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska Wstęp Matematyka to wiele różnych dyscyplin Bowiem świat jest bardzo skomplikowany wymaga rozważenia
Bardziej szczegółowoInstrukcje dla zawodników
Instrukcje dla zawodników Nie otwieraj arkusza z zadaniami dopóki nie zostaniesz o to poproszony. Instrukcje poniżej zostaną ci odczytane i wyjaśnione. 1. Arkusz składa się z 3 zadań. 2. Każde zadanie
Bardziej szczegółowoWykład 8. Drzewo rozpinające (minimum spanning tree)
Wykład 8 Drzewo rozpinające (minimum spanning tree) 1 Minimalne drzewo rozpinające - przegląd Definicja problemu Własności minimalnych drzew rozpinających Algorytm Kruskala Algorytm Prima Literatura Cormen,
Bardziej szczegółowoKażdy węzeł w drzewie posiada 3 pola: klucz, adres prawego potomka i adres lewego potomka. Pola zawierające adresy mogą być puste.
Drzewa binarne Każdy węzeł w drzewie posiada pola: klucz, adres prawego potomka i adres lewego potomka. Pola zawierające adresy mogą być puste. Uporządkowanie. Zakładamy, że klucze są różne. Klucze leżące
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Twierdzenie 2.1 Niech G będzie grafem prostym
Bardziej szczegółowoMatematyka dyskretna
Matematyka dyskretna Wykład 13: Teoria Grafów Gniewomir Sarbicki Literatura R.J. Wilson Wprowadzenie do teorii grafów Definicja: Grafem (skończonym, nieskierowanym) G nazywamy parę zbiorów (V (G), E(G)),
Bardziej szczegółowoMATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY
ERIAŁY DO WYKŁADU GRAFY Graf nieskierowany Grafem nieskierowanym nazywamy parę G = (V, E), gdzie V jest pewnym zbiorem skończonym (zwanym zbiorem wierzchołków grafu G), natomiast E jest zbiorem nieuporządkowanych
Bardziej szczegółowoTeoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Teoria grafów podstawy Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Grafy zorientowane i niezorientowane Przykład 1 Dwa pociągi i jeden most problem wzajemnego wykluczania się Dwa
Bardziej szczegółowoWYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA
DROGI i CYKLE w grafach Dla grafu (nieskierowanego) G = ( V, E ) drogą z wierzchołka v 0 V do v t V nazywamy ciąg (naprzemienny) wierzchołków i krawędzi grafu: ( v 0, e, v, e,..., v t, e t, v t ), spełniający
Bardziej szczegółowoMinimalne drzewa rozpinające
KNM UŚ 26-28 listopada 2010 Ostrzeżenie Wprowadzenie Motywacja Definicje Niektóre pojęcia pojawiające się podczas tego referatu są naszymi autorskimi tłumaczeniami z języka angielskiego. Nie udało nam
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
LGORTM I STRUKTUR DNH Temat 6: Drzewa ST, VL Wykładowca: dr inż. bigniew TRPT e-mail: bigniew.tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/ Współautorami wykładu
Bardziej szczegółowo6a. Grafy eulerowskie i hamiltonowskie
6a. Grafy eulerowskie i hamiltonowskie Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny6a. w Krakowie) Grafy eulerowskie i hamiltonowskie
Bardziej szczegółowoOgólne wiadomości o grafach
Ogólne wiadomości o grafach Algorytmy i struktury danych Wykład 5. Rok akademicki: / Pojęcie grafu Graf zbiór wierzchołków połączonych za pomocą krawędzi. Podstawowe rodzaje grafów: grafy nieskierowane,
Bardziej szczegółowoElementy teorii grafów Elementy teorii grafów
Spis tresci 1 Spis tresci 1 Często w zagadnieniach praktycznych rozważa się pewien zbiór obiektów wraz z zależnościami jakie łączą te obiekty. Dla przykładu można badać pewną grupę ludzi oraz strukturę
Bardziej szczegółowoZad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA
Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zad. 1 (12p.)Niech n 3k > 0. Zbadać jaka jest najmniejsza możliwa liczba krawędzi w grafie, który ma dokładnie n wierzchołków oraz dokładnie k składowych, z których
Bardziej szczegółowoWYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA
DRZEWA i LASY Drzewem nazywamy graf spójny nie zawierający cykli elementarnych. Lasem nazywamy graf nie zawierający cykli elementarnych. Przykłady drzew i lasów takie krawędzie są wykluczone drzewo las
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Sieci powiązań Paweł Daniluk Wydział Fizyki Jesień 2015 P. Daniluk (Wydział Fizyki) PO w. IX Jesień 2015 1 / 21 Sieci powiązań Można (bardzo zgrubnie) wyróżnić dwa rodzaje powiązań
Bardziej szczegółowoIndukowane Reguły Decyzyjne I. Wykład 3
Indukowane Reguły Decyzyjne I Wykład 3 IRD Wykład 3 Plan Powtórka Grafy Drzewa klasyfikacyjne Testy wstęp Klasyfikacja obiektów z wykorzystaniem drzewa Reguły decyzyjne generowane przez drzewo 2 Powtórzenie
Bardziej szczegółowoSuma dwóch grafów. Zespolenie dwóch grafów
Suma dwóch grafów G 1 = ((G 1 ), E(G 1 )) G 2 = ((G 2 ), E(G 2 )) (G 1 ) i (G 2 ) rozłączne Suma G 1 G 2 graf ze zbiorem wierzchołków (G 1 ) (G 2 ) i rodziną krawędzi E(G 1 ) E(G 2 ) G 1 G 2 G 1 G 2 Zespolenie
Bardziej szczegółowoAlgorytm Dijkstry znajdowania najkrótszej ścieżki w grafie
Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie Używane struktury danych: V - zbiór wierzchołków grafu, V = {1,2,3...,n} E - zbiór krawędzi grafu, E = {(i,j),...}, gdzie i, j Î V i istnieje
Bardziej szczegółowoAlgorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne
Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa
Bardziej szczegółowoE: Rekonstrukcja ewolucji. Algorytmy filogenetyczne
E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne Przypominajka: 152 drzewo filogenetyczne to drzewo, którego liśćmi są istniejące gatunki, a węzły wewnętrzne mają stopień większy niż jeden i reprezentują
Bardziej szczegółowoPodstawowe pojęcia dotyczące drzew Podstawowe pojęcia dotyczące grafów Przykłady drzew i grafów
Podstawowe pojęcia dotyczące drzew Podstawowe pojęcia dotyczące grafów Przykłady drzew i grafów Drzewa: Drzewo (ang. tree) jest strukturą danych zbudowaną z elementów, które nazywamy węzłami (ang. node).
Bardziej szczegółowoPrzykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.
Grafy Graf Graf (ang. graph) to zbiór wierzchołków (ang. vertices), które mogą być połączone krawędziami (ang. edges) w taki sposób, że każda krawędź kończy się i zaczyna w którymś z wierzchołków. Graf
Bardziej szczegółowo(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x
2. Wykład 2: algebry Boole a, kraty i drzewa. 2.1. Algebra Boole a. 1 Ważnym dla nas przykładem algebr są algebry Boole a, czyli algebry B = (B,,,, 0, 1) typu (2, 2, 1, 0, 0) spełniające własności: (1)
Bardziej szczegółowoMatematyka dyskretna - 8. Egzaminy próbne. Uwaga! Niektórych z tych zadań nie obejmuje program dla studiów zaocznych - proszę się tym nie niepokoić -
Matematyka dyskretna - 8. Egzaminy próbne. Uwaga! Niektórych z tych zadań nie obejmuje program dla studiów zaocznych - proszę się tym nie niepokoić - takie zadania pojawią się tylko na egzaminach dla studentów
Bardziej szczegółowoEgzamin, AISDI, I termin, 18 czerwca 2015 r.
Egzamin, AISDI, I termin, 18 czerwca 2015 r. 1 W czasie niezależnym do danych wejściowych działają algorytmy A. sortowanie bąbelkowego i Shella B. sortowanie szybkiego i przez prosty wybór C. przez podział
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Sieci powiązań Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) PO w. IX Jesień 2014 1 / 24 Sieci powiązań Można (bardzo zgrubnie) wyróżnić dwa rodzaje powiązań
Bardziej szczegółowoWSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk Drzewa i struktury drzewiaste www.agh.edu.pl DEFINICJA DRZEWA Drzewo
Bardziej szczegółowoAlgebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i
Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i A (symbol F i oznacza ilość argumentów funkcji F i ). W rozważanych przez nas algebrach
Bardziej szczegółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 6a Model danych oparty na drzewach 1 Model danych oparty na drzewach Istnieje wiele sytuacji w których przetwarzane informacje mają strukturę hierarchiczną lub zagnieżdżoną,
Bardziej szczegółowoCzy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?
DROGI i CYKLE EULERA w grafach Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz? Czy można narysować podaną figurę nie odrywając ołówka od papieru
Bardziej szczegółowooperacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.
Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie
Bardziej szczegółowoKURS MATEMATYKA DYSKRETNA
KURS MATEMATYKA DYSKRETNA LEKCJA 28 Grafy hamiltonowskie ZADANIE DOMOWE www.akademia.etrapez.pl Strona 1 Część 1: TEST Zaznacz poprawną odpowiedź (tylko jedna jest prawdziwa). Pytanie 1 Drogę nazywamy
Bardziej szczegółowoLista 4. Kamil Matuszewski 22 marca 2016
Lista 4 Kamil Matuszewski 22 marca 2016 1 2 3 4 5 6 7 8 9 10 Zadanie 2 Ułóż algorytm który dla danego n-wierzchołkowego drzewa i liczby k pokoloruje jak najwięcej wierzchołków tak, by na każdej ścieżce
Bardziej szczegółowoAlgorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV
Algorytmy grafowe Wykład 2 Przeszukiwanie grafów Tomasz Tyksiński CDV Rozkład materiału 1. Podstawowe pojęcia teorii grafów, reprezentacje komputerowe grafów 2. Przeszukiwanie grafów 3. Spójność grafu,
Bardziej szczegółowoMATEMATYKA DYSKRETNA - KOLOKWIUM 2
1 MATEMATYKA DYSKRETNA - KOLOKWIUM 2 GRUPA A RACHUNKI+KRÓTKIE WYJAŚNIENIA! NA TEJ KARTCE! KAŻDA DODATKOWA KARTKA TO MINUS 1 PUNKT! Imię i nazwisko...... Nr indeksu... 1. (3p.) Znajdź drzewo o kodzie Prufera
Bardziej szczegółowoPodstawowe własności grafów. Wykład 3. Własności grafów
Wykład 3. Własności grafów 1 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2). 2 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2).
Bardziej szczegółowoWykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy
Wykład 3 Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Dynamiczne struktury danych Lista jest to liniowo uporządkowany zbiór elementów, z których dowolny element
Bardziej szczegółowoMatematyka dyskretna. Andrzej Łachwa, UJ, B/14
Matematyka dyskretna Andrzej Łachwa, UJ, 2019 andrzej.lachwa@uj.edu.pl 1B/14 Drogi w grafach Marszruta (trasa) w grafie G z wierzchołka w do wierzchołka u to skończony ciąg krawędzi w postaci. W skrócie
Bardziej szczegółowoSegmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda
Segmentacja obrazów cyfrowych Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp autor: Łukasz Chlebda 1 Segmentacja obrazów cyfrowych - temat pracy Temat pracy: Aplikacja do segmentacji
Bardziej szczegółowoGrafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:
Wykład 4 grafy Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, E zbiór krawędzi, Grafy dzielimy na grafy skierowane i nieskierowane: Formalnie, w grafach skierowanych E jest podzbiorem
Bardziej szczegółowoŁyżwy - omówienie zadania
Komisja Regulaminowa XVI Olimpiady Informatycznej 1 UMK Toruń 12 luty 2009 1 Niniejsza prezentacja zawiera materiały dostarczone przez Komitet Główny Olimpiady Informatycznej. Treść zadania Wejście Wyjście
Bardziej szczegółowoProgramowanie sieciowe. Tadeusz Trzaskalik
Programowanie Tadeusz Trzaskalik 8.1. Wprowadzenie Słowa kluczowe Drzewo rozpinające Minimalne drzewo rozpinające Najkrótsza droga w sieci Wierzchołek początkowy Maksymalny przepływ w sieci Źródło Ujście
Bardziej szczegółowoAlgorytmiczna teoria grafów
Podstawowe pojęcia i klasy grafów Wykład 1 Grafy nieskierowane Definicja Graf nieskierowany (graf) G = (V,E) jest to uporządkowana para składająca się z niepustego skończonego zbioru wierzchołków V oraz
Bardziej szczegółowoTadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski
: idea Indeksowanie: Drzewo decyzyjne, przeszukiwania binarnego: F = {5, 7, 10, 12, 13, 15, 17, 30, 34, 35, 37, 40, 45, 50, 60} 30 12 40 7 15 35 50 Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski
Bardziej szczegółowoOpracowanie prof. J. Domsta 1
Opracowanie prof. J. Domsta 1 Algorytm FLEURY'ego: Twierdzenie 6.5 G-graf eulerowski. Wtedy cykl Eulera otrzymujemy nastepująco: a) Start w dowolnym wierzchołku b) Krawędzie w dowolnej kolejności po przebyciu
Bardziej szczegółowoPodstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.
ZAMIANA LICZB MIĘDZY SYSTEMAMI DWÓJKOWYM I DZIESIĘTNYM Aby zamienić liczbę z systemu dwójkowego (binarnego) na dziesiętny (decymalny) należy najpierw przypomnieć sobie jak są tworzone liczby w ww systemach
Bardziej szczegółowoWstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel
Wstęp do programowania Drzewa Piotr Chrząstowski-Wachtel Drzewa Drzewa definiują matematycy, jako spójne nieskierowane grafy bez cykli. Równoważne określenia: Spójne grafy o n wierzchołkach i n-1 krawędziach
Bardziej szczegółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 6b: Model danych oparty na drzewach http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Model danych oparty na drzewach
Bardziej szczegółowoAlgorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV
Algorytmy grafowe Wykład 1 Podstawy teorii grafów Reprezentacje grafów Tomasz Tyksiński CDV Rozkład materiału 1. Podstawowe pojęcia teorii grafów, reprezentacje komputerowe grafów 2. Przeszukiwanie grafów
Bardziej szczegółowoPodstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują
Bardziej szczegółowoZłożoność obliczeniowa klasycznych problemów grafowych
Złożoność obliczeniowa klasycznych problemów grafowych Oznaczenia: G graf, V liczba wierzchołków, E liczba krawędzi 1. Spójność grafu Graf jest spójny jeżeli istnieje ścieżka łącząca każdą parę jego wierzchołków.
Bardziej szczegółowoAlgorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek
Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących
Bardziej szczegółowoProgramowanie dynamiczne i algorytmy zachłanne
Programowanie dynamiczne i algorytmy zachłanne Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii
Bardziej szczegółowoKolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie
Wykład 8. Kolorowanie 1 / 62 Kolorowanie wierzchołków - definicja Zbiory niezależne Niech G będzie grafem bez pętli. Definicja Mówimy, że G jest grafem k kolorowalnym, jeśli każdemu wierzchołkowi możemy
Bardziej szczegółowoSortowanie topologiczne skierowanych grafów acyklicznych
Sortowanie topologiczne skierowanych grafów acyklicznych Metody boolowskie w informatyce Robert Sulkowski http://robert.brainusers.net 23 stycznia 2010 1 Definicja 1 (Cykl skierowany). Niech C = (V, A)
Bardziej szczegółowoPodejście zachłanne, a programowanie dynamiczne
Podejście zachłanne, a programowanie dynamiczne Algorytm zachłanny pobiera po kolei elementy danych, za każdym razem wybierając taki, który wydaje się najlepszy w zakresie spełniania pewnych kryteriów
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca
Bardziej szczegółowoKODY SYMBOLI. Kod Shannona-Fano. Algorytm S-F. Przykład S-F
KODY SYMBOLI Kod Shannona-Fano KODOWANIE DANYCH, A.Przelaskowski Metoda S-F Kod Huffmana Adaptacyjne drzewo Huffmana Problemy implementacji Kod Golomba Podsumowanie Kod drzewa binarnego Na wejściu rozkład:
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Informacje podstawowe 1. Konsultacje: pokój
Bardziej szczegółowoMatematyka dyskretna - 5.Grafy.
Matematyka dyskretna - 5.Grafy. W tym rozdziale zajmiemy się grafami. Są to wykresy zawierające rozmaite informacje, przedstawiające połączenia pomiędzy różnymi swoimi elementami. Algorytmy na nich oparte
Bardziej szczegółowoPrzypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru.
Spis treści 1 Drzewa 1.1 Drzewa binarne 1.1.1 Zadanie 1.1.2 Drzewo BST (Binary Search Tree) 1.1.2.1 Zadanie 1 1.1.2.2 Zadanie 2 1.1.2.3 Zadanie 3 1.1.2.4 Usuwanie węzła w drzewie BST 1.1.2.5 Zadanie 4
Bardziej szczegółowoAlgorytmy Równoległe i Rozproszone Część V - Model PRAM II
Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/ kuszner/arir/ 2005/06
Bardziej szczegółowoMODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem
MODELE SIECIOWE 1. Drzewo rozpinające (spanning tree) w grafie liczącym n wierzchołków to zbiór n-1 jego krawędzi takich, że dowolne dwa wierzchołki grafu można połączyć za pomocą krawędzi należących do
Bardziej szczegółowoWprowadzenie do maszyny Turinga
Wprowadzenie do maszyny Turinga Deterministyczna Maszyna Turinga (DTM) jest pewną klasą abstrakcyjnych modeli obliczeń. W tej instrukcji omówimy konkretną maszynę Turinga, którą będziemy zajmować się podczas
Bardziej szczegółowoStruktury Danych i Złożoność Obliczeniowa
Struktury Danych i Złożoność Obliczeniowa Zajęcia 3 Struktury drzewiaste drzewo binarne szczególny przypadek drzewa, które jest szczególnym przypadkiem grafu skierowanego, stopień każdego wierzchołka jest
Bardziej szczegółowoTEORIA GRAFÓW I SIECI
TEORIA GRAFÓW I SIECI Temat nr 3: Marszruty, łańcuchy, drogi w grafach dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl tel.: 261-83-95-04, p.225/100
Bardziej szczegółowoDziałanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).
Algorytm A* Opracowanie: Joanna Raczyńska 1.Wstęp Algorytm A* jest heurystycznym algorytmem służącym do znajdowania najkrótszej ścieżki w grafie. Jest to algorytm zupełny i optymalny, co oznacza, że zawsze
Bardziej szczegółowoDrzewa rozpinajace, zbiory rozłaczne, czas zamortyzowany
, 1 2 3, czas zamortyzowany zajęcia 3. Wojciech Śmietanka, Tomasz Kulczyński, Błażej Osiński rozpinajace, 1 2 3 rozpinajace Mamy graf nieskierowany, ważony, wagi większe od 0. Chcemy wybrać taki podzbiór
Bardziej szczegółowoMetody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2
Metody teorii gier ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Metody teorii gier Cel: Wyprowadzenie oszacowania dolnego na oczekiwany czas działania dowolnego algorytmu losowego dla danego problemu.
Bardziej szczegółowoWysokość drzewa Głębokość węzła
Drzewa Drzewa Drzewo (ang. tree) zbiór węzłów powiązanych wskaźnikami, spójny i bez cykli. Drzewo posiada wyróżniony węzeł początkowy nazywany korzeniem (ang. root). Drzewo ukorzenione jest strukturą hierarchiczną.
Bardziej szczegółowoMatematyka dyskretna. Andrzej Łachwa, UJ, /15
Matematyka dyskretna Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl 14/15 Grafy podstawowe definicje Graf to para G=(V, E), gdzie V to niepusty i skończony zbiór, którego elementy nazywamy wierzchołkami
Bardziej szczegółowoAlgorytmy i Struktury Danych
Algorytmy i Struktury Danych Kopce Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych Wykład 11 1 / 69 Plan wykładu
Bardziej szczegółowoWykład 2. Drzewa zbalansowane AVL i 2-3-4
Wykład Drzewa zbalansowane AVL i -3-4 Drzewa AVL Wprowadzenie Drzewa AVL Definicja drzewa AVL Operacje wstawiania i usuwania Złożoność obliczeniowa Drzewa -3-4 Definicja drzewa -3-4 Operacje wstawiania
Bardziej szczegółowoRekurencja. Przykład. Rozważmy ciąg
Rekurencja Definicje rekurencyjne Definicja: Mówimy, iż ciąg jest zdefiniowany rekurencyjnie, jeżeli: (P) Określony jest pewien skończony zbiór wyrazów tego ciągu, zwykle jest to pierwszy wyraz tego ciągu
Bardziej szczegółowoZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.
POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 204/205 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 2 : Drzewa BST c.d., równoważenie
Bardziej szczegółowoPorządek symetryczny: right(x)
Porządek symetryczny: x lef t(x) right(x) Własność drzewa BST: W drzewach BST mamy porządek symetryczny. Dla każdego węzła x spełniony jest warunek: jeżeli węzeł y leży w lewym poddrzewie x, to key(y)
Bardziej szczegółowoDynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)
Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013
Bardziej szczegółowo1 Automaty niedeterministyczne
Szymon Toruńczyk 1 Automaty niedeterministyczne Automat niedeterministyczny A jest wyznaczony przez następujące składniki: Alfabet skończony A Zbiór stanów Q Zbiór stanów początkowych Q I Zbiór stanów
Bardziej szczegółowoSortowanie - wybrane algorytmy
Sortowanie - wybrane algorytmy Aleksandra Wilkowska Wydział Matematyki - Katedra Matematyki Stosowanej Politechika Wrocławska 2 maja 2018 1 / 39 Plan prezentacji Złożoność obliczeniowa Sortowanie bąbelkowe
Bardziej szczegółowo