Drzewa binarne. 1 Wprowadzenie. 2 Metodyka testów. Mateusz Bednarski , Nikodem Hynek kwietnia 2014
|
|
- Wojciech Wawrzyniak
- 8 lat temu
- Przeglądów:
Transkrypt
1 Drzewa binarne Mateusz Bednarski , Nikodem Hynek kwietnia Wprowadzenie Celem niniejszej pracy jest przeanalizowanie dwóch drzew binarnych. Drzewa BST (Binary Search Tree) oraz ich odmiany w postaci drzew AVL (Adelson-Velskii and Landis' ). Struktury te s bardzo podobne w zewn trzenej budowie, ró»ni si jednak znacz co sposobem implementacji. Na obu drzewach zaimplementowano nast puj ce operacje: Tworzenie drzewa Dodawanie elementów Wyszukiwanie Znajdowanie elementu minimalnego Wypisywanie metod in-order (rosn co) Zwalnianie drzerwa (post-order) Zwracanie warto±ci korzenia Usuwanie elementów Balansowanie drzewa(tylko drzewo BST) 2 Metodyka testów Pomiary czasów wykonania zostaªy przeprowadzone na komputerze wyposa»onym w 8GB pami ci RAM, procesor Intel Core i5 taktowany z cz stotliwo±ci 3,1GHz. Platforma systemowa: Windows 8.1 x64. Kompiltor MSVC++ w wersji Tryb kompliacji Release. Dodatkowe opcje kompilacji: favor fast code, omit frame pointers. Do pomiaru czasu wykonania zostaªa wykorzystana nast puj ca funkcja (wraz z opdpwiednimi przeci»eniami dla innych parametrów). 1
2 Listing 1: PerfomanceCounter.cpp (fragment) double PerfomanceCounter : : MeasureExecutionTime ( std : : function <void ( void)> func ) const { LARGE_INTEGER start, stop ; QueryPerformanceCounter(& s t a r t ) ; func ( ) ; } QueryPerformanceCounter(& stop ) ; return ( stop. QuadPart s t a r t. QuadPart ) 1.0 / frequency ; Wykorzystana zostaªa funkcjonalno± Windows zapewniani ca zegar wysokiej cz stotliwo±ci. Narzut czasowy funkcji pomiarowej wynosi okoªo 10 6 s - jest wi c pomijalnie maªy. Ka»dy pomiar zostaª powtórzony 100 razy, wyniki zostaªy u±rednione, oraz zostaªy podane odchylenia standardowe. 3 Drzewo BST Konstrukcja drzewa BST jest bardzo prosta. Ka»dy w zeª ma dwóch potomków. Lewy potomek jest mniejszy od rodzica, prawy jest wi kszy. Duplikaty s automatycznie usuwane. Drzewo nie balansuje si samodzielnie w»aden sposób. Konieczne jest jego jawne balansowanie. Wszystkie zªo»ono±ci zostaªy podane w przypadku ±rednim. W przypadku pesymsitycznym wynosz O(n). 3.1 Dodawanie Listing 2: Dodawanie w zªa w drzewie BST type r e f = w zeª ; w zeª = record klucz : i n t e g e r ; lewe, prawe : r e f end ; var n : i n t e g e r ; korze«: r e f ; function drzewo (n : i n t e g e r ) : r e f ; var nowyw zeª : r e f ; x, nl, np : i n t e g e r ; begin i f n=0 then drzewo:= n i l e l s e begin n l :=n div 2; np:=n nl 1; read ( x ) ; new( nowyw zeª ) ; with nowyw zeª do begin klucz := x ; lewe :=drzew ( nl ) ; prawe = drzewo (np) end ; drzewo := nowyw zeª end end{drzewo }. 2
3 Zªo»ono± operacji dodawania wynosi O(log n). Z t zªo»ono±ci spotkamy si jeszcze wiele razy. 3.2 Najmniejszy element Listing 3: Znajdowanie najmniejszego elementu procedure minimum( t : r e f ) begin i f t = n i l then w r i t e l n (" Puste drzewo ") begin while ( t n i l ) do minimum( t. lewe ) ; P( t ) ; minimum( t. prawe ) ; end end Procedura jest bardzo prosta. Schodzimy w lewo tak dªugo, dopóki s jeszcze lewi synowie. Zªo»ono± - O(log n). 3.3 Wypisanie rosn co Wypisanie rosn co sprowadza si do przej±cia drzewa w kolejno± in-order (lewy syn, w zeª, prawy syn). Zªo»ono± tradycyjnie O(log n). procedure inorder ( t : r e f ) ; begin i f t n i l then begin poprzeczny ( t. lewe ) ; Wypisz ( t ) ; inorder ( t. prawe ) ; end end Listing 4: Przej±cie in-order 3
4 3.4 Usuwanie procedure usu«( x : i n t e g e r ; var p : r e f ) ; var q : r e f ; procedure us ( var r : r e f ) ; begin i f r. prawe n i l then us ( r. prawe ) e l s e begin q. klucz := r. klucz ; q. l i c z n i k := r. l i c z n i k ; q:= r ; r := r. lewe end end ; begin {usu«} i f p = n i l then w r i t e l n ("BRAK WARTO CI W DRZEWIE") e l s e i f x<p. klucz then usu«(x, p. lewe ) e l s e i f x>p. klucz then usu (x, p. prawe ) e l s e begin { usu«p } q:=p ; i f q. prawe = n i l then p:=q. lewe e l s e i f q. lewe = n i l then p:=q. prawe e l s e us ( q. lewe ) ; { dispose ( q)} end end {usu«} Usuwanie jest nieco bardziej skomplikowane, gdy» musimy zmpdykowa drzewo tak aby zachowaªo wªasno± BST. Mimo to zªo»ono± tej operacji wynosi O(log n). 3.5 Równowa»enie (wywa»anie) Listing 5: Równowa»enie drzewa. Faza I TworzKregoslup ( w zeª korzen, l i c z b a caªkowita n) tmp = korzen ; //tmp to zmienna tymczasowa while tmp nie j e s t równe NULL i f tmp posiada lewego potomka wykonaj r o t a c j tego potomka wzgl dem tmp ; tmp z o s t a j e przesuni ty do nowo powstaªego rodzica ; e l s e tmp z o s t a j e przesuni ty w miejsce swojego prawego potomka ; Listing 6: Równowa»enie drzewa. Faza II TworzWywazoneDrzewo ( l i c z b a caªkowita n) m = 2 [log 2 (n+1)] 1 ; wykonaj n m r o t a c j i, zaczynaj c od pocz tku l i n i i ; while m > 1 m = [m/ 2 ] ; // znaczenie nawiasów [ ] jak wy»ej wykonaj m r o t a c j i, s t a r t u j c od pocz tku l i n i i ; Wywa»anie drzewa skªada si z dwóch faz. W pierwszej drzewo jest redukowane do listy jednokierunkowej, opieraj c si na prawych synach. W drugiej owa lista jest skªadana z powrotem w drzewo, tym razem zbalansowane. 4
5 Zªo»ono± pierwszej fazy wynosi O(n) a drugiej O(n) co daje w sumie O(n + n) O(n). 4 Drzewa AVL Drzewo AVL jest drzewem BST wraz z pewn dodatkow wªasno±ci. Mianowicie jest ono wywa»ane za ka»dym razem po zmianie jego zawarto±ci. Wydªu»a to nieco czas dodawania/usuwania ale za to drzewo jest zawsze idealnie wywa»one. Nie wyst ouje tutaj jawne balansowanie, a metody wypisania rosn co i znajdowania minimalnego elementu s identyczne jak w drzewie BST wi c nie zostaªy tutaj podane. 4.1 Rotacje W trakcie dodawania lub usuwania elementów zachodzi potrzeba rotowania w zªów. Algortym w pseudokodzie jest maªo zytelny, wi c autorzy zdecydowali si na zamieszczenie schematów tych»e rotacji. 4.2 Dodawanie Algo here Listing 7: Dodawanie elementu do drzewa AVL Jak wida dodawanie jest bardziej skomplikowane ni» w drzewie BST. Mimo to nadal osi gamy znakomite O(log n). 4.3 Usuwanie Algo here Listing 8: Usuwanie elementu z drzewa AVL Usuwanie jest jeszcze bardziej skomlikowane. Jest to jednak rozs dna cena za peªn równowag. Tradycyjnie O(log n). 5 Testy Wysztkie wykresy zawieraj o± OY wyskalowan logarytmicznie. 5.1 Tworzenie drzewa Do pomiaru czasu tworzenia drzewa zostaª u»yty ciag liczb pseudolosowych (z powtórzeniami, aby sprawdzi zachowanie przy pojawieniu si takich samych warto±ci - omawiane struktury usuwaj je z drzewa). 5
6 Rysunek 1: Rotacje AVL 6
7 Wykres ukªada si w bardzo ªadn krzyw y = log n. Drzewo AVL jest nieznacznie wolniejsze ze wzgl du na konieczno± balansowania. 7
8 5.2 Wyszukiwanie najmniejszego elementu Wykres wygl da bardzo podbnie, jednak»e z wi kszymi odchyleniami. Ich ¹ródªem jest niezwykle krótki czas wykonania - pr dzej ko«czy si pami ni» algorytm dziaªa w czasie porównywalnym do sekundy. 8
9 5.3 Wypisanie drzewa rosn co Równie» tutaj krzywa jest bardzo bliska funkcji logarytmicznej. W kodzie testowym pomini to wypisywanie na ekran z prostej przyczyny - czas komunikacja z konsol jest o kilka rz dów wielko±ci dªu»szy ni» czas przechodzenia drzewa. Jest on dominuj cy przez co zªo»ono± faªszywie wygl da na O(n). 9
10 5.4 Balansowanie drzewa BST Balansowanie drzewa BST równie» cechuje si wykresem log n. Na uwag zasªuguj dwa fakty - czas balansowania nawet du»ych drzew jest bardzo krótki. Drug rzecz jest stosunkowo du»y rozrzut - wynika on z faktu»e czas balansowania zale»y mocno od budowy drzewa. A ta jest ró»na dla ró»nych losowa«. 6 Wnioski Pierwszym wnioskiem który nasuwa si po analizie pracy jest niezwykªa wydajno± drzew. Wszystkie operacje s wykonywanie niezwykle szybko. Niemo»liwe okazaªo si wygenerowanie takiej ilo±ci danych aby czas dziaªania programu byª uci»liwy - zanim do tego doszªo ko«czyªa si pami. Drzewa BST okazaªy si niezwykle proste w implementacji. Autorom udaªo si to zrobi z gªowy bez si gania do profesjonalnej literatury. Jednak»e drzewa AVL okazaªy si bardzo trudne w implementacji. Doszli±my do wniosku,»e nie warto stosowa drzew AVL je»eli nie jest to absolutnie konieczne. Drzewa BST balansowane co jaki± czas s wystarczajaco wydajne, a dodatkowo prostota ich implementacji znacz co zmniejsza ryzyko popeªnienia bª du 1. Ró»ne rodzaje drzew znalazªy ró»ne zastosowania, zdaniema utorów sªusznie, gdy» ich idea doskonale sprawdza si w praktyce. Przykªadowymi zastosowaniami s gotowe kontenery typu set (zbiór) czy map/dictionary (mapa/sªownik). Ponadto systemy baz danych oraz sytemy plików intensywnie u»ywaj drzew do gromadzenia informacji. 1 Lepszy jest program dziaªaj cy poprawnie ale wolniej, ni» dziaª jacy szybko ale daj cy faªszywe wyniki 10
11 7 Bonus 7.1 Wst p Zadaniem dodatkowym byªo zaimplementowanie drzew czewono-czarnych. Autorzy dokonali tego na podstawie pozycji Algorytmy. Robert Sedgewick, Kevin Wayne. Autorzy przezentuj je jako szczególny przypadek drzewa 2-3 lub BST. W tym rodzaju drzew ka»dy w zeª ma tak jak poprzednio dwóch potomków, ponadto jest oznaczony jako czerwony lub czarny. Aby drzewo czerwono-czarne byªo poprawne musi speªnia nast puj ce warunki 2 : 1. Mysi by poprawnym drzewem BST (speªnia warunek BST tj, lewy potomek mniejszy od warto±ci w zªa a ten mniejszy od prawego potomka). 2. W zªy czerwone znajduj si po lewej stronie 3. aden w zeª nie jest powi zany z dwoma czerwonymi w zªami 4. Ka»da ±cie»ka z korzenia do li±cia ma dokªadnie tak sam liczb czarnych w zªów Ostatni warunek wymaga krótkiego komentarza. W drzewach czerwono-czarnych warto±ci przechowuje si tylko w w zª ch, li±cie s zawsze puste i czarne (zwyczajowo nie towrzy si pustego li±cia de facto, wystarcza warto± null). Drzewa te nie s perfekcyjnie balansowane lecz tylko mniej-wi cej. Na tyle aby byªy kusz c alternatyw dla AVL. 7.2 Rotacje Podobnie jak w drzewie AVL równie» tutaj wyst puj rotacje. Jednak»e wst puj tylko dwa rodzaje. W lewo oraz w prawo. 2 Ró»ne ¹ródªa podaj ró»ne warunki, s one jednak sobie równowa»ne 11
12 7.3 Dodawanie elementów Rysunek 2: Rotacje red-black Dodawanie jest operacj reukurencyjn realizowan nast puj co: 12
13 Listing 9: Wstawianie elementu do drzewa czerwono-czarnego I n s e r t (Node h, T val ) : j e ± l i h = n u l l : zwró new Node( val ) j e ± l i val mniejsze od h. val : I n s e r t (h >l e f t, val ) j e ± l i val wi ksze od h. val : I n s e r t (h >right, val ) j e ± l i val równe h. val : zako«cz j e ± l i h. r i g h t j e s t czerwony oraz lewy j e s t czarny : h = obró w lewo h j e ± l i lewy czerwony i lewy >lewy czerwony : h = obró w prawo j e ± l i lewy czerwony oraz prawy czerwony : zamie«kolory h oraz jego potomków Operacja realizowana rekurencyjnie charakteryzuje si niezwykª prostot implementacji, znacznie ªatwiejsz ni» analogiczna dla AVL. Istotne jest aby pamieta»e li±cie s reprezentowane przez wartos null przez co mo»emy spokojnie wywoªywa sprawdzanie czerwono±ci null-a. Po raz kolejny otrzymujemy zªo»ono± rz du O(log n). 13
14 7.4 Wyszukiwanie elementu Wyszukiwanie elementu jest operacj trywialn. Nale»y pami ta»e warunki drzewa BST s niezmiennie speªnione przez co mo»emy swobodnie zignorowa czerwono-czarn otoczk. Listing 10: Wyszukiwanie elementu w drzewie czerwono-czarnym Find (Node h, T val ) : j e ± l i h == n u l l zwró " nie znaleziono " j e ± l i val < h. val : Find (h. l e f t, val ) j e ± l i val > h. val : Find (h. right, val ) zwró " Znaleziono " Funkcj t mo»na równie» bez problemu zapisa iteracyjnie, ale wersja rekurencyjna urzeka swoj prostot. Ponadto drzewa s balansowane i jego wysko± jest nie wieksza ni» 2 lg n a ±rednio osi ga lg 2 przez co nie trzeba martwi si bª dem stack overow. Równie» tutaj otrzymujemy kalsyczne dla drzew O(log n). Czas wyszukiwania wydaje si wr cz absurdalnie krótki. 14
15 7.5 Wnioski Drzewa czerwono-czarne okazaªy si bardzo miª odmian drzew, która szczególnie spodobaªa si autorom. S wzgl dnie proste do zaimplementowania i daj doskonaªe czasy wykonania programów. Znalaªy one szerokie zastosowanie, gªównie ze wzgl du na doskonaª pesymistyczn zªo»ono± obliczeniow (O(log n). S u»ywanie w kontenerach bibliotek standardowych wielu jezyków, mechani¹mieszeregowania zada«linuksa, geometrii obliczneiowej. Zapewniaj dobry balans mi dzy czasem dodawania i wyszukiwania elementów (balansuj sie na tyle dobrze aby wyszukiwanie byªo szybkie, ale jednocze±nie na tyle szybko aby nie spowalnia wstawiania elementów). 15
Podstawy 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ół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ół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ółowoListy 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ół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ół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ół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ół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ół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ół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ółowoLekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz
Lekcja 8 - ANIMACJA 1 Polecenia Za pomoc Baltiego mo»emy tworzy animacj, tzn. sprawia by obraz na ekranie wygl daª jakby si poruszaª. Do animowania przedmiotów i tworzenia animacji posªu» nam polecenia
Bardziej szczegółowoWykład 6. Drzewa poszukiwań binarnych (BST)
Wykład 6 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ół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ół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ół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ół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ół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ółowoCaªkowanie numeryczne - porównanie skuteczno±ci metody prostokatów, metody trapezów oraz metody Simpsona
Akademia Górniczo-Hutnicza im. Stanisªawa Staszica w Krakowie Wydziaª Fizyki i Informatyki Stosowanej Krzysztof Grz dziel kierunek studiów: informatyka stosowana Caªkowanie numeryczne - porównanie skuteczno±ci
Bardziej szczegółowoDrzewa czerwono-czarne.
Binboy at Sphere http://binboy.sphere.p l Drzewa czerwono-czarne. Autor: Jacek Zacharek Wstęp. Pojęcie drzewa czerwono-czarnego (red-black tree) zapoczątkował Rudolf Bayer w książce z 1972 r. pt. Symmetric
Bardziej szczegółowoAnaliza wydajno±ci serwera openldap
Analiza wydajno±ci serwera openldap Autor: Tomasz Kowal 13 listopada 2003 Wst p Jako narz dzie testowe do pomiarów wydajno±ci i oceny konguracji serwera openldap wykorzystano pakiet DirectoryMark w wersji
Bardziej szczegółowoKLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu
➏ Filozoa z elementami logiki Na podstawie wykªadów dra Mariusza Urba«skiego Sylogistyka Przypomnij sobie: stosunki mi dzy zakresami nazw KLASYCZNE ZDANIA KATEGORYCZNE Trzy znaczenia sªowa jest trzy rodzaje
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ół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ół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ół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ółowoUniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium 7. 2 Drzewa poszukiwań binarnych
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Algorytmy i struktury danych Laboratorium Drzewa poszukiwań binarnych 1 Cel ćwiczenia Ćwiczenie ma na celu zapoznanie studentów
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ółowoBazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15
Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Przechowywanie danych Wykorzystanie systemu plików, dostępu do plików za pośrednictwem systemu operacyjnego
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ół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ół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ół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ół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ół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ół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ółowoWstęp do programowania. Drzewa podstawowe techniki. Piotr Chrząstowski-Wachtel
Wstęp do programowania Drzewa podstawowe techniki Piotr Chrząstowski-Wachtel Drzewa wyszukiwań Drzewa często służą do przechowywania informacji. Jeśli uda sie nam stworzyć drzewo o niewielkiej wysokości
Bardziej szczegółowoAiSD zadanie drugie. Gliwiński Jarosław Marek Kruczyński Konrad Marek Grupa dziekańska I5. 10 kwietnia 2008
AiSD zadanie drugie Gliwiński Jarosław Marek Kruczyński Konrad Marek Grupa dziekańska I5 10 kwietnia 2008 1 Wstęp W nowym zadaniu porównywano efektywność kilku operacji na dwóch różnie zorganizowanych
Bardziej szczegółowoDrzewa AVL definicje
Drzewa AVL definicje Uporzadkowane drzewo binarne jest drzewem AVL 1, jeśli dla każdego wez la różnica wysokości dwóch jego poddrzew wynosi co najwyżej 1. M D S C H F K Z typowe drzewo AVL minimalne drzewa
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ółowoZasilacz stabilizowany 12V
Zasilacz stabilizowany 12V Marcin Polkowski marcin@polkowski.eu 3 grudnia 2007 Spis tre±ci 1 Wprowadzenie 2 2 Wykonane pomiary 2 2.1 Charakterystyka napi ciowa....................................... 2
Bardziej szczegółowoZestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.
ZESTAWY A Zestaw 1 Organizacja plików: Wszystkie pliki oddawane do sprawdzenia nale»y zapisa we wspólnym folderze o nazwie b d cej numerem indeksu, umieszczonym na pulpicie. Oddajemy tylko ¹ródªa programów
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ół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ół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ół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ółowoZadanie projektowe nr 1
Zadanie projektowe nr 1 Badanie efektywności operacji dodawania (wstawiania), usuwania oraz wyszukiwania elementów w podstawowych strukturach danych Należy zaimplementować oraz dokonać pomiaru czasu działania
Bardziej szczegółowoPrzykładowe sprawozdanie. Jan Pustelnik
Przykładowe sprawozdanie Jan Pustelnik 30 marca 2007 Rozdział 1 Sformułowanie problemu Tematem pracy jest porównanie wydajności trzech tradycyjnych metod sortowania: InsertionSort, SelectionSort i BubbleSort.
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ół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ół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ół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ółowoEkonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej
Ekonometria wiczenia 1 Regresja liniowa i MNK (1) Ekonometria 1 / 25 Plan wicze«1 Ekonometria czyli...? 2 Obja±niamy ceny wina 3 Zadania z podr cznika (1) Ekonometria 2 / 25 Plan prezentacji 1 Ekonometria
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ółowoZadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.
Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy
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ółowoAlgorytmy i Struktury Danych
Algorytmy i Struktury Danych Drzewa poszukiwań binarnych dr hab. Bożena Woźna-Szcześniak Jan Długosz University, Poland Wykład 8 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych Wykład 8 1 /
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ół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ółowoOSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA
OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 20.11.2002 Algorytmy i Struktury Danych PIŁA ZŁOŻONE STRUKTURY DANYCH C za s tw or ze nia s tr uk tur y (m s ) TWORZENIE ZŁOŻONYCH STRUKTUR DANYCH: 00 0
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ół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ółowoMetody numeryczne. Wst p do metod numerycznych. Dawid Rasaªa. January 9, 2012. Dawid Rasaªa Metody numeryczne 1 / 9
Metody numeryczne Wst p do metod numerycznych Dawid Rasaªa January 9, 2012 Dawid Rasaªa Metody numeryczne 1 / 9 Metody numeryczne Czym s metody numeryczne? Istota metod numerycznych Metody numeryczne s
Bardziej szczegółowo. Podstawy Programowania 2. Drzewa bst - część pierwsza. Arkadiusz Chrobot. 22 maja 2016
.. Podstawy Programowania 2 Drzewa bst - część pierwsza Arkadiusz Chrobot Zakład Informatyki 22 maja 2016 1 / 55 Plan.1 Wstęp.2 Definicje.3 Implementacja Typ bazowy i wskaźnik na korzeń Dodawanie elementu
Bardziej szczegółowoStruktury Danych i Złożoność Obliczeniowa
Struktury Danych i Złożoność Obliczeniowa Zajęcia 1 Podstawowe struktury danych Tablica Najprostsza metoda przechowywania serii danych, zalety: prostota, wady: musimy wiedzieć, ile elementów chcemy przechowywać
Bardziej szczegółowoChess. Joanna Iwaniuk. 9 marca 2010
9 marca 2010 Plan prezentacji 1. Co to jest? 2. Jak u»ywa? 3. Prezentacja dziaªania 4. kontrola przeplotów model checking odtwarzanie wadliwego wykonania 5. Ogólna idea Wynik dziaªania Co to jest? program
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ółowoAlgorytmy i struktury danych
Algorytmy i struktury danych ĆWICZENIE 2 - WYBRANE ZŁOŻONE STRUKTURY DANYCH - (12.3.212) Prowadząca: dr hab. inż. Małgorzata Sterna Informatyka i3, poniedziałek godz. 11:45 Adam Matuszewski, nr 1655 Oliver
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ółowoTwój wynik: 4 punktów na 6 możliwych do uzyskania (66,67 %).
Powrót Twój wynik: 4 punktów na 6 możliwych do uzyskania (6667 %). Nr Opcja Punkty Poprawna Odpowiedź Rozważmy algorytm AVLSequence postaci: 1 Niech drzewo będzie rezultatem działania algorytmu AVLSequence
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ółowoWST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14
WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 203/4 Spis tre±ci Kodowanie i dekodowanie 4. Kodowanie a szyfrowanie..................... 4.2 Podstawowe poj cia........................
Bardziej szczegółowoSzeregowanie zada« Wykªad nr 5. dr Hanna Furma«czyk. 4 kwietnia 2013
Wykªad nr 5 4 kwietnia 2013 Procesory dedykowane Przypomnienie: zadania s podzielone na operacje (zadanie Z j skªada si z operacji O ij do wykonania na maszynach M i, o dªugo±ciach czasowych p ij ); zadanie
Bardziej szczegółowoPodstawy Informatyki. Metody dostępu do danych
Podstawy Informatyki c.d. alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej 2 Sformułowanie
Bardziej szczegółowoSortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:
Sortowanie Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania: podać strukturę danych dla elementów dynamicznego skończonego multi-zbioru S, względem którego są wykonywane następujące
Bardziej szczegółowoWyznaczanie krzywej rotacji Galaktyki na podstawie danych z teleskopu RT3
Wyznaczanie krzywej rotacji Galaktyki na podstawie danych z teleskopu RT3 Michaª Litwicki, Michalina Grubecka, Ewelina Obrzud, Tomasz Dziaªa, Maciej Winiarski, Dajana Olech 27 sierpnia 2012 Prowadz cy:
Bardziej szczegółowoprzewidywania zapotrzebowania na moc elektryczn
do Wykorzystanie do na moc elektryczn Instytut Techniki Cieplnej Politechnika Warszawska Slide 1 of 20 do Coraz bardziej popularne staj si zagadnienia zwi zane z prac ¹ródªa energii elektrycznej (i cieplnej)
Bardziej szczegółowoTemat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika.
Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika. 1. Pojcie struktury danych Nieformalnie Struktura danych (ang. data
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ółowoWstęp do programowania
Wstęp do programowania Algorytmy na tablicach Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) WP w. III Jesień 2013 1 / 23 Dwadzieścia pytań Zasady 1 Osoba 1 wymyśla hasło z ustalonej
Bardziej szczegółowo.! $ Stos jest list z trzema operacjami: dodawanie elementów na wierzch stosu, zdejmowanie elementu z wierzchu stosu, sprawdzanie czy stos jest pusty.
!"! " #$%& '()#$$ &%$! #$ %$ &%$& &$&! %&'" )$$! *$$&%$! +,- +-.! $ Celem wiczenia jest zapoznanie studenta ze strukturami: lista, stos, drzewo oraz ich implementacja w jzyku ANSI C. Zrozumienie działania
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ół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ół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ółowoEdycja geometrii w Solid Edge ST
Edycja geometrii w Solid Edge ST Artykuł pt.: " Czym jest Technologia Synchroniczna a czym nie jest?" zwracał kilkukrotnie uwagę na fakt, że nie należy mylić pojęć modelowania bezpośredniego i edycji bezpośredniej.
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ółowoZADANIA. Maciej Zakarczemny
ZADANIA Maciej Zakarczemny 2 Spis tre±ci 1 Algebra 5 2 Analiza 7 2.1 Granice iterowane, granica podwójna funkcji dwóch zmiennych....... 7 2.2 Caªki powierzchniowe zorientowane...................... 8 2.2.1
Bardziej szczegółowoInstrukcja obsługi panelu operacyjnego XV100 w SZR-MAX-1SX
Instrukcja obsługi panelu operacyjnego XV100 w SZR-MAX-1SX 1. Pierwsze uruchomienie... 3 2. Ekran podstawowy widok diagramu... 4 3. Menu... 5 - Historia... 5 - Ustawienia... 6 - Ustawienia / Nastawa czasów...
Bardziej szczegółowoYapS Plan testów. Šukasz Bieniasz-Krzywiec Dariusz Leniowski Jakub Š cki 29 maja 2007
YapS Plan testów Šukasz Bieniasz-Krzywiec Dariusz Leniowski Jakub Š cki 29 maja 2007 1 Spis tre±ci 1 Wprowadzenie 3 1.1................................. 3 1.2 Zakres............................... 3 2
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ółowoAlgorytmy i struktury danych
Algorytmy i struktury danych Cz ± druga Prowadz cy: dr Andrzej Mróz, Wydziaª Matematyki i Informatyki, Uniwersytet Mikoªaja Kopernika 1 / 82 Rekurencja Procedura (funkcja) rekurencyjna wywoªuje sam siebie.
Bardziej szczegółowoMatematyka dyskretna dla informatyków
UNIWERSYTET IM. ADAMA MICKIEWICZA W POZNANIU Jerzy Jaworski, Zbigniew Palka, Jerzy Szyma«ski Matematyka dyskretna dla informatyków uzupeænienia Pozna«007 A Notacja asymptotyczna Badaj c du»e obiekty kombinatoryczne
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ół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ółowoKolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego.
Kolejki Kolejka priorytetowa Kolejka priorytetowa (ang. priority queue) to struktura danych pozwalająca efektywnie realizować następujące operacje na zbiorze dynamicznym, którego elementy pochodzą z określonego
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ółowoprowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325
PODSTAWY INFORMATYKI WYKŁAD 8. prowadzący dr ADRIAN HORZYK http://home home.agh.edu.pl/~ /~horzyk e-mail: horzyk@agh agh.edu.pl tel.: 012-617 617-4319 Konsultacje paw. D-13/325 DRZEWA Drzewa to rodzaj
Bardziej szczegółowoMetody numeryczne i statystyka dla in»ynierów
Kierunek: Automatyka i Robotyka, II rok Wprowadzenie PWSZ Gªogów, 2009 Plan wykªadów Wprowadzenie, podanie zagadnie«, poj cie metody numerycznej i algorytmu numerycznego, obszar zainteresowa«i stosowalno±ci
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ółowoSystem zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy
System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy modelowaniem, a pewien dobrze zdefiniowany sposób jego
Bardziej szczegółowoMateriaªy do Repetytorium z matematyki
Materiaªy do Repetytorium z matematyki 0/0 Dziaªania na liczbach wymiernych i niewymiernych wiczenie Obliczy + 4 + 4 5. ( + ) ( 4 + 4 5). ( : ) ( : 4) 4 5 6. 7. { [ 7 4 ( 0 7) ] ( } : 5) : 0 75 ( 8) (
Bardziej szczegółowo