Drzewa binarne. 1 Wprowadzenie. 2 Metodyka testów. Mateusz Bednarski , Nikodem Hynek kwietnia 2014

Wielkość: px
Rozpocząć pokaz od strony:

Download "Drzewa binarne. 1 Wprowadzenie. 2 Metodyka testów. Mateusz Bednarski 117194, Nikodem Hynek 117209. 10 kwietnia 2014"

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

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ółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

ZASADY 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ółowo

Drzewa 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. 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ółowo

Listy i operacje pytania

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ółowo

Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II.

Zadania 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ółowo

Lab. 02: Algorytm Schrage

Lab. 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ółowo

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

Wykł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ółowo

Porządek symetryczny: right(x)

Porzą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ółowo

Listy, kolejki, stosy

Listy, 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ółowo

Rekurencyjne struktury danych

Rekurencyjne 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ółowo

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

Lekcja 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ółowo

Wykład 6. Drzewa poszukiwań binarnych (BST)

Wykł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ółowo

Algorytmy i struktury danych. wykład 5

Algorytmy 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ółowo

Drzewa poszukiwań binarnych

Drzewa 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ółowo

Wykład 2. Drzewa poszukiwań binarnych (BST)

Wykł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

Drzewa poszukiwań binarnych

Drzewa 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ółowo

Programowanie wspóªbie»ne

Programowanie 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ółowo

Caªkowanie numeryczne - porównanie skuteczno±ci metody prostokatów, metody trapezów oraz metody Simpsona

Caª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ółowo

Drzewa czerwono-czarne.

Drzewa 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ółowo

Analiza wydajno±ci serwera openldap

Analiza 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ółowo

KLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu

KLASYCZNE 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ółowo

Drzewa wyszukiwań binarnych (BST)

Drzewa 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ółowo

Programowanie i struktury danych 1 / 44

Programowanie 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ółowo

Wykład 8. Drzewa AVL i 2-3-4

Wykł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ółowo

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Algorytmy 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ółowo

Uniwersytet 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 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ółowo

Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik

Wykł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ółowo

Bazy 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 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ółowo

Struktury Danych i Złożoność Obliczeniowa

Struktury 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ółowo

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Algorytmy 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ółowo

Algorytmy grafowe 2. Andrzej Jastrz bski. Akademia ETI. Politechnika Gda«ska Algorytmy grafowe 2

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ółowo

Wyszukiwanie w BST Minimalny i maksymalny klucz. Wyszukiwanie w BST Minimalny klucz. Wyszukiwanie w BST - minimalny klucz Wersja rekurencyjna

Wyszukiwanie 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ółowo

1. Wprowadzenie do C/C++

1. 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ółowo

Drzewa BST i AVL. Drzewa poszukiwań binarnych (BST)

Drzewa 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. 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ółowo

Wstęp do programowania. Drzewa podstawowe techniki. Piotr Chrząstowski-Wachtel

Wstę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ółowo

AiSD 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 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ółowo

Drzewa AVL definicje

Drzewa 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ółowo

Wysokość drzewa Głębokość węzła

Wysokość 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ółowo

Zasilacz stabilizowany 12V

Zasilacz 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ółowo

Zestaw 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.

Zestaw 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ółowo

Drzewo. 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:

Drzewo. 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ółowo

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

JAO - 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ółowo

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

Wykª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ółowo

1. Wprowadzenie do C/C++

1. 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ółowo

Zadanie projektowe nr 1

Zadanie 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ółowo

Przykładowe sprawozdanie. Jan Pustelnik

Przykł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ółowo

Algorytmy i Struktury Danych

Algorytmy 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ółowo

Algorytmy i Struktury Danych.

Algorytmy 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ółowo

ALGORYTMY SORTOWANIA DANYCH

ALGORYTMY 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ółowo

1 Metody iteracyjne rozwi zywania równania f(x)=0

1 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ółowo

Ekonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej

Ekonometria. 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ółowo

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

ANALIZA 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ółowo

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Zadanie 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ółowo

1 Bª dy i arytmetyka zmiennopozycyjna

1 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ółowo

Algorytmy i Struktury Danych

Algorytmy 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ółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA 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ółowo

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Wstę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ółowo

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

OSTASZEWSKI 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ółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA 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ółowo

Algorytmy zwiazane z gramatykami bezkontekstowymi

Algorytmy 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ółowo

Metody 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 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. 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ółowo

Struktury Danych i Złożoność Obliczeniowa

Struktury 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ółowo

Chess. Joanna Iwaniuk. 9 marca 2010

Chess. 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ółowo

ALGORYTMY I STRUKTURY DANYCH

ALGORYTMY 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ółowo

Algorytmy i struktury danych

Algorytmy 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ółowo

Metodydowodzenia twierdzeń

Metodydowodzenia 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ółowo

Twój wynik: 4 punktów na 6 możliwych do uzyskania (66,67 %).

Twó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ółowo

ALGORYTMY I STRUKTURY DANYCH

ALGORYTMY 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ółowo

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

WST 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ółowo

Szeregowanie zada« Wykªad nr 5. dr Hanna Furma«czyk. 4 kwietnia 2013

Szeregowanie 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ółowo

Podstawy Informatyki. Metody dostępu do danych

Podstawy 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ółowo

Sortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:

Sortowanie. 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ółowo

Wyznaczanie krzywej rotacji Galaktyki na podstawie danych z teleskopu RT3

Wyznaczanie 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ółowo

przewidywania zapotrzebowania na moc elektryczn

przewidywania 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ółowo

Temat: 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. 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ółowo

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Bash 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ółowo

Wstęp do programowania

Wstę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.

.! $ 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ółowo

WSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste

WSTĘ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ółowo

Przypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru.

Przypomnij 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ółowo

Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java

Vincent 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ółowo

Edycja geometrii w Solid Edge ST

Edycja 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ółowo

Każdy węzeł w drzewie posiada 3 pola: klucz, adres prawego potomka i adres lewego potomka. Pola zawierające adresy mogą być puste.

Każ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ółowo

ZADANIA. Maciej Zakarczemny

ZADANIA. 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ółowo

Instrukcja obsługi panelu operacyjnego XV100 w SZR-MAX-1SX

Instrukcja 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ółowo

YapS 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 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ółowo

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

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 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ółowo

Algorytmy i struktury danych

Algorytmy 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ółowo

Matematyka dyskretna dla informatyków

Matematyka 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ółowo

Programowanie i struktury danych

Programowanie 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ółowo

dr inż. Paweł Myszkowski Wykład nr 11 ( )

dr 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ółowo

Kolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego.

Kolejka 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ółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA 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ółowo

prowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325

prowadzą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ółowo

Metody numeryczne i statystyka dla in»ynierów

Metody 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ółowo

Podziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie

Podziaª 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ółowo

System 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 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ółowo

Materiaªy do Repetytorium z matematyki

Materiaª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