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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.! $ 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

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

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

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

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

STRUKTURY DANYCH I ZŁOŻONOŚĆ OBLICZENIOWA STRUKTURY DANYCH I ZŁOŻONOŚĆ OBLICZENIOWA. Część 3. Drzewa Przeszukiwanie drzew

STRUKTURY DANYCH I ZŁOŻONOŚĆ OBLICZENIOWA STRUKTURY DANYCH I ZŁOŻONOŚĆ OBLICZENIOWA. Część 3. Drzewa Przeszukiwanie drzew STRUKTURY DANYCH I ZŁOŻONOŚĆ OBLICZENIOWA Część 3 Drzewa Przeszukiwanie drzew 1 / 24 DRZEWA (ang.: trees) Drzewo struktura danych o typie podstawowym T definiowana rekurencyjnie jako: - struktura pusta,

Bardziej szczegółowo

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Lekcja 9 - LICZBY LOSOWE, ZMIENNE Lekcja 9 - LICZBY LOSOWE, ZMIENNE I STAŠE 1 Liczby losowe Czasami spotkamy si z tak sytuacj,»e b dziemy potrzebowa by program za nas wylosowaª jak ± liczb. U»yjemy do tego polecenia: - liczba losowa Sprawd¹my

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

Przykªady problemów optymalizacji kombinatorycznej

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

Koszt zamortyzowany. Potencjał - Fundusz Ubezpieczeń Kosztów Algorytmicznych

Koszt zamortyzowany. Potencjał - Fundusz Ubezpieczeń Kosztów Algorytmicznych Koszt zamortyzowany Jeśli mamy ciąg operacji, to koszt zamortyzowany jednej z nich jest sumarycznym kosztem wykonania wszystkich operacji podzielonym przez liczbę operacji. Inaczej mówiąc jest to, dla

Bardziej szczegółowo

ASD - ćwiczenia III. Dowodzenie poprawności programów iteracyjnych. Nieformalnie o poprawności programów:

ASD - ćwiczenia III. Dowodzenie poprawności programów iteracyjnych. Nieformalnie o poprawności programów: ASD - ćwiczenia III Dowodzenie poprawności programów iteracyjnych Nieformalnie o poprawności programów: poprawność częściowa jeżeli program zakończy działanie dla danych wejściowych spełniających założony

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

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj

Bardziej szczegółowo

Zarządzanie Zasobami by CTI. Instrukcja

Zarządzanie Zasobami by CTI. Instrukcja Zarządzanie Zasobami by CTI Instrukcja Spis treści 1. Opis programu... 3 2. Konfiguracja... 4 3. Okno główne programu... 5 3.1. Narzędzia do zarządzania zasobami... 5 3.2. Oś czasu... 7 3.3. Wykres Gantta...

Bardziej szczegółowo

wiczenie nr 3 z przedmiotu Metody prognozowania kwiecie«2015 r. Metodyka bada«do±wiadczalnych dr hab. in». Sebastian Skoczypiec Cel wiczenia Zaªo»enia

wiczenie nr 3 z przedmiotu Metody prognozowania kwiecie«2015 r. Metodyka bada«do±wiadczalnych dr hab. in». Sebastian Skoczypiec Cel wiczenia Zaªo»enia wiczenie nr 3 z przedmiotu Metody prognozowania kwiecie«2015 r. wiczenia 1 2 do wiczenia 3 4 Badanie do±wiadczalne 5 pomiarów 6 7 Cel Celem wiczenia jest zapoznanie studentów z etapami przygotowania i

Bardziej szczegółowo

Sortowanie. Bartman Jacek Algorytmy i struktury

Sortowanie. Bartman Jacek Algorytmy i struktury Sortowanie Bartman Jacek jbartman@univ.rzeszow.pl Algorytmy i struktury danych Sortowanie przez proste wstawianie przykład 41 56 17 39 88 24 03 72 41 56 17 39 88 24 03 72 17 41 56 39 88 24 03 72 17 39

Bardziej szczegółowo

Koªo Naukowe Robotyków KoNaR. Plan prezentacji. Wst p Rezystory Potencjomerty Kondensatory Podsumowanie

Koªo Naukowe Robotyków KoNaR. Plan prezentacji. Wst p Rezystory Potencjomerty Kondensatory Podsumowanie Plan prezentacji Wst p Rezystory Potencjomerty Kondensatory Podsumowanie Wst p Motto W teorii nie ma ró»nicy mi dzy praktyk a teori. W praktyce jest. Rezystory Najwa»niejsze parametry rezystorów Rezystancja

Bardziej szczegółowo

Metody dowodzenia twierdze«

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

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to wprowadzili J. Hartmanis i R. Stearns. Najczęściej przez zasób rozumie się czas oraz pamięć dlatego

Bardziej szczegółowo

Hotel Hilberta. Zdumiewaj cy ±wiat niesko«czono±ci. Marcin Kysiak. Festiwal Nauki, 20.09.2011. Instytut Matematyki Uniwersytetu Warszawskiego

Hotel Hilberta. Zdumiewaj cy ±wiat niesko«czono±ci. Marcin Kysiak. Festiwal Nauki, 20.09.2011. Instytut Matematyki Uniwersytetu Warszawskiego Zdumiewaj cy ±wiat niesko«czono±ci Instytut Matematyki Uniwersytetu Warszawskiego Festiwal Nauki, 20.09.2011 Nasze do±wiadczenia hotelowe Fakt oczywisty Hotel nie przyjmie nowych go±ci, je»eli wszystkie

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

Wynagrodzenia i świadczenia pozapłacowe specjalistów

Wynagrodzenia i świadczenia pozapłacowe specjalistów Wynagrodzenia i świadczenia pozapłacowe specjalistów Wynagrodzenia i podwyżki w poszczególnych województwach Średnie podwyżki dla specjalistów zrealizowane w 2010 roku ukształtowały się na poziomie 4,63%.

Bardziej szczegółowo

Drzewo binarne BST. LABORKA Piotr Ciskowski

Drzewo binarne BST. LABORKA Piotr Ciskowski Drzewo binarne BST LABORKA Piotr Ciskowski zadanie 1. drzewo binarne - 1 Zaimplementuj drzewo binarne w postaci: klasy Osoba przechowującej prywatne zmienne: liczbę całkowitą to będzie klucz, wg którego

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

Projektowanie algorytmów rekurencyjnych

Projektowanie algorytmów rekurencyjnych C9 Projektowanie algorytmów rekurencyjnych wiczenie 1. Przeanalizowa działanie poniszego algorytmu dla parametru wejciowego n = 4 (rysunek 9.1): n i i

Bardziej szczegółowo

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania WYKŁAD 8 Reprezentacja obrazu Elementy edycji (tworzenia) obrazu Postacie obrazów na różnych etapach procesu przetwarzania Klasy obrazów Klasa 1: Obrazy o pełnej skali stopni jasności, typowe parametry:

Bardziej szczegółowo

Wst p teoretyczny do wiczenia nr 3 - Elementy kombinatoryki

Wst p teoretyczny do wiczenia nr 3 - Elementy kombinatoryki Wst p teoretyczny do wiczenia nr 3 - Elementy kombinatoryki 1 Zadania na wiczenia nr 3 - Elementy kombinatoryki Zad. 1. Ile istnieje ró»nych liczb czterocyfrowych zakªadaj c,»e cyfry nie powtarzaj si a

Bardziej szczegółowo

Pomiar mocy pobieranej przez napędy pamięci zewnętrznych komputera. Piotr Jacoń K-2 I PRACOWNIA FIZYCZNA 25. 01. 2010

Pomiar mocy pobieranej przez napędy pamięci zewnętrznych komputera. Piotr Jacoń K-2 I PRACOWNIA FIZYCZNA 25. 01. 2010 Pomiar mocy pobieranej przez napędy pamięci zewnętrznych komputera. Piotr Jacoń K-2 I PRACOWNIA FIZYCZNA 25. 01. 2010 I. Cel ćwiczenia: Poznanie poprzez samodzielny pomiar, parametrów elektrycznych zasilania

Bardziej szczegółowo

Wykład 3. Drzewa czerwono-czarne

Wykład 3. Drzewa czerwono-czarne Wykład 3 Drzewa czerwono-czarne 1 Drzewa zbalansowane Wprowadzenie Drzewa czerwono-czarne Definicja, wysokość drzewa Rotacje, operacje wstawiania i usuwania Literatura Cormen, Leiserson, Rivest, Wprowadzenie

Bardziej szczegółowo

Uniwersytet Warszawski Wydziaª Matematyki, Informatyki i Mechaniki

Uniwersytet Warszawski Wydziaª Matematyki, Informatyki i Mechaniki Imi i nazwisko:... Nr indeksu:... Uniwersytet Warszawski Wydziaª Matematyki, Informatyki i Mechaniki Egzamin wst pny na studia II stopnia na kierunku INFORMATYKA Test próbny 19 lutego 2010 roku W ka»dym

Bardziej szczegółowo

Rys.2 N = H (N cos = N) : (1) H y = q x2. y = q x2 2 H : (3) Warto± siªy H, która mo»e by uto»samiana z siª naci gu kabla, jest równa: z (3) przy

Rys.2 N = H (N cos = N) : (1) H y = q x2. y = q x2 2 H : (3) Warto± siªy H, która mo»e by uto»samiana z siª naci gu kabla, jest równa: z (3) przy XXXV OLIMPIADA WIEDZY TECHNICZNEJ Zawody III stopnia Rozwi zania zada«dla grupy mechaniczno-budowlanej Rozwi zanie zadania Tzw. maªy zwis, a wi c cos. W zwi zku z tym mo»na przyj,»e Rys. N H (N cos N)

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Drzewa Witold Marańda maranda@dmcs.p.lodz.pl Drzewa - podstawy Drzewo jest dynamiczną strukturą danych składającą się z elementu węzłowego, zawierającego wskazania na skończoną

Bardziej szczegółowo

Zbiory i odwzorowania

Zbiory i odwzorowania Zbiory i odwzorowania 1 Sposoby okre±lania zbiorów 1) Zbiór wszystkich elementów postaci f(t), gdzie t przebiega zbiór T : {f(t); t T }. 2) Zbiór wszystkich elementów x zbioru X speªniaj cych warunek ϕ(x):

Bardziej szczegółowo

PERSON Kraków 2002.11.27

PERSON Kraków 2002.11.27 PERSON Kraków 2002.11.27 SPIS TREŚCI 1 INSTALACJA...2 2 PRACA Z PROGRAMEM...3 3. ZAKOŃCZENIE PRACY...4 1 1 Instalacja Aplikacja Person pracuje w połączeniu z czytnikiem personalizacyjnym Mifare firmy ASEC

Bardziej szczegółowo

CAŠKOWANIE METODAMI MONTE CARLO Janusz Adamowski

CAŠKOWANIE METODAMI MONTE CARLO Janusz Adamowski III. CAŠKOWAIE METODAMI MOTE CARLO Janusz Adamowski 1 1 azwa metody Podstawowym zastosowaniem w zyce metody Monte Carlo (MC) jest opis zªo-»onych ukªadów zycznych o du»ej liczbie stopni swobody. Opis zªo»onych

Bardziej szczegółowo

INSTRUKCJA OBSŁUGI WD2250A. WATOMIERZ 0.3W-2250W firmy MCP

INSTRUKCJA OBSŁUGI WD2250A. WATOMIERZ 0.3W-2250W firmy MCP INSTRUKCJA OBSŁUGI WD2250A WATOMIERZ 0.3W-2250W firmy MCP 1. CHARAKTERYSTYKA TECHNICZNA Zakresy prądowe: 0,1A, 0,5A, 1A, 5A. Zakresy napięciowe: 3V, 15V, 30V, 240V, 450V. Pomiar mocy: nominalnie od 0.3

Bardziej szczegółowo

PRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc

PRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc PRAWA ZACHOWANIA Podstawowe terminy Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc a) si wewn trznych - si dzia aj cych na dane cia o ze strony innych

Bardziej szczegółowo

Twierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski

Twierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski Twierdzenie Wainera Marek Czarnecki Wydziaª Filozoi i Socjologii Uniwersytet Warszawski Wydziaª Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski Warszawa, 3 lipca 2009 Motywacje Dla dowolnej

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Zaawansowane algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Sortowanie za pomocą malejących przyrostów metoda Shella Metoda jest rozwinięciem metody sortowania

Bardziej szczegółowo

Programowanie funkcyjne. Wykªad 13

Programowanie funkcyjne. Wykªad 13 Programowanie funkcyjne. Wykªad 13 Siªa wyrazu rachunku lambda Zdzisªaw Spªawski Zdzisªaw Spªawski: Programowanie funkcyjne. Wykªad 13, Siªa wyrazu rachunku lambda 1 Wst p Warto±ci logiczne Liczby naturalne

Bardziej szczegółowo

Zadanie projektowe 1: Struktury danych i złożoność obliczeniowa

Zadanie projektowe 1: Struktury danych i złożoność obliczeniowa Łukasz Przywarty 171018 Data utworzenia: 24.03.2010r. Mariusz Kacała 171058 Prowadzący: prof. dr hab. inż. Adam Janiak oraz dr inż. Tomiasz Krysiak Zadanie projektowe 1: Struktury danych i złożoność obliczeniowa

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

Optymalizacja R dlaczego warto przesi ± si na Linuxa?

Optymalizacja R dlaczego warto przesi ± si na Linuxa? Optymalizacja R dlaczego warto przesi ± si na Linuxa? 19 listopada 2014 Wi cej informacji, wraz z dodatkowymi materiaªami mo»na znale¹ w repozytorium na GitHubie pod adresem https://github.com/zzawadz/

Bardziej szczegółowo

PROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec

PROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec PROE wykład 7 kontenery tablicowe, listy dr inż. Jacek Naruniec Prosty kontener oparty na tablicach Funkcja dodawanie pojedynczego słonia do kontenera: 1 2 3 4 5 6 7 11 12 13 14 15 16 17 21 22 23 24 25

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 Interpolacja PWSZ Gªogów, 2009 Interpolacja Okre±lenie zale»no±ci pomi dzy interesuj cymi nas wielko±ciami, Umo»liwia uproszczenie skomplikowanych funkcji (np. wykorzystywana

Bardziej szczegółowo

Temat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1

Temat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1 Temat: Funkcje. Własności ogólne A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1 Kody kolorów: pojęcie zwraca uwagę * materiał nieobowiązkowy A n n a R a

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Proste algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Pojęcie sortowania Sortowaniem nazywa się proces ustawiania zbioru obiektów w określonym porządku Sortowanie

Bardziej szczegółowo

Sortowanie bąbelkowe

Sortowanie bąbelkowe 1/98 Sortowanie bąbelkowe (Bubble sort) prosty i nieefektywny algorytm sortowania wielokrotnie przeglądamy listę elementów, porównując dwa sąsiadujące i zamieniając je miejscami, jeśli znajdują się w złym

Bardziej szczegółowo

Konfiguracja historii plików

Konfiguracja historii plików Wielu producentów oprogramowania oferuje zaawansowane rozwiązania do wykonywania kopii zapasowych plików użytkownika czy to na dyskach lokalnych czy w chmurze. Warto jednak zastanowić się czy instalacja

Bardziej szczegółowo

Katedra Technik Wytwarzania i Automatyzacji TOLERANCJE I POMIARY WALCOWYCH KÓŁ ZĘBATYCH

Katedra Technik Wytwarzania i Automatyzacji TOLERANCJE I POMIARY WALCOWYCH KÓŁ ZĘBATYCH Katedra Technik Wytwarzania i Automatyzacji METROLOGIA I KONTKOLA JAKOŚCI - LABORATORIUM TEMAT: TOLERANCJE I POMIARY WALCOWYCH KÓŁ ZĘBATYCH 1. Cel ćwiczenia Zapoznanie studentów z narzędziami do pomiaru

Bardziej szczegółowo

Ćwiczenie: "Ruch harmoniczny i fale"

Ćwiczenie: Ruch harmoniczny i fale Ćwiczenie: "Ruch harmoniczny i fale" Opracowane w ramach projektu: "Wirtualne Laboratoria Fizyczne nowoczesną metodą nauczania realizowanego przez Warszawską Wyższą Szkołę Informatyki. Zakres ćwiczenia:

Bardziej szczegółowo

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy. Logika i teoria mnogo±ci, konspekt wykªad 12 Teoria mocy, cz ± II Def. 12.1 Ka»demu zbiorowi X przyporz dkowujemy oznaczany symbolem X obiekt zwany liczb kardynaln (lub moc zbioru X) w taki sposób,»e ta

Bardziej szczegółowo

Abstrakcyjne struktury danych - stos, lista, drzewo

Abstrakcyjne struktury danych - stos, lista, drzewo Sprawozdanie Podstawy Informatyki Laboratoria Abstrakcyjne struktury danych - stos, lista, drzewo Maciej Tarkowski maciek@akom.pl grupa VII 1/8 1. Stos Stos (ang. Stack) jest podstawową liniową strukturą

Bardziej szczegółowo

Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej

Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej 3.1 Informacje ogólne Program WAAK 1.0 służy do wizualizacji algorytmów arytmetyki komputerowej. Oczywiście istnieje wiele narzędzi

Bardziej szczegółowo