Grafy. Andrzej Jastrz bski. Akademia ET I. Politechnika Gda«ska
|
|
- Edward Julian Turek
- 5 lat temu
- Przeglądów:
Transkrypt
1 Andrzej Jastrz bski Akademia ET I
2 Graf Grafem nazywamy par G = (V, E), gdzie V to zbiór wierzchoªków, E zbiór kraw dzi taki,»e E {{u, v} : u, v V u v}. Wierzchoªki v, u V s s siaduj ce je±li s poª czone kraw dzi ( e E {v, u} = e). Wierzchoªek v V jest incydentny do kraw dzi e E je±li v jest jednym z ko«ców e (v e). Kraw dzie e, f E s s siaduj ce je±li s incydentne do tego samego wierzchoªka ( v V v e u f ). mo»na reprezentowa na pªaszczy¹nie jako kropki (wierzchoªki) i linie pomi dzy kropkami (kraw dzie).
3 Reprezentacja grafu S dwie podstawowe metody reprezentacji grafu: macierz s siedztwa listy s siedztwa Modykacj list s siedztwa jest reprezentacja przez p ki wyj±ciowe.
4 reprezentacja graczna listy s siedztwa p ki wyj±ciowe macierz s siedztwa ?
5 Macierz s siedztwa Macierz s siedztwa, to macierz kwadratowa o rozmiarze V V wypeªniona liczbami 0 i 1. Ponumerujmy wierzchoªki od 1 do V. W i-tej kolumnie i j-tym wierszu jest liczba 1 wtedy i tylko wtedy, gdy wierzchoªek i-ty jest s siedni z wierzchoªkiem j-tym.
6 Przykªady We wszystkich przykªadach b dziemy zakªadali,»e graf do programu jest w podany ni»ej sposób. Najpierw podane s dwie liczby n liczba wierzchoªków i m liczba kraw dzi. Nast pnie podanych jest m par liczb opisuj cych s siednie wierzchoªki. Wierzchoªki liczymy od
7 Czytanie grafu - macierz s siedztwa int main() { int **G; int n, m, v, u; cin >> n >> m; G = new int*[n]; //tworzenie dwuwymiarowej tablicy for(int i=0; i<n; i++) { G[i] = new int[n]; for(int j=0; j<n; j++) G[i][j] = 0; } for(int i=0; i<m; i++) { cin >> v >> u; //czytanie s siadów G[u][v] = G[v][u] = 1; }. //dowolny algorytm for(int i=0; i<n; i++) delete [] G[i]; //kasowanie delete [] G; return 0; }
8 Czytanie grafu - macierz s siedztwa w STLu int main() { vector< vector<int> > G; int n, m, v, u; cin >> n >> m; G.resize(n); //tworzenie dwuwymiarowej tablicy for(int i=0; i<n; i++) { G[i].resize(n); for(int j=0; j<n; j++) G[i][j] = 0; } for(int i=0; i<m; i++) { cin >> v >> u; //czytanie s siadów G[u][v] = G[v][u] = 1; }. //dowolny algorytm //kasowanie odbywa si automatycznie return 0; }
9 Czytanie grafu - listy s siedztwa struct Node { int v; Node *next; }; int main() { Node **G, *tmp; int n, m, v, u; cin >> n >> m; G = new Node*[n]; //tworzenie punktu wej±cia do list for(int i=0; i<n; i++) G[i] = NULL; //zerowanie for(int i=0; i<m; i++) { cin >> u >> v; tmp = new Node; //tworzenie s siada wierzchoªka v tmp->v = u; tmp->next = G[v]; G[v] = tmp; tmp = new Node; //tworzenie s siada wierzchoªka u tmp->v = v; tmp->next = G[u]; G[u] = tmp; }. //dowolny algorytm
10 Czytanie grafu - listy s siedztwa cd. }. for(int i=0; i<n; i++) {//kasowanie list Node *del = G[i]; while(del!=null) { tmp = del->next; delete del; del = tmp; } } delete [] G;
11 Czytanie grafu - listy s siedztwa w STLu int main() { vector< list<int> > G; int n, m, v, u; cin >> n >> m; G.resize(n); //tworzenie punktu wej±cia do list for(int i=0; i<m; i++) { cin >> u >> v; G[u].push_back(v); G[v].push_back(u); }. //dowolny algorytm //kasowanie odbywa si automatycznie return 0;
12 Odwiedzanie wierzchoªków Ni»ej przedstawione zostan dwa algorytmy odwiedzania wierzchoªków: BFS przeszukiwanie wszerz DFS przeszukiwanie w gª b
13 BFS void BFS(graf G, wierzcholek v) { char odwiedzone[ V(G) ]; //zerowanie S kolejka FIFO S.push(v) odwiedzone[v]=1; while(! S.empty() ) { foreach u in G.neigh(v) { if( odwiedzone[u]==0 ) { odwiedzone[u]=1; S.push(u); } } } }
14 S
15 S 3
16 S
17 S,, 2
18 S,, 2
19 S, 2
20 S, 2,
21 S, 2,
22 S 2,
23 S 2,,
24 S 2,,
25 S,
26 S,, 1
27 S,, 1
28 S, 1
29 S, 1,
30 S, 1,
31 S 1,
32 S 1,
33 S 1,
34 S
35 S
36 S
37 S
38 S
39 S
40 DFS void DFSViz(graf G, wierzcholek v, char odw[]) { odw[v] = 1; foreach u in G.neigh(v) { if( odw[u]==0 ) DFSViz(G, u, odw); } } void DFS(graf G, wierzcholek v) { char odwiedzone[ V(G) ]; DFS(G, v, odwiedzone); }
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81 Znajdowanie najkrótszej ±cie»ki Mamy dany graf z dodatnimi wagami na kraw dziach oraz dwa wierzchoªki z tego grafu. W jaki sposób wyszuka najkrótsz drog pomi dzy tymi wierzchoªkami?
82 Algorytm Dijkstry int sciezka(graf G, wierz v1, wierz v2) { int odl[ V(G) ]; S- kolejka priorytetowa; foreach v in G odl[v] = ; odl[v1]=0; S.push(V(G)); while(! S.empty() ) { v = S.pop(); //element o najmniejszej wadze foreach u in G.neigh(v) { if( odl[u]>odl[v]+g.weight(u,v) ) odl[u] = odl[v]+g.weight(u,v); } } return odl[v2]; }
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Algorytmy grafowe 2. Andrzej Jastrz bski. Akademia ETI. Politechnika Gda«ska Algorytmy grafowe 2
Algorytmy grafowe 2 Andrzej Jastrz bski Akademia ETI Minimalne drzewo spinaj ce Drzewem nazywamy spójny graf nie posiadaj cy cyklu. Liczba wierzchoªków drzewa jest o jeden wi ksza od liczby jego kraw dzi.
Bardziej szczegółowoPodstawowe algorytmy grafowe i ich zastosowania
Podstawowe algorytmy grafowe i ich zastosowania Autor projektu: dr Andrzej Mróz (UMK) Projekt pn. Wzmocnienie potencjaªu dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych realizowany
Bardziej szczegółowoPodstawowe algorytmy grafowe i ich zastosowania
Podstawowe algorytmy grafowe i ich zastosowania dr Andrzej Mróz (UMK w Toruniu) 2013 Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego Projekt pn. Wzmocnienie
Bardziej szczegółowoAlgorytmy tekstowe. Andrzej Jastrz bski. Akademia ETI
Andrzej Jastrz bski Akademia ETI Wyszukiwanie wzorca Wyszukiwaniem wzorca nazywamy sprawdzenie, czy w podanym tekscie T znajduje si podci g P. Szukamy sªowa kot: Ala ma kota, kot ma ale. Algorytm naiwny
Bardziej szczegółowoTeoria grafów i jej zastosowania. 1 / 126
Teoria grafów i jej zastosowania. 1 / 126 Mosty królewieckie W Królewcu, na rzece Pregole znajduj si dwie wyspy poª czone ze sob, a tak»e z brzegami za pomoc siedmiu mostów, tak jak pokazuje rysunek 2
Bardziej szczegółowoNajkrótsze drogi w grafach z wagami
Najkrótsze drogi w grafach z wagami Autor projektu: dr Andrzej Mróz (UMK) Projekt pn. Wzmocnienie potencjaªu dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych realizowany w ramach Poddziaªania
Bardziej szczegółowoc Marcin Sydow Wst p Grafy i Zastosowania Wierzchoªki 8: Kolorowanie Grafów Mapy Kraw dzie Zliczanie Podsumowanie
8: Kolorowanie Grafów Spis zagadnie«kolorowanie wierzchoªków Kolorowanie map Kolorowanie kraw dzi Wielomian chromatyczny Zastosowania Problem kolorowania grafów ma wiele odmian (np. kolorowanie wierzchoªków,
Bardziej szczegółowoc Marcin Sydow Spójno± Grafy i Zastosowania Grafy Eulerowskie 2: Drogi i Cykle Grafy Hamiltonowskie Podsumowanie
2: Drogi i Cykle Spis Zagadnie«drogi i cykle spójno± w tym sªaba i silna k-spójno± (wierzchoªkowa i kraw dziowa) dekompozycja grafu na bloki odlegªo±ci w grae i poj cia pochodne grafy Eulera i Hamiltona
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ółowoZadania z kolokwiów ze Wst pu do Informatyki. Semestr II.
Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II. Poni»sze zadania s wyborem zada«z kolokwiów ze Wst pu do Informatyki jakie przeprowadziªem w ci gu ostatnich lat. Marek Zawadowski Zadanie 1 Napisz
Bardziej szczegółowoWykład 10 Grafy, algorytmy grafowe
. Typy złożoności obliczeniowej Wykład Grafy, algorytmy grafowe Typ złożoności oznaczenie n Jedna operacja trwa µs 5 logarytmiczna lgn. s. s.7 s liniowa n. s.5 s. s Logarytmicznoliniowa nlgn. s.8 s.4 s
Bardziej szczegółowo10a: Wprowadzenie do grafów
10a: Wprowadzenie do grafów Spis zagadnie«zastosowania grafów denicja grafu (i skierowanego), prostego, multigrafu drogi i cykle, spójno± w tym sªaba i silna drzewo i las: denicja, charakteryzacje, wªasno±ci
Bardziej szczegółowoMosty królewieckie, chi«ski listonosz i... kojarzenie maª»e«stw
Mosty królewieckie, chi«ski listonosz i... kojarzenie maª»e«stw 3 kwietnia 2014 roku 1 / 106 Mosty królewieckie W Królewcu, na rzece Pregole znajduj si dwie wyspy poª czone ze sob, a tak»e z brzegami za
Bardziej szczegółowoZad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA. W obu podpunktach zakªadamy,»e kolejno± ta«ców jest wa»na.
Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zadanko 1 (12p.) Na imprezie w Noc Kupaªy s 44 dziewczyny. Nosz one 11 ró»nych imion, a dla ka»dego imienia s dokªadnie 4 dziewczyny o tym imieniu przy czym ka»da
Bardziej szczegółowoMinimalne drzewa rozpinaj ce
y i y i drzewa Spis zagadnie«y i drzewa i lasy cykle fundamentalne i rozci cia fundamentalne wªasno±ci cykli i rozci minimalne drzewa algorytm algorytm Drzewo y i spójnego, nieskierowanego grafu prostego
Bardziej szczegółowoNajkrótsze drogi w grafach z wagami
Najkrótsze drogi w grafach z wagami dr Andrzej Mróz (UMK w Toruniu) 013 Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego Projekt pn. Wzmocnienie potencjaªu
Bardziej szczegółowo12: Znajdowanie najkrótszych ±cie»ek w grafach
12: Znajdowanie najkrótszych ±cie»ek w grafach Spis zagadnie«problem najkrótszych ±cie»ek z jednym ¹ródªem Rozwi zanie sznurkowe kraw dzi Wariant 1: Wariant 2: nieujemne kraw dzie (Dijkstra) Wariant 3:
Bardziej szczegółowoGrafy i Zastosowania. 1: Wprowadzenie i poj cia podstawowe. c Marcin Sydow. Wprowadzenie. Podstawowe poj cia. Operacje na grafach.
1: i podstawowe Spis Zagadnie«zastosowania grafów denicja grafu (i skierowanego), prostego, multigrafu s siedztwo i incydencja izomorzm grafów stopnie wierzchoªków (w tym wej±ciowy i wyj±ciowy), lemat
Bardziej szczegółowoTeoria grafów i sieci 1 / 58
Teoria grafów i sieci 1 / 58 Literatura 1 B.Korte, J.Vygen, Combinatorial optimization 2 D.Jungnickel, Graphs, Networks and Algorithms 3 M.Sysªo, N.Deo Metody optymalizacji dyskretnej z przykªadami w Turbo
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ółowoPorównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki
Porównanie algorytmów wyszukiwania najkrótszych ścieżek między wierzchołkami grafu. Instytut Informatyki 22 listopada 2015 Algorytm DFS w głąb Algorytm przejścia/przeszukiwania w głąb (ang. Depth First
Bardziej szczegółowoPodziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie
Cz ± II Podziaª pracy 1 Tablica sortuj ca Kolejka priorytetowa to struktura danych udost pniaj ca operacje wstawienia warto±ci i pobrania warto±ci minimalnej. Z kolejki liczb caªkowitych, za po±rednictwem
Bardziej szczegółowoc Marcin Sydow Przepªywy Grafy i Zastosowania Podsumowanie 12: Przepªywy w sieciach
12: w sieciach Spis zagadnie«sieci przepªywowe przepªywy w sieciach ±cie»ka powi kszaj ca tw. Forda-Fulkersona Znajdowanie maksymalnego przepªywu Zastosowania przepªywów Sieci przepªywowe Sie przepªywowa
Bardziej szczegółowoProgramowanie i struktury danych
Programowanie i struktury danych 1 / 19 Dynamiczne struktury danych Dynamiczną strukturą danych nazywamy taka strukturę danych, której rozmiar, a więc liczba przechowywanych w niej danych, może się dowolnie
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ół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ółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Grafy dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 8 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 8 1 / 42
Bardziej szczegółowoStereometria (geometria przestrzenna)
Stereometria (geometria przestrzenna) Wzajemne poªo»enie prostych w przestrzeni Stereometria jest dziaªem geometrii, którego przedmiotem bada«s bryªy przestrzenne oraz ich wªa±ciwo±ci. Na pocz tek omówimy
Bardziej szczegółowoWykªad 1. Wprowadzenie do teorii grafów
Wykªad 1. Wprowadzenie do teorii grafów 1 / 112 Literatura 1 W. Lipski; Kombinatoryka dla programistów. 2 T. Cormen, Ch. E. Leiserson, R. L. Rivest; Wprowadzenie do algorytmów. 3 K. A. Ross, Ch. R. B.
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ółowoRekurencyjne struktury danych
Andrzej Jastrz bski Akademia ETI Dynamiczny przydziaª pami ci Pami, która jest przydzielana na pocz tku dziaªania procesu to: pami programu czyli instrukcje programu pami statyczna zwi zana ze zmiennymi
Bardziej szczegółowoDrzewa Gomory-Hu Wprowadzenie. Drzewa Gomory-Hu. Jakub Š cki. 14 pa¹dziernika 2009
Wprowadzenie Drzewa Gomory-Hu Jakub Š cki 14 pa¹dziernika 2009 Wprowadzenie 1 Wprowadzenie Podstawowe poj cia i fakty 2 Istnienie drzew Gomory-Hu 3 Algorytm budowy drzew 4 Problemy otwarte Wprowadzenie
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Grafy Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 7 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 7 1 / 43 Grafy -
Bardziej szczegółowoBiedronka. Wej±cie. Wyj±cie. Przykªady. VI OIG Zawody dru»ynowe, Finaª. 19 V 2012 Dost pna pami : 64 MB.
Biedronka Pªot ma D cm dªugo±ci i zbudowany jest z desek zako«czonych trójk tami równoramiennymi, poª czonych ze sob w jedn caªo±. Dªugo± ramienia ka»dego z trójk tów stanowi P % dªugo±ci podstawy. Po
Bardziej szczegółowoc Marcin Sydow Grafy i Zastosowania BFS DFS 4: Przeszukiwanie Grafów (BFS, DFS i zastosowania) DFS nieskierowane DFS skierowane Podsumowanie
4: Przeszukiwanie Grafów (, i zastosowania) Spis zagadnie«przeszukiwanie grafów (rola, schemat ogólny, zastosowania) realizacje (kolejka, stos, rekurencja) przeszukiwanie wszerz zastosowania przeszukiwanie
Bardziej szczegółowoRelacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.
Relacje 1 Relacj n-argumentow nazywamy podzbiór ϱ X 1 X 2... X n. Je±li ϱ X Y jest relacj dwuargumentow (binarn ), to zamiast (x, y) ϱ piszemy xϱy. Relacj binarn okre±lon w zbiorze X nazywamy podzbiór
Bardziej szczegółowoJęzyki programowania, wtorek , 12:15-13:45 Zadanie 11 - ostatnie
Języki programowania, wtorek 10.01.2017, 12:15-13:45 Zadanie 11 - ostatnie Dzisiaj wykorzystamy kolejną bardzo ważną rzecz języka C++ - szablony funkcji i szablony klas. Wstęp co to są klasy i funkcje
Bardziej szczegółowoWskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady
Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to
Bardziej szczegółowoDla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce.
Przygotować program tworzący tablicę dwuwymiarową zawierającą zestawy 10 2, 10 4, 10 6 liczb losowych zmiennoprzecinkowych. Korzystając z funkcji bibliotecznych uporządkować zawartość każdego (a) wiersza
Bardziej szczegółowoGrafy i Zastosowania. 9: Digrafy (grafy skierowane) c Marcin Sydow. Digrafy. Porz dki cz ±ciowe * Euler i Hamilton. Turnieje
9: (grafy skierowane) Spis zagadnie«cz ±ciowe Przykªady: gªosowanie wi kszo±ciowe, Digraf (graf skierowany) Digraf to równowa»ny termin z terminem graf skierowany (od ang. directed graph). W grafach skierowanych
Bardziej szczegółowoc Marcin Sydow Planarno± Grafy i Zastosowania Tw. Eulera 7: Planarno± Inne powierzchnie Dualno± Podsumowanie
7: Spis zagadnie«twierdzenie Kuratowskiego Wªasno±ci planarno±ci Twierdzenie Eulera Grafy na innych powierzchniach Poj cie dualno±ci geometrycznej i abstrakcyjnej Graf Planarny Graf planarny to taki graf,
Bardziej szczegółowoProgramowanie obiektowe W3
Programowanie obiektowe W3 Przegląd typów strukturalnych w C++ : tablice statyczne i dynamiczne Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki Typy złożone: tablice
Bardziej szczegółowoTemat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe.
Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe. Oznaczenia G = V, E - graf bez wag, gdzie V - zbiór wierzchołków, E- zbiór krawdzi V = n - liczba wierzchołków grafu G E = m
Bardziej szczegółowoMACIERZE. Sobiesiak Łukasz Wilczyńska Małgorzata
MACIERZE Sobiesiak Łukasz Wilczyńska Małgorzata Podstawowe pojęcia dotyczące macierzy Nie bez przyczyny zaczynamy od pojęcia macierzy, które jest niezwykle przydatne we wszystkich zastosowaniach, obliczeniach
Bardziej szczegółowotablica: dane_liczbowe
TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica
Bardziej szczegółowoTEORIA GRAFÓW. Graf skierowany dla ka»dej kraw dzi (oznaczanej tutaj jako ªuk) para wierzchoªków incydentnych jest par uporz dkowan {u, v}.
Podstawowe denicje: TEORIA GRAFÓW Graf (nieskierowany) G = (V, E) struktura skªadaj ca si ze: zbioru wierzchoªków V = {,,..., v n } oraz zbioru kraw dzi E = {e 1, e 2,..., e m }. Z ka»d kraw dzi e skojarzona
Bardziej szczegółowoAlgorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 1,2,3. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie
Algorytmy Grafowe dr hab. Bożena Woźna-Szcześniak, prof. UJD Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie b.wozna@ujd.edu.pl Wykład 1,2,3 B. Woźna-Szcześniak (UJD) Algorytmy
Bardziej szczegółowoPodstawowepojęciateorii grafów
7 Podstawowepojęciateorii grafów Wiele sytuacji z»ycia codziennego mo»e by w wygodny sposób opisanych gracznie za pomoc rysunków skªadaj cych si ze zbioru punktów i linii ª cz cych pewne pary tych punktów.
Bardziej szczegółowoTeoria grafów i sieci 1 / 188
Teoria grafów i sieci / Drzewa z wagami Drzewem z wagami nazywamy drzewo z korzeniem, w którym do ka»dego li±cia przyporz dkowana jest liczba nieujemna, nazywana wag tego li±cia. / Drzewa z wagami Drzewem
Bardziej szczegółowo1 a + b 1 = 1 a + 1 b 1. (a + b 1)(a + b ab) = ab, (a + b)(a + b ab 1) = 0, (a + b)[a(1 b) + (b 1)] = 0,
XIII Warmi«sko-Mazurskie Zawody Matematyczne. Olsztyn 2015 Rozwi zania zada«dla szkóª ponadgimnazjalnych ZADANIE 1 Zakªadamy,»e a, b 0, 1 i a + b 1. Wykaza,»e z równo±ci wynika,»e a = -b 1 a + b 1 = 1
Bardziej szczegółowoDynamiczne struktury danych
Dynamiczne struktury danych 391 Dynamiczne struktury danych Przez dynamiczne struktury danych rozumiemy proste i złożone struktury danych, którym pamięć jest przydzielana i zwalniana na żądanie w trakcie
Bardziej szczegółowoElementy teorii grafów, sposoby reprezentacji grafów w komputerze
Elementy teorii grafów, sposoby reprezentacji grafów w komputerze Autor projektu: dr Andrzej Mróz (UMK) Projekt pn. Wzmocnienie potencjaªu dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych
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ółowoWykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik
Wykład X Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2016 c Copyright 2016 Janusz Słupik Drzewa binarne Drzewa binarne Drzewo binarne - to drzewo (graf spójny bez cykli) z korzeniem (wyróżnionym
Bardziej szczegółowoLab. 02: Algorytm Schrage
Lab. 02: Algorytm Schrage Andrzej Gnatowski 5 kwietnia 2015 1 Opis zadania Celem zadania laboratoryjnego jest zapoznanie si z jednym z przybli»onych algorytmów sªu» cych do szukania rozwi za«znanego z
Bardziej szczegółowoProgramowanie i struktury danych
Programowanie i struktury danych 1 / 30 STL Standard Template Library, STL (ang. = Standardowa Biblioteka Wzorców) biblioteka C++ zawierająca szablony (wzorce), które umożliwiają wielokrotne użycie. Główne
Bardziej szczegółowoTABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;
Ogólna postać definicji tablicy: TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; np. int tablica [ 10 ]; // 10-cio elementowa tablica liczb całkowitych char tekst
Bardziej szczegółowoProgramowanie komputerowe. Zajęcia 5
Programowanie komputerowe Zajęcia 5 Tablice wielowymiarowe Tablicę dwuwymiarową możemy deklarować statycznie: typ nazwa[rozmiar1][rozmiar2]; Ma ona elementy nazwa[i][j] dla i=0,,rozmiar1-1, j=0,...,rozmiar2-1.
Bardziej szczegółowoZASADY PROGRAMOWANIA KOMPUTERÓW
POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.
Bardziej szczegółowo1. Wprowadzenie do C/C++
Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
Bardziej szczegółowoWykªad 4. Droga i cykl Eulera i Hamiltona
Wykªad 4. Droga i cykl Eulera i Hamiltona 1 / 92 Grafy Eulera Droga i cykl Eulera Niech G b dzie grafem spójnym. Denicja Je»eli w grae G istnieje zamkni ta droga prosta zawieraj ca wszystkie kraw dzie
Bardziej szczegółowoProgramowanie Procedurale
Programowanie Procedurale Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 6 Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 1 / 27 Zbiór ctime zawiera deklarcję
Bardziej szczegółowoNotatki z AiSD. Nr 2. 4 marca 2010 Algorytmy Zachªanne.
Notatki z AiSD. Nr 2. 4 marca 2010 Algorytmy Zachªanne. IIUWr. II rok informatyki. Przygotowaª: Krzysztof Lory± 1 Schemat ogólny. Typowe zadanie rozwi zywane metod zachªann ma charakter optymalizacyjny.
Bardziej szczegółowoGrafy i Zastosowania. 6: Najkrótsze ±cie»ki. c Marcin Sydow. Najkrótsze cie»ki. Warianty. Relaksacja DAG. Algorytm Dijkstry.
6: ±cie»ki Spis zagadnie«problem najkrótszych ±cie»ek z jednym ¹ródªem Rozwi zanie sznurkowe kraw dzi Wariant 1: Wariant 2: nieujemne kraw dzie (Dijkstra) Wariant 3: dowolny graf () ±cie»ki dla wszystkich
Bardziej szczegółowo. Podstawy Programowania 2. Algorytmy dfs i bfs. Arkadiusz Chrobot. 2 czerwca 2019
Podstawy Programowania Algorytmy dfs i bfs Arkadiusz Chrobot Zakład Informatyki czerwca 09 / 70 Plan Wstęp Algorytm BFS Podsumowanie / 70 Wstęp Wstęp Istnieje wiele algorytmów związanych z grafami, które
Bardziej szczegółowoProgramowanie komputerowe. Zajęcia 4
Programowanie komputerowe Zajęcia 4 Typ logiczny Wartości logiczne są reprezentowane przez typ bool. Typ bool posiada tylko dwie wartości: true i false. Zamiast wartości logicznych można używać wartości
Bardziej szczegółowoWektory w przestrzeni
Wektory w przestrzeni Informacje pomocnicze Denicja 1. Wektorem nazywamy uporz dkowan par punktów. Pierwszy z tych punktów nazywamy pocz tkiem wektora albo punktem zaczepienia wektora, a drugi - ko«cem
Bardziej szczegółowoDynamiczny przydział pamięci (język C) Dynamiczne struktury danych. Sortowanie. Klasyfikacja algorytmów sortowania. Algorytmy sortowania
Rok akademicki 2010/2011, Wykład nr 4 2/50 Plan wykładu nr 4 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2010/2011
Bardziej szczegółowoElementy teorii grafów, sposoby reprezentacji grafów w komputerze
Elementy teorii grafów, sposoby reprezentacji grafów w komputerze dr Andrzej Mróz (UMK w Toruniu) 2013 Projekt wspóªnansowany ze ±rodków Unii Europejskiej w ramach Europejskiego Funduszu Spoªecznego Projekt
Bardziej szczegółowoStruktury. Przykład W8_1
Struktury Struktury pozwalają na grupowanie zmiennych różnych typów pod wspólną nazwą. To istotnie ułatwia organizacje danych, które okazują się w jednym miejscu kodu programu. To jest bardzo ważne dla
Bardziej szczegółowoAlgorytm DFS Wprowadzenie teoretyczne. Algorytm DFS Wprowadzenie teoretyczne. Algorytm DFS Animacja. Algorytm DFS Animacja. Notatki. Notatki.
Podstawy Programowania Algorytmy dfs i bfs Arkadiusz Chrobot Zakład Informatyki czerwca 09 / 70 Plan Wstęp Podsumowanie / 70 Wstęp Istnieje wiele algorytmów związanych z grafami, które w skrócie nazywane
Bardziej szczegółowotyp y y p y z łoż o on o e n - tab a lice c e w iel e owym m ar a o r we, e stru r kt k ury
typy złożone- tablice wielowymiarowe, struktury Wykład 6 Deklarowanie wskaźników nazwa_typu * nazwa_wskaznika; WSKAŹNIKI: PRZYPOMNIENIE Przypisywanie wskaźnikom wartości double * pn = &zmienna_typu_double;
Bardziej szczegółowoTechnologie cyfrowe semestr letni 2018/2019
Technologie cyfrowe semestr letni 2018/2019 Tomasz Kazimierczuk Wykład 7 (08.04.2019) Wikipedia Programowanie komputerów proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programów
Bardziej szczegółowoWstęp do programowania
wykład 7 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2016/2017 Losowanie liczb całkowitych Dostępne biblioteki Najprostsze losowanie liczb całkowitych można wykonać za pomocą funkcji
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ółowoProblemy optymalizacyjne - zastosowania
Problemy optymalizacyjne - zastosowania www.qed.pl/ai/nai2003 PLAN WYKŁADU Zło ono obliczeniowa - przypomnienie Problemy NP-zupełne klika jest NP-trudna inne problemy NP-trudne Inne zadania optymalizacyjne
Bardziej szczegółowoĆwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz
Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres Funkcje przetwarzające teksty (biblioteka ) - tworzenie własnych
Bardziej szczegółowoTablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1
Tablice i struktury czyli złożone typy danych. Programowanie Proceduralne 1 Tablica przechowuje elementy tego samego typu struktura jednorodna, homogeniczna Elementy identyfikowane liczbami (indeksem).
Bardziej szczegółowoZmienne i struktury dynamiczne
Zmienne i struktury dynamiczne Zmienne dynamiczne są to zmienne, które tworzymy w trakcie działania programu za pomocą operatora new. Usuwa się je operatorem delete. Czas ich występowania w programie jest
Bardziej szczegółowo1. Wprowadzenie do C/C++
Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
Bardziej szczegółowoAlgorytmy i Struktury Danych
Lista zada«. Nr 4. 9 kwietnia 2016 IIUWr. II rok informatyki. Algorytmy i Struktury Danych 1. (0pkt) Rozwi» wszystkie zadania dodatkowe. 2. (1pkt) Uªó» algorytm znajduj cy najta«sz drog przej±cia przez
Bardziej szczegółowoProste programy w C++ zadania
Proste programy w C++ zadania Zbiór zadao do samodzielnego rozwiązania stanowiący powtórzenie materiału. Podstawy C++ Budowa programu w C++ Dyrektywy preprocesora Usunięcie dublujących się nazw Częśd główna
Bardziej szczegółowoint tab_a [ 2 ] [ 3 ];
// PROGRAM 4_1 - Przyklady dynamicznego tworzenia // i usuwania tablicy dwuwymiarowej int [2][3] #include void main(void) //------------------------------ Przyklad A -------------------------------------------
Bardziej szczegółowoProgramowanie i struktury danych
Programowanie i struktury danych Wykªad 3 1 / 37 tekstowe binarne Wyró»niamy dwa rodzaje plików: pliki binarne pliki tekstowe 2 / 37 binarne tekstowe binarne Plik binarny to ci g bajtów zapami tanych w
Bardziej szczegółowo1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza
165 1) Grafy eulerowskie własnoci algorytmy 2) Problem chiskiego listonosza 166 Grafy eulerowskie Def. Graf (multigraf, niekoniecznie spójny) jest grafem eulerowskim, jeli zawiera cykl zawierajcy wszystkie
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ółowoParadygmaty programowania. Paradygmaty programowania
Paradygmaty programowania Paradygmaty programowania Dr inż. Andrzej Grosser Cz estochowa, 2013 2 Spis treści 1. Zadanie 2 5 1.1. Wprowadzenie.................................. 5 1.2. Wskazówki do zadania..............................
Bardziej szczegółowoMateriał uzupełniający do ćwiczen z przedmiotu: Programowanie w C ++ - ćwiczenia na wskaźnikach
Materiał uzupełniający do ćwiczen z przedmiotu: Programowanie w C ++ - ćwiczenia na wskaźnikach 27 kwietnia 2012 Wiedząc, że deklarowanie typu rekordowego w języku C/ C++ wygląda następująco: struct element
Bardziej szczegółowoProgramowanie wspóªbie»ne
1 Zadanie 1: Bar Programowanie wspóªbie»ne wiczenia 6 monitory cz. 2 Napisz monitor Bar synchronizuj cy prac barmana obsªuguj cego klientów przy kolistym barze z N stoªkami. Ka»dy klient realizuje nast
Bardziej szczegółowoAplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37
Aplikacje bazodanowe Laboratorium 1 Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, 2017 1 / 37 Plan 1 Informacje wst pne 2 Przygotowanie ±rodowiska do pracy 3 Poj cie bazy danych 4 Relacyjne
Bardziej szczegółowo// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.
Wykład 10 Przykłady różnych funkcji (cd) - przetwarzanie tablicy tablic (tablicy "dwuwymiarowej") - sortowanie przez "selekcję" Dynamiczna alokacja pamięci 1 // Liczy srednie w wierszach i kolumnach tablicy
Bardziej szczegółowoWykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.
Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Denicja Mówimy,»e funkcja
Bardziej szczegółowoDYNAMICZNE PRZYDZIELANIE PAMIECI
DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne
Bardziej szczegółowoc Marcin Sydow Podstawy Grafy i Zastosowania Kod Prüfera 3: Drzewa Drzewa ukorzenione * Drzewa binarne Zastosowania Podsumowanie
Grafy i Grafy i 3: Spis zagadnie«grafy i drzewo i las: denicja, charakteryzacje, wªasno±ci kodowanie Prüfera i zliczanie drzew etykietowanych (tw. Cayleya) drzewa drzewa zliczanie drzew binarnych (tw.
Bardziej szczegółowo. Podstawy Programowania 2. Grafy i ich reprezentacje. Arkadiusz Chrobot. 9 czerwca 2016
Podstawy Programowania 2 Grafy i ich reprezentacje Arkadiusz Chrobot Zakład Informatyki 9 czerwca 2016 1 42 Plan 1 Wstęp 2 Teoria grafów 3 Grafy jako struktury danych 4 Zastosowania grafów 2 42 Wstęp Wstęp
Bardziej szczegółowoA. Auxiliary Question of the Universe
Nieformalny wst p Dodatkow trudno±ci w dzisiejszym konkursie byªo to,»e zadania byªy sformuªowane w j zyku angielskim, a do tego autorami zada«nie byli native speakers. W takich wypadkach nie warto si
Bardziej szczegółowoTechniki Programowania wskaźniki 2
Techniki Programowania wskaźniki 2 Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wykłady opracowane we współpracy z Danutą Szeligą, Łukaszem Sztangretem Jeżeli wskaźnik pokazuje na element
Bardziej szczegółowoWstęp do programowania
Wieczorowe Studia Licencjackie Wrocław, 9.01.2007 Wstęp do programowania Wykład nr 13 Listy usuwanie elementów Poniżej prezentujemy funkcję, która usuwa element o podanej wartości pola wiek z nieuporządkowanej
Bardziej szczegółowo