Rekurencyjne struktury danych
|
|
- Mirosław Biernacki
- 6 lat temu
- Przeglądów:
Transkrypt
1 Andrzej Jastrz bski Akademia ETI
2 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 globalnymi i zmiennymi statycznymi pami stosu na stosie tworzone s zmienne lokalne oraz ±lad wywoªania procedury Najcz ±ciej podczas uruchamiania programu nie wiadomo ile pami ci b dzie potrzebowaª. Na przykªad, je±li chcemy napisa program sortuj cy ci g liczb, to na pocz tku nie wiemy ile liczb b dziemy musieli posortowa. Aby rozwi za ten problem trzeba wprowadzi poj cie dynamicznego przydziaªu pami ci. Dynamiczny przydziaª pami ci pozwala na uzyskanie dodatkowej pami ci nie zwi zanej z pami ci przyznan na pocz tku dziaªania procesu. W j zykach programowania dynamiczny przydziaª pami ci jest realizowany przez operator new.
3 Przykªad int main() { int n, *tab; cin>>n; tab = new int[n]; //pro±ba o przyznanie pami ci //na n elementow tablic intów for(int i=0; i<n; i++) cin>>tab[i]; delete [] tab; //zwolnienie przydzielonej pami ci return 0; }
4 Dealokacja pami ci Je±li nie potrzebujemy przydzielonej pami ci, nale»y wywoªa funkcj /operator dealokacji. Automatyczna dealokacja pami ci W j zykach C oraz C++ nie ma wbudowanej automatycznej dealokacji pami ci. J zyki Java, Python, PHP itp. zaopatrzono w automatyczn dealokacj, czyli tak zwany garbage collector.
5 Dynamiczna alokacja pami ci int *pam; pam = (int*) malloc(sizeof(int)); //alokacja pojedynczej liczby, j zyk C pam = new int; //alokacja pojedynczej liczby, j zyk C++ pam = (int*) malloc(sizeof(int)*n); //alokacja n-elementowej tablicy liczb, j zyk C pam = new int[n]; //alokacja n-elementowej tablicy liczb, j zyk C++ Dealokacja pami ci free(pam); //dealokacja pojedynczej liczby lub tablicy, j zyk C delete pam; //dealokacja pojeddynczej liczby, j zyk C++ delete [] pam; //dealokacja tablicy liczb, j zyk C++
6 Lista Lista jest struktur zªo»on z sekwencji rekordów. Ka»dy rekord ma odniesienie do innego rekordu.
7 Lista jednokierunkowa struct ElListy1 { int val; //cz ± danych struct ElListy *next; }; Lista dwukierunkowa struct ElListy2 { int val; //cz ± danych struct ElListy *next, *prev; };
8 Gªowa, ogon Ogonem nazywamy element x taki,»e x.next==null. Element x jest gªow je±li nie istnieje»aden element y taki,»e y.next==x.
9 NULL NULL NULL
10 void newelem1(struct ElListy1 **firstel, int v) { struct ElListy1 *tmpel; tmpel = (struct ElListy1*) malloc(sizeof(*tmpel)); tmpel->val = v; tmpel->next = *firstel; *firstel = tmpel; } void delfirst1(struct ElListy1 **firstel) { struct ElListy1 *next = (*firstel)->next; free(*firstel); *firstel = next; }
11 Wytªumaczenie napisu **rstel W powy»szym przykªadzie i w kolejnych procedury maj deklaracj : void nazwaproc(struct ElListy **firstel,...) Funkcje te wywoªuje si nast puj co: struct ElListy *pierwszyel;. nazwaproc(&prierwszyel); Jest to spowodowane tym,»e w procedurach tych nale»y zmieni wska¹nik na pierwszy element.
12 Wytªumaczenie napisu **rstel cd Mo»na porówna z procedurami: void add2(int x) { x = x + 2;} void add2p(int *y) {*y = *y + 2;} int main() { int a=0; add2(a);//po tej operacji a jest nadal równe 0 add2p(&a);//po tej operacji a jest równe 2 return 0; } W procedurze add2 zmienna x jest lokalna, a jej warto± jest kopi warto±ci zmiennej a. W procedurze add2p zmienna y jest tak»e lokalna. Ró»nica polega na tym,»e y co do warto±ci jest równa adresowi w pami ci, w której przechowywana jest zmienna a. Odniesienie *y = *y + 2; dziaªa na dokªadnie tych samych komórkach pami ci, w których znajduje si a. Powy»sze instrukcje zmieniaj wi c warto± zmiennej a.
13 void dellast1(struct ElListy1 **firstel) { struct ElListy1 *curr = *firstel; //curr=*firstel; struct ElListy1 *prev = NULL; //prev=null; while(curr->next!=null) { prev = curr; next = curr->next; } free(curr); //zwalniamy pami, któr zajmowaª ostatni ele if(prev==null) //byª jeden element w li±cie *firstel = NULL; else //byªo kilka elementów w li±cie prev->next = NULL; }
14 void newelem2(struct ElListy2 **firstel, int v) { struct ElListy2 *tmpel; tmpel = (struct ElListy2*) malloc(sizeof(*tmpel)); tmpel->val = v; tmpel->next = *firstel; tmpel->prev = NULL; if(*firstel!=null) //na li±cie nie ma elementów (*firstel)->prev = tmpel; *firstel = tmpel; } void delfirst2(struct ElListy2 **firstel) { struct ElListy2 *next = firstel->next; free(*firstel); if(next!=null) next->prev = NULL; *firstel = next; }
15 void dellast2(struct ElListy2 **firstel) { struct ElListy2 *curr = *firstel; while(curr->next!=null) curr = curr->next; if(curr->prev==null) {//jest jeden element w li±cie free(curr); *firstel = NULL; return; } curr = curr->prev; //cofamy si do przedostatniego elementu free(curr->next); //zwalniamy pami, któr zajmowaª ostatni element curr->next = NULL; }
16 Zaªo»enia - listy jednokierunkowe Niech x, y, curr b d wska¹nikami na struktur ElListy1. Dla list jednokierunkowych mamy zaªo»enie: p tla while(curr) curr = curr->next; nie jest niesko«czona dla ka»dego pocz tkowego curr nale» cego do listy. Nie istniej dwa elementy listy, które wskazuj na ten sam element, czyli x->next!=y->next.
17 Zaªo»enia - listy dwukierunkowe Niech curr b dzie wska¹nikiem na struktur ElListy2. Dla list dwukierunkowych mamy zaªo»enie: p tle while(curr) curr = curr->next; while(curr) curr = curr->prev; nie s niesko«czone dla ka»dego pocz tkowego curr nale» cego do listy. Je±li curr->next!=null, wtedy zachodzi curr->next->prev==curr. Nie istniej dwa elementy listy, które wskazuj na ten sam element, czyli x->next!=y->next.
18 Zªo»ono±ci obliczeniowe Dla n elementowej listy mamy nast puj ce zªo»ono±ci obliczeniowe: dodawanie O(1) usuwanie pierwszego elementu O(1) usuwanie ostatniego elementu O(n) (je±li istnieje wska¹nik na ostatni element w li±cie dwukierunkowej wtedy O(1)) sortowanie O(n log n) (mergesort) dost p do elementu O(n) szukanie elementu O(n)
19 Dodatki Inne rodzaje list: listy jednokierunkowe cykliczne listy dwukierunkowe cykliczne listy cykliczne z wartownikiem Mo»na zaimplementowa list na tablicy struktur.
20 Je±li tablica ma n elementów to wiemy,»e dla tablicy zªo»ono±ci obliczeniowe s nast puj ce: dodawanie O(n) usuwanie O(n) sortowanie O(n log n) dost p do elementu O(1) szukanie w tablicy nieposortowanej O(n) szukanie w tablicy posortowanej O(log n)
21 Struktura drzewa binarnego wyszukiwa«mo»e by podana przez zaªo»enia podanych poni»ej. Drzewo zbudowane jest z w zªów, które: niepuste drzewo ma w zeª wyró»nony korze«ka»dy w zeª oprócz korzenia posiada jednego ojca (w zeª poprzedzaj cy) ka»dy w zeª posiada conajwy»ej dwóch synów (binarno± drzewa) syn w zªa X ma ojca X warunek drzewa wszystkie warto±ci lewego poddrzewa w zªa X maj mniejsze warto±ci od warto±ci w zªa X (drzewo wyszukiwa«) wszystkie warto±ci prawego poddrzewa w zªa X maj wi ksze warto±ci od warto±ci w zªa X (drzewo wyszukiwa«)
22 Element drzewa w zeª struct Node { int val; //cz ± na dane struct Node *left, *right, *parent; }
23 Zaªo»enia dla drzewa Niech root, curr s wska¹nikami na struktur Node. Je±li root jest wska¹nikiem na korze«, wtedy root->parent==null. Je±li curr jest dowolnym wska¹nikiem na w zeª drzewa, to: je±li curr->left!=null, to curr->left->parent==curr; je±li curr->right!=null, to curr->right->parent==curr.
24 Dodawanie elementu do drzewa Dodaj c element do drzewa nale»y korzystaj c z algorytmu szukania elementu w drzewie znale¹ ostatni w zeª (X ) w algorytmie. je±li jest to w zeª z tak sam warto±ci jak chcemy doda wtedy jej nie dodajemy (bo ju» jest w drzewie) je±li warto± w zªa, który dodajemy, jest wi kszy od warto±ci w zªa X, wtedy w zeª X nie posiada prawego syna (z algorytmu szukania) i mo»emy w to miejsce doda nowy w zeª je±li warto± w zªa, który dodajemy, jest mniejszy od warto±ci w zªa X, wtedy w zeª X nie posiada lewego syna (z algorytmu szukania) i mo»emy w to miejsce doda nowy w zeª
25 void add(struct Node **root, int v) { struct Node *curr, *prev; if(*root==null) { //brak w zªów w drzewie *root = (struct Node*) malloc(sizeof(*curr)); (*root)->parent = (*root)->left = (*root)->right = NULL; (*root)->val = v; return; } prev = NULL; curr = *root; //pocz tkowe dane do wyszukiwania while(curr!=null&&curr->val!=v) { prev = curr; if(curr->val>v) curr = curr->left; else curr = curr->right; } if(curr!=null) return; //oznacza to,»e curr->val==v curr = (struct Node*) malloc(sizeof(*curr)); curr->parent = prev; curr->left = curr->right = NULL; curr->val = v; if(prev->val>v) prev->left = curr; else prev->right = curr; }
26 root tmp n_wez =nul
27 Dodajemy root tmp n_wez =nul
28 Dodajemy root tmp n_wez =nul
29 Dodajemy root tmp n_wez
30 root tmp n_wez
31 Dodajemy 13 root tmp n_wez
32 Dodajemy 13 root tmp n_wez
33 Dodajemy 13 root tmp n_wez 13
34 Dodajemy 13 root tmp n_wez 13
35 Dodajemy 13 root tmp n_wez 13
36 root tmp n_wez 13
37 Dodajemy 1 root tmp n_wez 13
38 Dodajemy 1 root tmp n_wez 13
39 Dodajemy 1 root tmp n_wez 13
40 Dodajemy 1 root tmp n_wez 13 1
41 Dodajemy 1 root tmp n_wez 13 1
42 Dodajemy 1 root tmp n_wez 13 1
43 root tmp n_wez 13 1
44 Dodajemy 15 root tmp n_wez 13 1
45 Dodajemy 15 root tmp n_wez 13 1
46 Dodajemy 15 root tmp n_wez 13 1
47 Dodajemy 15 root tmp n_wez 13 1
48 Dodajemy 15 root tmp n_wez
49 Dodajemy 15 root tmp n_wez
50 Dodajemy 15 root tmp n_wez
51 root tmp n_wez
52 Dodajemy 11 root tmp n_wez
53 Dodajemy 11 root tmp n_wez
54 Dodajemy 11 root tmp n_wez
55 Dodajemy 11 root tmp n_wez
56 Dodajemy 11 root tmp n_wez
57 Dodajemy 11 root tmp n_wez
58 root tmp n_wez
59 Dodajemy 5 root tmp n_wez
60 Dodajemy 5 root tmp n_wez
61 Dodajemy 5 root tmp n_wez
62 Dodajemy 5 root tmp n_wez
63 Dodajemy 5 root tmp n_wez
64 root tmp n_wez
65 Dodajemy 12 root tmp n_wez
66 Dodajemy 12 root tmp n_wez
67 Dodajemy 12 root tmp n_wez
68 Dodajemy 12 root tmp n_wez
69 Dodajemy 12 root tmp n_wez
70 Dodajemy 12 root tmp n_wez
71 Dodajemy 12 root tmp n_wez
72 root tmp n_wez
73 Dodajemy 22 root tmp n_wez
74 Dodajemy 22 root tmp n_wez
75 Dodajemy 22 root tmp n_wez
76 Dodajemy 22 root tmp n_wez
77 Dodajemy 22 root tmp n_wez
78 Dodajemy 22 root tmp n_wez
79 Dodajemy 22 root tmp n_wez
80 root tmp n_wez
81 Dodajemy 2 root tmp n_wez
82 Dodajemy 2 root tmp n_wez
83 Dodajemy 2 root tmp n_wez
84 Dodajemy 2 root tmp n_wez
85 Dodajemy 2 root tmp n_wez
86 Dodajemy 2 root tmp n_wez
87 root tmp n_wez
88 root
89 Szukanie elementu w drzewie Aby znale¹ element o zadanej warto±ci korzystamy z operacji: je±li warto± szukana jest wi ksza od warto±ci w zªa aktualnego, wtedy przechodzimy do prawego syna; je±li w zeª nie posiada prawego syna, wtedy elementu nie ma w drzewie; je±li warto± szukana jest mniejsza od warto±ci w zªa aktualnego, wtedy przechodzimy do lewego syna; je±li w zeª nie posiada lewego syna, wtedy elementu nie ma w drzewie; je±li warto± szukana jest równa warto±ci w zªa aktualnego, wtedy znale¹li±my w zeª. Operacje t zaczynamy od korzenia.
90 root tmp
91 Szukamy liczby 9 root tmp
92 Szukamy liczby 9 root tmp
93 Szukamy liczby 9 root tmp
94 Szukamy liczby 9 root tmp
95 Nie znaleziona 9 root tmp
96 Szukamy liczby 2 root tmp
97 Szukamy liczby 2 root tmp
98 Szukamy liczby 2 root tmp
99 Szukamy liczby 2 root tmp
100 Znaleziona 2 root tmp
101 Szukamy liczby 15 root tmp
102 Szukamy liczby 15 root tmp
103 Szukamy liczby 15 root tmp
104 Szukamy liczby 15 root tmp
105 Szukamy liczby 15 root tmp
106 Znaleziona 15 root tmp
107 Usuwanie elementu z drzewa Usuwanie elementu z zadan warto±ci, tak»e u»ywa algorytmu szukania jako pomocniczego. Szukamy w zªa o zadanej warto±ci. je±li w zeª jest li±ciem (nie ma lewego ani prawego syna), wtedy usuwamy je±li w zeª nie posiada lewego syna, wtedy zast pujemy usuwany w zeª przez caªe prawe poddrzewo je±li w zeª nie posiada prawego syna, wtedy zast pujemy usuwany w zeª przez caªe lewe poddrzewo je±li w zeª posiada lewego i prawego syna, wtedy z lewego poddrzewa szukamy maksymalnego (albo z prawego poddrzewa szukamy minimalnego) w zªa i usuwamy go, a jego warto± zamieniamy z wyszukanym w zªem Je±li usuwamy korze«, wtedy musimy zmieni wska¹nik, aby wskazywaª na nowy korze«.
108 root tmp kas
109 Kasujemy 2 root tmp kas
110 Kasujemy 2 root tmp kas
111 Kasujemy 2 root tmp kas
112 Kasujemy 2 root tmp kas
113 Kasujemy 2 root tmp kas
114 root tmp kas
115 Kasujemy 11 root tmp kas
116 Kasujemy 11 root tmp kas
117 Kasujemy 11 root tmp kas
118 Kasujemy 11 root tmp kas
119 Kasujemy 11 root tmp kas
120 Kasujemy 11 root tmp kas
121 Kasujemy 11 root tmp kas
122 root tmp kas
123 Kasujemy root tmp kas
124 Kasujemy root tmp kas
125 Kasujemy root tmp kas
126 Kasujemy root tmp kas
127 Kasujemy root tmp kas
128 Kasujemy root tmp kas
129 Kasujemy root tmp kas
130 Kasujemy root tmp kas
131 Zªo»ono± obliczeniowa Je±li drzewo ma n elementów i wysoko± h wtedy: dodawanie O(h) (O(n)) usuwanie O(h) (O(n)) szukanie O(h) (O(n))
132 Samo drzewo posiada gorsze zªo»ono±ci pesymistyczne ni» tablica. Mo»na jednak stworzy drzewa, dla których h = O(log n). S to: drzewa czerwono czarne drzewa AVL Drzewa te korzystaj z obrotów drzewa wzgl dem w zªów.
Listy i operacje pytania
Listy i operacje pytania Iwona Polak iwona.polak@us.edu.pl Uniwersytet l ski Instytut Informatyki pa¹dziernika 07 Który atrybut NIE wyst puje jako atrybut elementów listy? klucz elementu (key) wska¹nik
Bardziej szczegółowoAlgorytmy 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ółowoProgramowanie i struktury danych 1 / 44
Programowanie i struktury danych 1 / 44 Lista dwukierunkowa Lista dwukierunkowa to liniowa struktura danych skªadaj ca si z ci gu elementów, z których ka»dy pami ta swojego nast pnika i poprzednika. Operacje
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ół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ółowoAlgorytmy zwiazane z gramatykami bezkontekstowymi
Algorytmy zwiazane z gramatykami bezkontekstowymi Rozpoznawanie j zyków bezkontekstowych Problem rozpoznawania j zyka L polega na sprawdzaniu przynale»no±ci sªowa wej±ciowego x do L. Zakªadamy,»e j zyk
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ółowoAlgorytmy i Struktury Danych. Co dziś? Drzewo decyzyjne. Wykład IV Sortowania cd. Elementarne struktury danych
Algorytmy i Struktury Danych Wykład IV Sortowania cd. Elementarne struktury danych 1 Co dziś? Dolna granica sortowań Mediany i statystyki pozycyjne Warstwa implementacji Warstwa abstrakcji #tablice #listy
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ółowoWska¹niki, tablice dynamiczne wielowymiarowe
Rozdziaª 11 Wska¹niki, tablice dynamiczne wielowymiarowe 11.1 Wst p Identycznie, jak w przypadku tablic statycznych, tablica dynamiczna mo»e by tablic jedno-, dwu-, trójitd. wymiarow. Tablica dynamiczna
Bardziej szczegółowoSTRUKTURY DANYCH. dane wej±ciowe problemu, ewentualne dane po±rednie, dane wynikowe (czyli rozwi zanie problemu).
STRUKTURY DANYCH Jak ju» zostaªo wspomniane, do rozwi zania ró»nego rodzaju problemów sªu» odpowiednie algorytmy (które implementujemy przy pomocy ró»nego rodzaju j zyków programowania wy»szego rz du).
Bardziej szczegółowoALGORYTMY SORTOWANIA DANYCH
ALGORYTMY SORTOWANIA DANYCH W zagadnieniu sortowania danych rozpatrywa b dziemy n liczb caªkowitych, b d cych pierwotnie w losowej kolejno±ci, które nale»y uporz dkowa nierosn co. Oczywi±cie sortowa mo»emy
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ółowoGrafy. Andrzej Jastrz bski. Akademia ET I. Politechnika Gda«ska
Andrzej Jastrz bski Akademia ET I 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
Bardziej szczegółowoDrzewo. Drzewo uporządkowane ma ponumerowanych (oznaczonych) następników. Drzewo uporządkowane składa się z węzłów, które zawierają następujące pola:
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ółowox y x y x y x + y x y
Algebra logiki 1 W zbiorze {0, 1} okre±lamy dziaªania dwuargumentowe,, +, oraz dziaªanie jednoargumentowe ( ). Dziaªanie x + y nazywamy dodawaniem modulo 2, a dziaªanie x y nazywamy kresk Sheera. x x 0
Bardziej szczegółowodr inż. Paweł Myszkowski Wykład nr 11 ( )
dr inż. Paweł Myszkowski Politechnika Białostocka Wydział Elektryczny Elektronika i Telekomunikacja, semestr II, studia stacjonarne I stopnia Rok akademicki 2015/2016 Wykład nr 11 (11.05.2016) Plan prezentacji:
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ół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ółowoTemat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
Bardziej szczegółowoProgramowanie i struktury danych. Wykład 4 Dr Piotr Cybula
Programowanie i struktury danych Wykład 4 Dr Piotr ybula Typ wska ź nikowy int* pointer; //wskaźnik do zmiennych typu int pozwala na dostęp do dowolnego miejsca pamięci (zmienne
Bardziej szczegółowoDrzewa wyszukiwań binarnych (BST)
Drzewa wyszukiwań binarnych (BST) Krzysztof Grządziel 12 czerwca 2007 roku 1 Drzewa Binarne Drzewa wyszukiwań binarnych, w skrócie BST (od ang. binary search trees), to szczególny przypadek drzew binarnych.
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH Temat 4: Realizacje dynamicznych struktur danych. Wykładowca: dr inż. Zbigniew TARAPATA e-mail: Zbigniew.Tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/
Bardziej szczegółowoANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15
ANALIZA NUMERYCZNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Metoda Eulera 3 1.1 zagadnienia brzegowe....................... 3 1.2 Zastosowanie ró»niczki...................... 4 1.3 Output do pliku
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ół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ółowo1 Stos: Stack i Stack<T>
1 Stos: Stack i Stack Przykªady z»ycia: Stos talerzy (aby wyci gn co± ze ±rodka, musimy wyci gn te z góry) Meble ªadowane do naczepy ci»arówki Osoby wsiadaj ce do samolotu i wysiadaj ce z niego. Piramida
Bardziej szczegółowoDrzewa BST i AVL. Drzewa poszukiwań binarnych (BST)
Drzewa ST i VL Drzewa poszukiwań binarnych (ST) Drzewo ST to dynamiczna struktura danych (w formie drzewa binarnego), która ma tą właściwość, że dla każdego elementu wszystkie elementy w jego prawym poddrzewie
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Liniowe struktury danych - Lista uporzadkowana. Wartownicy. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 6 Bożena Woźna-Szcześniak (AJD)
Bardziej szczegółowoVincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java
J zyk programowania JAVA c 2011 Vincent Van GOGH: M»czyzna pij cy li»ank kawy Zadanie 6. Napisz program, który tworzy tablic 30 liczb wstawia do tej tablicy liczby od 0 do 29 sumuje te elementy 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ółowoStos LIFO Last In First Out
Stos LIFO Last In First Out Operacje: push - dodanie elementu na stos pop - usunięcie elementu ze stosu empty - sprawdzenie, czy stos jest pusty size - zwrócenie liczby elementów na stosie value (peek)
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ółowoListy, kolejki, stosy
Listy, kolejki, stosy abc Lista O Struktura danych składa się z węzłów, gdzie mamy informacje (dane) i wskaźniki do następnych węzłów. Zajmuje tyle miejsca w pamięci ile mamy węzłów O Gdzie można wykorzystać:
Bardziej szczegółowo1 Metody iteracyjne rozwi zywania równania f(x)=0
1 Metody iteracyjne rozwi zywania równania f()=0 1.1 Metoda bisekcji Zaªó»my,»e funkcja f jest ci gªa w [a 0, b 0 ]. Pierwiastek jest w przedziale [a 0, b 0 ] gdy f(a 0 )f(b 0 ) < 0. (1) Ustalmy f(a 0
Bardziej szczegółowo1 Bª dy i arytmetyka zmiennopozycyjna
1 Bª dy i arytmetyka zmiennopozycyjna Liczby w pami ci komputera przedstawiamy w ukªadzie dwójkowym w postaci zmiennopozycyjnej Oznacza to,»e s one postaci ±m c, 01 m < 1, c min c c max, (1) gdzie m nazywamy
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ół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ółowoAlgorytmy i Struktury Danych
Algorytmy i Struktury Danych Drzewa poszukiwań binarnych dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Liniowe struktury danych - Lista Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 5 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych.
Bardziej szczegółowoMetody dowodzenia twierdze«
Metody dowodzenia twierdze«1 Metoda indukcji matematycznej Je±li T (n) jest form zdaniow okre±lon w zbiorze liczb naturalnych, to prawdziwe jest zdanie (T (0) n N (T (n) T (n + 1))) n N T (n). 2 W przypadku
Bardziej szczegółowoEgzaminy i inne zadania. Semestr II.
Egzaminy i inne zadania. Semestr II. Poni»sze zadania s wyborem zada«ze Wst pu do Informatyki z egzaminów jakie przeprowadziªem w ci gu ostatnich lat. Ponadto doª czyªem szereg zada«, które pojawiaªy si
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ółowoProgramowanie wspóªbie»ne
1 Programowanie wspóªbie»ne wiczenia 2 semafory cz. 1 Zadanie 1: Producent i konsument z buforem cyklicznym type porcja; void produkuj(porcja &p); void konsumuj(porcja p); porcja bufor[n]; / bufor cykliczny
Bardziej szczegółowoPrzekroje Dedekinda 1
Przekroje Dedekinda 1 O liczbach wymiernych (tj. zbiorze Q) wiemy,»e: 1. zbiór Q jest uporz dkowany relacj mniejszo±ci < ; 2. zbiór liczb wymiernych jest g sty, tzn.: p, q Q : p < q w : p < w < q 3. 2
Bardziej szczegółowoAlgorytmy i złożoności. Wykład 3. Listy jednokierunkowe
Algorytmy i złożoności Wykład 3. Listy jednokierunkowe Wstęp. Lista jednokierunkowa jest strukturą pozwalającą na pamiętanie danych w postaci uporzadkowanej, a także na bardzo szybkie wstawianie i usuwanie
Bardziej szczegółowoJAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1
J zyki formalne i operacje na j zykach J zyki formalne s abstrakcyjnie zbiorami sªów nad alfabetem sko«czonym Σ. J zyk formalny L to opis pewnego problemu decyzyjnego: sªowa to kody instancji (wej±cia)
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ół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ółowoDrzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.
Drzewa binarne Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0 i T 1 są drzewami binarnymi to T 0 T 1 jest drzewem binarnym Np. ( ) ( ( )) Wielkość drzewa
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ółowoPDF stworzony przez wersję demonstracyjną pdffactory Pro Program 15
Program 15 Program zawierający następujące funkcje: funkcję wczytującą elementy do tablicy liczb całkowitych podanej jako parametr (długość tablicy również ma być podana jako parametr); funkcję wypisującą
Bardziej szczegółowoProgramowanie wspóªbie»ne
1 Zadanie 1: Programowanie wspóªbie»ne wiczenia 11 Przestrzenie krotek cz. 1 Obliczanie caªki oznaczonej Rozwa»my iteracyjne obliczanie caªki oznaczonej na przedziale [a, b] metod trapezów. Krok iteracji
Bardziej szczegółowoMetodydowodzenia twierdzeń
1 Metodydowodzenia twierdzeń Przez zdanie rozumiemy dowolne stwierdzenie, które jest albo prawdziwe, albo faªszywe (nie mo»e by ono jednocze±nie prawdziwe i faªszywe). Tradycyjnie b dziemy u»ywali maªych
Bardziej szczegółowoStruktury danych: stos, kolejka, lista, drzewo
Struktury danych: stos, kolejka, lista, drzewo Wykład: dane w strukturze, funkcje i rodzaje struktur, LIFO, last in first out, kolejka FIFO, first in first out, push, pop, size, empty, głowa, ogon, implementacja
Bardziej szczegółowoBash i algorytmy. Elwira Wachowicz. 20 lutego
Bash i algorytmy Elwira Wachowicz elwira@ifd.uni.wroc.pl 20 lutego 2012 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 1 / 16 Inne przydatne polecenia Polecenie Dziaªanie Przykªad
Bardziej szczegółowoPrzetwarzanie sygnaªów
Przetwarzanie sygnaªów Laboratorium 1 - wst p do C# Dawid Poªap Przetwarzanie sygnaªów Pa¹dziernik, 2018 1 / 17 Czego mo»na oczekiwa wzgl dem programowania w C# na tych laboratoriach? Dawid Poªap Przetwarzanie
Bardziej szczegółowoDynamiczne struktury danych
Listy Zbiór dynamiczny Zbiór dynamiczny to zbiór wartości pochodzących z pewnego określonego uniwersum, którego zawartość zmienia się w trakcie działania programu. Elementy zbioru dynamicznego musimy co
Bardziej szczegółowoWyszukiwanie w BST Minimalny i maksymalny klucz. Wyszukiwanie w BST Minimalny klucz. Wyszukiwanie w BST - minimalny klucz Wersja rekurencyjna
Podstawy Programowania 2 Drzewa bst - część druga Arkadiusz Chrobot Zakład Informatyki 12 maja 2016 1 / 8 Plan Wstęp Wyszukiwanie w BST Minimalny i maksymalny klucz Wskazany klucz Zmiany w funkcji main()
Bardziej szczegółowoAlgorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski
Algorytmy i struktury danych Wykład 5: Drzewa Dr inż. Paweł Kasprowski pawel@kasprowski.pl Drzewa Struktury przechowywania danych podobne do list ale z innymi zasadami wskazywania następników Szczególny
Bardziej szczegółowoModel obiektu w JavaScript
16 marca 2009 E4X Paradygmat klasowy Klasa Deniuje wszystkie wªa±ciwo±ci charakterystyczne dla wybranego zbioru obiektów. Klasa jest poj ciem abstrakcyjnym odnosz cym si do zbioru, a nie do pojedynczego
Bardziej szczegółowoPrzykªady problemów optymalizacji kombinatorycznej
Przykªady problemów optymalizacji kombinatorycznej Problem Komiwoja»era (PK) Dane: n liczba miast, n Z +, c ji, i, j {1,..., n}, i j odlegªo± mi dzy miastem i a miastem j, c ji = c ij, c ji R +. Zadanie:
Bardziej szczegółowoAlgorytmy i struktury danych. wykład 5
Plan wykładu: Wskaźniki. : listy, drzewa, kopce. Wskaźniki - wskaźniki Wskaźnik jest to liczba lub symbol który w ogólności wskazuje adres komórki pamięci. W językach wysokiego poziomu wskaźniki mogą również
Bardziej szczegółowoAlgorytmy i struktury danych Struktury danych IS/IO, WIMiIP
Algorytmy i struktury danych Struktury danych IS/IO, WIMiIP Danuta Szeliga AGH Kraków Spis treści I 1 Wstęp Pojęcia podstawowe Abstrakcyjne typ danych Statyczna/dynamiczna struktura danych 2 Statyczne
Bardziej szczegółowoGranular Computing 9999 pages 15 METODY SZTUCZNEJ INTELIGENCJI - PROJEKTY
Granular Computing 9999 pages 15 METODY SZTUCZNEJ INTELIGENCJI - PROJEKTY PB 2 PB 1 Projekt z wyznaczania reduktów zbioru Liczba osób realizuj cych projekt: 1-2 osoby 1. Wczytanie danych w formatach arf,
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoCo to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).
Zarządzanie pamięcią Pamięć: stos i sterta Statyczny i dynamiczny przydział pamięci Funkcje ANSI C do zarządzania pamięcią Przykłady: Dynamiczna tablica jednowymiarowa Dynamiczna tablica dwuwymiarowa 154
Bardziej szczegółowoP tle. Rozdziaª Wst p. 4.2 P tle P tla for(...);
Rozdziaª 4 P tle 4.1 Wst p Niniejszy rozdziaª zawiera opis p tli w j zyku C, wraz z przykªadowymi programami oraz ich obja±nieniem. 4.2 P tle P tla to element j zyka programowania, pozwalaj cy na wielokrotne,
Bardziej szczegółowoWykªad 4. Funkcje wielu zmiennych.
Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 4. Funkcje wielu zmiennych. Zbiory na pªaszczy¹nie i w przestrzeni.
Bardziej szczegółowoProgramowanie wspóªbie»ne
1 Zadanie 1: Programowanie wspóªbie»ne wiczenia 12 Przestrzenie krotek cz. 2 Przychodnia lekarska W przychodni lekarskiej pracuje L > 0 lekarzy, z których ka»dy ma jedn z 0 < S L specjalno±ci, przy czym
Bardziej szczegółowoWYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5
WYKŁAD 10 Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5 Tomasz Zieliński ZMIENNE O ZŁOŻONEJ BUDOWIE (1) Zmienne
Bardziej szczegółowo2 Liczby rzeczywiste - cz. 2
2 Liczby rzeczywiste - cz. 2 W tej lekcji omówimy pozostaªe tematy zwi zane z liczbami rzeczywistymi. 2. Przedziaªy liczbowe Wyró»niamy nast puj ce rodzaje przedziaªów liczbowych: (a) przedziaªy ograniczone:
Bardziej szczegółowoDrzewa poszukiwań binarnych
1 Cel ćwiczenia Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet ielonogórski Drzewa poszukiwań binarnych Ćwiczenie
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Drzewa poszukiwań binarnych. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych.
Bardziej szczegółowoWykład 2. Drzewa poszukiwań binarnych (BST)
Wykład 2 Drzewa poszukiwań binarnych (BST) 1 O czym będziemy mówić Definicja Operacje na drzewach BST: Search Minimum, Maximum Predecessor, Successor Insert, Delete Struktura losowo budowanych drzew BST
Bardziej szczegółowo. Podstawy Programowania 2. Drzewa bst - część druga. Arkadiusz Chrobot. 12 maja 2019
.. Podstawy Programowania 2 Drzewa bst - część druga Arkadiusz Chrobot Zakład Informatyki 12 maja 2019 1 / 39 Plan.1 Wstęp.2 Wyszukiwanie w BST Minimalny i maksymalny klucz Wskazany klucz.3.4 Zmiany w
Bardziej szczegółowoSkrypt do Algorytmów i Struktur Danych
Skrypt do Algorytmów i Struktur Danych K. Kleczkowski M. Pietrek 14 marca 2018 2 Spis tre±ci I Algorytmy 5 1. Algorytmy sortowania 7 1.1. Wprowadzenie...................................... 7 1.2. Sortowanie
Bardziej szczegółowoINFORMATYKA. Podstawy programowania w języku C. (Wykład) Copyright (C) 2005 by Sergiusz Sienkowski IME Zielona Góra
INFORMATYKA Podstawy programowania w języku C (Wykład) Copyright (C) 2005 by Sergiusz Sienkowski IME Zielona Góra INFORMATYKA Temat: Struktury dynamiczne Wykład 7 Struktury dynamiczne lista jednokierunkowa,
Bardziej szczegółowo7.3 Tablice jednowymiarowe dynamiczne
7.3 Tablice jednowymiarowe dynamiczne Tablice statyczne nie daj nam mo»liwo±ci decydowania o ich wymiarach podczas dziaªania programu. Oznacza to»e musimy zna wielko± tablicy na poziomie tworzenia aplikacji.
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ół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ółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoWykład 8. Drzewa AVL i 2-3-4
Wykład 8 Drzewa AVL i 2-3-4 1 Drzewa AVL Ø Drzewa AVL Definicja drzewa AVL Operacje wstawiania i usuwania Złożoność obliczeniowa Ø Drzewa 2-3-4 Definicja drzewa 2-3-4 Operacje wstawiania i usuwania Złożoność
Bardziej szczegółowoPROGRAMOWANIE OBIEKTOWE W C++ - cz 1. Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory.
PROGRAMOWANIE OBIEKTOWE W C++ - cz 1 Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory. Program komputerowy opisuje w pewien sposób rzeczywisto.
Bardziej szczegółowoCCNA Subnetting Guide
CCNA Subnetting Guide Kataßzyna Mazur January 17, 2015 Contents Classful Networks (Sieci Klasowe) 2 Opis klas adresów 3 Subnetting Based on Network Requirements (Dzielenie sieci ze wzgl du na wymagan ilo±
Bardziej szczegółowoPrzykªadowe tematy z JiMP
Przykªadowe tematy z JiMP 1. Prosz napisa program, który dokona konwersji swojego argumentu wywoªania z punktw na centymetry, (77.27 pt = 1 cal = 2.54 cm) tzn. np. wywoªanie: c:\>pkt 144.54 = 5.08 cm spowoduje
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH Temat : Drzewa zrównoważone, sortowanie drzewiaste Wykładowca: dr inż. Zbigniew TARAPATA e-mail: Zbigniew.Tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoDrzewa poszukiwań binarnych
1 Drzewa poszukiwań binarnych Kacper Pawłowski Streszczenie W tej pracy przedstawię zagadnienia związane z drzewami poszukiwań binarnych. Przytoczę poszczególne operacje na tej strukturze danych oraz ich
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ółowo1 Wska¹niki. 1.1 Wska¹nik typu VOID. Wska¹nik jest obiektem przechowuj cym adres (z pami ci) przypisanej do niego zmiennej.
1 Wska¹niki. Wska¹nik jest obiektem przechowuj cym adres (z pami ci) przypisanej do niego zmiennej. int a; int *b; a = 11; cout
Bardziej szczegółowoEgzaminy i inne zadania. Semestr II.
Egzaminy i inne zadania. Semestr II. Poni»sze zadania s wyborem zada«ze Wst pu do Informatyki z egzaminów jakie przeprowadziªem w ci gu ostatnich lat. Ponadto doª czyªem szereg zada«, które pojawiaªy si
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ół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ółowoStrategia "dziel i zwyciężaj"
Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania
Bardziej szczegółowoSystemy decyzyjne Wykªad 5: Drzewa decyzyjne
Nguyen Hung Son () W5: Drzewa decyzyjne 1 / 38 Systemy decyzyjne Wykªad 5: Drzewa decyzyjne Nguyen Hung Son Przykªad: klasyfikacja robotów Nguyen Hung Son () W5: Drzewa decyzyjne 2 / 38 Przykªad: drzewo
Bardziej szczegółowoPodstawy programowania obiektowego
Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie
Bardziej szczegółowoAlgorytmy i Struktury Danych. (c) Marcin Sydow. Wst p. Linked Lists. Abstrakcyjne Struktury Danych. Podsumowanie. Stos, Kolejka
Zawarto± wykªadu: Typy operacji na ci gach Listy dowi zaniowe (ang. linked lists): lista jednokierunkowa lista dwukierunkowa Stos Kolejka przykªad rozszerzenia: kolejka dwustronna Ci gi Ci gi elementów
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ółowo1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.
1 Klasy. Klasa to inaczej mówi c typ który podobnie jak struktura skªada si z ró»nych typów danych. Tworz c klas programista tworzy nowy typ danych, który mo»e by modelem rzeczywistego obiektu. 1.1 Denicja
Bardziej szczegółowo