Algorytmy i Struktury Danych, 9. ćwiczenia
|
|
- Władysława Maciejewska
- 6 lat temu
- Przeglądów:
Transkrypt
1 Algorytmy i Struktury Danych, 9. ćwiczenia Plan zajęć usuwanie z B-drzew join i split na drzewach drzepce adresowanie otwarte w haszowaniu z analizą 2 B-drzewa definicja każdy węzeł ma następujące pola n, c[], key[], każdy węzeł wewnętrzny utrzymuje n kluczy i n+ wskaźników do synów, klucze są uporządkowane rosnąco, klucz w poddrzewie c[i] mają wartości pochodzą z przedziału [key[i ], key[i]] (definiujemy key[0] =, key[n + ] = ), wszystkie liście mają leżą na tej samej głębokości, każdy węzeł zawiera nie więcej niż 2t kluczy, każdy węzeł oprócz korzenia zawiera co najmniej t kluczy. B-drzewa usuwanie jeśli klucz k jest w węźle x i x jest liściem, to usuń k z węzła, jeśli klucz k jest w węźle wewnętrznym x, to: niech y syn x poprzedzający k, y 2 syn x występujący po k, k poprzednik k w drzewie, k 2 następnik k w drzewie, jeśli węzeł y ma co najmniej t kluczy, to rekurencyjnie usuń k i zastąp k przez k, w przeciwnym przypadku, jeśli węzeł y 2 ma co najmniej t kluczy, to rekurencyjnie usuń k 2 i zastąp k przez k 2, w przeciwnym przypadku, y i y 2 mają po t kluczy, scal węzeł y, klucz k i węzeł y 2 otrzymując węzeł y, usuń rekurencyjnie k z węzła y.
2 jeśli klucz k nie występuje w węźle wewnętrznym x, to: znajdź odpowiednie poddrzewo y w którym może znajdować się k, jeśli y ma co najmniej t kluczy, usuń rekurencyjnie k z y, wpp., jeśli y ma t kluczy, ale jeden z sąsiadów y ma t kluczy, to dodaj jeden klucz do y (jeden klucz przechodzi z x do y, jeden z brata y do x), wpp., scal y z dowolnym bratem i usuń k z tak utworzonego węzła (jeśli x jest korzeniem, to może to spowodować zmniejszenie wysokości drzewa). 3 Join i Split na drzewach i ogólnie o drzewach: 4 Przejście z drzew na czerwono-czarne węzeł z jednym kluczem zamieniany jest na czarny węzeł, węzeł z dwoma kluczami zamieniany jest na dwa węzły czarny i jego czerwonego syna (możemy dowolnie wybrać lewy czy prawy), węzeł z trzema kluczami jest zamieniany na czarny węzeł z dwoma czerwonymi synami. 5 Drzepce Definicja:. drzewo zachowuje warunki BST, 2. każdy węzeł v, przechowuje swój prioritet pr(v), priorytety spełniają warunki kopca, tzn. pr(v) < pr(parent(v)) (dla v root) Z dużym prawdopodobieństwem wysokość drzepca jest równa O(log n). Kosz opertacji: search O(log n), insert O(log n), delete O(log n), join O(log n), 2
3 6 Uniwersalna klasa funkcji haszujących [[CLR, rozdział. Strona 234]] Dla dowolnej pary liczb a Z p ({,..., p }), b Z p, niech: Rodzina wszystkich takich funkcji to: h a,b (k) = ((ak + b) mod p) H p,m = {h a,b : a Z p i b Z p } Twierdzenie Klasa funkcji haszujących H p,m, jest klasą uniwersalną. Niech k, l Z p (k l). Dla danej funkcji haszującej h a,b, niech: r = (ak + b) mod p, s = (al + b) mod p. Zauważmy, że r s: r s a(k l) mod p Ponieważ a i (k l) są różne od zera, stąd też ich iloczyn (modulo p) jest również różny od zera. Co więcej każda możliwa para (a, b) z a 0 daje inną parę (r, s) z r s. Ponieważ możliwych par (r, s) z r s jest tylko p(p ), istnieje zatem wzajemnie jednoznaczne odwzorowanie między parami (a, b) z a 0 i parami (r, s) z r s. Tak więc dla każdej pary różnych kluczy k i l, jeśli wybierzemy (a, b) równomiernie losowo z Z p Z p, to wynikową parą (r, s) może być z jednakowym prawdopodobieństwem każda para różnych liczb modulo p. Wynika stąd, że prawdopodobieństwo kolizji dwóch różnych kluczy k i l jest równe prawdopodobieństwu, że r s ( ), gdzie r i s są różnymi losowymi wartościami modulo p. Dla ustalonego r liczba tych s, spośród pozostałych p możliwych wartości, dla których s r i s r ( ), wynosi co najwyżej: p/m (p )/m Prawdopodobieństwo, że r i s kolidują modulo m wynosi co najwyżej: (p )/m (p ) = /m Zatem dla każdej pary różnych wartości k, l Z p mamy: P r{h a,b (k) = h a,b (l)} /m 3
4 7 Adresowanie otwarte [[CLR, rozdział.4. Strona 236]] adresowane liniowe: h(k, i) = (h (k) + i) adresowanie kwadratowe: h(k, i) = (h (k) + c i + c 2 i 2 ) haszowanie dwukrotne: h(k, i) = (h (k) + ih 2 (k)) [[CLR, Rozdział, strona 242]] Twierdzenie 2 Jeśli współczynnik zapełnienia tablicy z haszowaniem wynosi α = n/m <, to oczekiwana liczba sprawdzanych pozycji w czasie wyszukiwania elementu, który nie występuje w tablicy, jest nie większa niż α, o ile jest spełnione założenie o równomiernym haszowaniu. Niech X będzie zmienną losową równą liczbie sprawdzanych pozycji. P r[x i] = n m n m n i + 2 m i + 2 αi (zauważmy, że n j m j n m dla 0 j < m) E[X] = P r[x i] α i = i= i= α i = α Twierdzenie 3 Jeżeli współczynnik zapełnienia tablicy z haszowaniem wynosi α, to wstawianie z adresowaniem otwartym wymaga średnio co najwyżej α sprawdzeń pozycji w tablicy, o ile spełniony jest warunek równomiernego haszowania. Wynika bezpośrednio z twierdzenia 2. [[CLR, Rozdział, strona ]] Twierdzenie 4 Załóżmy, że element znajduje się w tablicy z haszowaniem przez adresowanie otwarte, a współczynnik zapełnienia tablicy α spełnia nierówność α <. Wtedy oczekiwana liczba sprawdzeń pozycji w tablicy wykonywanych w czasie wyszukiwania tego elementu jest nie większa niż α ln α. 4
5 Wyszukanie elementu k wymaga tyle samo czasu ile kosztowało jego wstawienie, stąd możemy uśrednić koszt wstawienia wszystkich elementów. n n m m i = m n n (H i i ta liczba harmoniczna). m i = α (H m H m n ) α (H m H m n ) = α m k=m n+ k m α m n x dx = α ln m m n = α ln α (stary CLR) adresowanie otwarte, dwukrotne haszowanie, wykazać, że ciąg kontrolny jest permutacją gdy h 2 (k) jest względnie pierwsze z m Bez utraty ogólności możemy założyć, że h (k) = 0. Niech a = h 2 (k), d = gcd(a, n). Ciąg kontrolny ma postać ax( mod n). Rozważmy równanie ax z( mod n). z = d, z algorytmu Euklidesa wynika, że istnieje rozwiązanie równania ax + ny = gcd(a, n) = d x 0, z = kd x := kx 0 d z powiedzmy, że istnieją całkowite x, y spełniające równanie ax = z + ny, jednak d n i d a stąd lewa strona jest podzielna przez d, natomiast prawa nie! sprzeczność. 5
Tablice z haszowaniem
Tablice z haszowaniem - efektywna metoda reprezentacji słowników (zbiorów dynamicznych, na których zdefiniowane są operacje Insert, Search i Delete) - jest uogólnieniem zwykłej tablicy - przyspiesza operacje
Bardziej szczegółowoWykład 4. Tablice z haszowaniem
Wykład 4 Tablice z haszowaniem 1 Wprowadzenie Tablice z adresowaniem bezpośrednim Tablice z haszowaniem: Adresowanie otwarte Haszowanie łańcuchowe Funkcje haszujące (mieszające) Haszowanie uniwersalne
Bardziej szczegółowoPorządek symetryczny: right(x)
Porządek symetryczny: x lef t(x) right(x) Własność drzewa BST: W drzewach BST mamy porządek symetryczny. Dla każdego węzła x spełniony jest warunek: jeżeli węzeł y leży w lewym poddrzewie x, to key(y)
Bardziej szczegółowoTablice z haszowaniem
Tablice z haszowaniem - efektywna metoda reprezentacji słowników (zbiorów dynamicznych, na których zdefiniowane są operacje Insert, Search i Delete) - jest uogólnieniem zwykłej tablicy - przyspiesza operacje
Bardziej szczegółowoHaszowanie. dr inż. Urszula Gałązka
Haszowanie dr inż. Urszula Gałązka Problem Potrzebujemy struktury do Wstawiania usuwania wyszukiwania Liczb, napisów, rekordów w Bazach danych, sieciach komputerowych, innych Rozwiązanie Tablice z haszowaniem
Bardziej szczegółowoWysokość drzewa Głębokość węzła
Drzewa Drzewa Drzewo (ang. tree) zbiór węzłów powiązanych wskaźnikami, spójny i bez cykli. Drzewo posiada wyróżniony węzeł początkowy nazywany korzeniem (ang. root). Drzewo ukorzenione jest strukturą hierarchiczną.
Bardziej szczegółowoWykład 2. Drzewa zbalansowane AVL i 2-3-4
Wykład Drzewa zbalansowane AVL i -3-4 Drzewa AVL Wprowadzenie Drzewa AVL Definicja drzewa AVL Operacje wstawiania i usuwania Złożoność obliczeniowa Drzewa -3-4 Definicja drzewa -3-4 Operacje wstawiania
Bardziej szczegółowoDrzewo. Drzewo uporządkowane ma ponumerowanych (oznaczonych) następników. Drzewo uporządkowane składa się z węzłów, które zawierają następujące pola:
Drzewa Drzewa Drzewo (ang. tree) zbiór węzłów powiązanych wskaźnikami, spójny i bez cykli. Drzewo posiada wyróżniony węzeł początkowy nazywany korzeniem (ang. root). Drzewo ukorzenione jest strukturą hierarchiczną.
Bardziej szczegółowoMatematyka dyskretna
Matematyka dyskretna Wykład 6: Ciała skończone i kongruencje Gniewomir Sarbicki 2 marca 2017 Relacja przystawania Definicja: Mówimy, że liczby a, b Z przystają modulo m (co oznaczamy jako a = b (mod m)),
Bardziej szczegółowoMatematyka dyskretna
Matematyka dyskretna Wykład 6: Ciała skończone i kongruencje Gniewomir Sarbicki 24 lutego 2015 Relacja przystawania Definicja: Mówimy, że liczby a, b Z przystają modulo m (co oznaczamy jako a = b (mod
Bardziej szczegółowoKażdy węzeł w drzewie posiada 3 pola: klucz, adres prawego potomka i adres lewego potomka. Pola zawierające adresy mogą być puste.
Drzewa binarne Każdy węzeł w drzewie posiada pola: klucz, adres prawego potomka i adres lewego potomka. Pola zawierające adresy mogą być puste. Uporządkowanie. Zakładamy, że klucze są różne. Klucze leżące
Bardziej szczegółowostruktury danych dla operacji słownikowych
struktury danych dla operacji słownikowych tablica nieuporządkowana tablica uporządkowana lista dowiązaniowa drzewo poszukiwań binarnych drzewa zrównoważone z tablice haszowaniem tablice z haszowaniem
Bardziej szczegółowoWykład 2. Drzewa poszukiwań binarnych (BST)
Wykład 2 Drzewa poszukiwań binarnych (BST) 1 O czym będziemy mówić Definicja Operacje na drzewach BST: Search Minimum, Maximum Predecessor, Successor Insert, Delete Struktura losowo budowanych drzew BST
Bardziej szczegółowoPodstawy Informatyki. Metody dostępu do danych
Podstawy Informatyki c.d. alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej 2 Sformułowanie
Bardziej szczegółowoDrzewa poszukiwań binarnych
1 Cel ćwiczenia Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet ielonogórski Drzewa poszukiwań binarnych Ćwiczenie
Bardziej szczegółowoAlgorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2
Algorytmy i struktury danych Wykład 6 Tablice rozproszone cz. 2 Na poprzednim wykładzie Wiele problemów wymaga dynamicznych zbiorów danych, na których można wykonywać operacje: wstawiania (Insert) szukania
Bardziej szczegółowoWykład 6. Drzewa poszukiwań binarnych (BST)
Wykład 6 Drzewa poszukiwań binarnych (BST) 1 O czym będziemy mówić Definicja Operacje na drzewach BST: Search Minimum, Maximum Predecessor, Successor Insert, Delete Struktura losowo budowanych drzew BST
Bardziej szczegółowoAlgorytmy i Struktury Danych
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ółowoPodstawowe struktury algebraiczne
Rozdział 1 Podstawowe struktury algebraiczne 1.1. Działania wewnętrzne Niech X będzie zbiorem niepustym. Dowolną funkcję h : X X X nazywamy działaniem wewnętrznym w zbiorze X. Działanie wewnętrzne, jak
Bardziej szczegółowoListy, kolejki, stosy
Listy, kolejki, stosy abc Lista O Struktura danych składa się z węzłów, gdzie mamy informacje (dane) i wskaźniki do następnych węzłów. Zajmuje tyle miejsca w pamięci ile mamy węzłów O Gdzie można wykorzystać:
Bardziej szczegółowoUniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium 7. 2 Drzewa poszukiwań binarnych
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Algorytmy i struktury danych Laboratorium Drzewa poszukiwań binarnych 1 Cel ćwiczenia Ćwiczenie ma na celu zapoznanie studentów
Bardziej szczegółowoFunkcja kwadratowa. f(x) = ax 2 + bx + c = a
Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax, a R \ {0}.
Bardziej szczegółowoWykład 3 Równania rózniczkowe cd
7 grudnia 2010 Definicja Równanie różniczkowe dy dx + p (x) y = q (x) (1) nazywamy równaniem różniczkowym liniowym pierwszego rzędu. Jeśli q (x) 0, to równanie (1) czyli równanie dy dx + p (x) y = 0 nazywamy
Bardziej szczegółowoprowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325
PODSTAWY INFORMATYKI WYKŁAD 8. prowadzący dr ADRIAN HORZYK http://home home.agh.edu.pl/~ /~horzyk e-mail: horzyk@agh agh.edu.pl tel.: 012-617 617-4319 Konsultacje paw. D-13/325 DRZEWA Drzewa to rodzaj
Bardziej szczegółowoFunkcja kwadratowa. f(x) = ax 2 + bx + c,
Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax 2 + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax 2, a R \
Bardziej szczegółowoPrzykładowe zadania z teorii liczb
Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę
Bardziej szczegółowoWykład 8. Drzewa AVL i 2-3-4
Wykład 8 Drzewa AVL i 2-3-4 1 Drzewa AVL Ø Drzewa AVL Definicja drzewa AVL Operacje wstawiania i usuwania Złożoność obliczeniowa Ø Drzewa 2-3-4 Definicja drzewa 2-3-4 Operacje wstawiania i usuwania Złożoność
Bardziej szczegółowoAlgorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie)
Algorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie) Wprowadzenie Haszowanie jest to pewna technika rozwiązywania ogólnego problemu słownika. Przez problem słownika rozumiemy tutaj takie
Bardziej szczegółowoAlgorytmy i struktury danych. wykład 5
Plan wykładu: Wskaźniki. : listy, drzewa, kopce. Wskaźniki - wskaźniki Wskaźnik jest to liczba lub symbol który w ogólności wskazuje adres komórki pamięci. W językach wysokiego poziomu wskaźniki mogą również
Bardziej szczegółowo< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >
Typy indeksów Indeks jest zakładany na atrybucie relacji atrybucie indeksowym (ang. indexing field). Indeks zawiera wartości atrybutu indeksowego wraz ze wskaźnikami do wszystkich bloków dyskowych zawierających
Bardziej szczegółowoWSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk Drzewa i struktury drzewiaste www.agh.edu.pl DEFINICJA DRZEWA Drzewo
Bardziej szczegółowoUkłady równań i równania wyższych rzędów
Rozdział Układy równań i równania wyższych rzędów Układy równań różniczkowych zwyczajnych Wprowadzenie W poprzednich paragrafach zajmowaliśmy się równaniami różniczkowymi y = f(x, y), których rozwiązaniem
Bardziej szczegółowoIndukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka
Bardziej szczegółowoTreść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów
Treść wykładu Pierścienie wielomianów. Definicja Niech P będzie pierścieniem. Wielomianem jednej zmiennej o współczynnikach z P nazywamy każdy ciąg f = (f 0, f 1, f 2,...), gdzie wyrazy ciągu f są prawie
Bardziej szczegółowoFunkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska
Funkcje liniowe i wieloliniowe w praktyce szkolnej Opracowanie : mgr inż. Renata Rzepińska . Wprowadzenie pojęcia funkcji liniowej w nauczaniu matematyki w gimnazjum. W programie nauczania matematyki w
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
LGORTM I STRUKTUR DNH Temat 6: Drzewa ST, VL Wykładowca: dr inż. bigniew TRPT e-mail: bigniew.tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/ Współautorami wykładu
Bardziej szczegółowoKolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego.
Kolejki Kolejka priorytetowa Kolejka priorytetowa (ang. priority queue) to struktura danych pozwalająca efektywnie realizować następujące operacje na zbiorze dynamicznym, którego elementy pochodzą z określonego
Bardziej szczegółowoZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.
POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 204/205 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 2 : Drzewa BST c.d., równoważenie
Bardziej szczegółowoSumy kwadratów kolejnych liczb naturalnych
Sumy kwadratów kolejnych liczb naturalnych Andrzej Nowicki 24 maja 2015, wersja kk-17 Niech m < n będą danymi liczbami naturalnymi. Interesować nas będzie równanie ( ) y 2 + (y + 1) 2 + + (y + m 1) 2 =
Bardziej szczegółowoDefinicja pliku kratowego
Pliki kratowe Definicja pliku kratowego Plik kratowy (ang grid file) jest strukturą wspierająca realizację zapytań wielowymiarowych Uporządkowanie rekordów, zawierających dane wielowymiarowe w pliku kratowym,
Bardziej szczegółowoDrzewa BST i AVL. Drzewa poszukiwań binarnych (BST)
Drzewa ST i VL Drzewa poszukiwań binarnych (ST) Drzewo ST to dynamiczna struktura danych (w formie drzewa binarnego), która ma tą właściwość, że dla każdego elementu wszystkie elementy w jego prawym poddrzewie
Bardziej szczegółowoDrzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.
Drzewa binarne Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0 i T 1 są drzewami binarnymi to T 0 T 1 jest drzewem binarnym Np. ( ) ( ( )) Wielkość drzewa
Bardziej szczegółowoZadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.
Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy
Bardziej szczegółowoPrzypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru.
Spis treści 1 Drzewa 1.1 Drzewa binarne 1.1.1 Zadanie 1.1.2 Drzewo BST (Binary Search Tree) 1.1.2.1 Zadanie 1 1.1.2.2 Zadanie 2 1.1.2.3 Zadanie 3 1.1.2.4 Usuwanie węzła w drzewie BST 1.1.2.5 Zadanie 4
Bardziej szczegółowoHaszowanie (adresowanie rozpraszające, mieszające)
Haszowanie (adresowanie rozpraszające, mieszające) Tadeusz Pankowski H. Garcia-Molina, J.D. Ullman, J. Widom, Implementacja systemów baz danych, WNT, Warszawa, Haszowanie W adresowaniu haszującym wyróżniamy
Bardziej szczegółowoPodstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują
Bardziej szczegółowoDrzewa wyszukiwań binarnych (BST)
Drzewa wyszukiwań binarnych (BST) Krzysztof Grządziel 12 czerwca 2007 roku 1 Drzewa Binarne Drzewa wyszukiwań binarnych, w skrócie BST (od ang. binary search trees), to szczególny przypadek drzew binarnych.
Bardziej szczegółowoDrzewa czerwono-czarne.
Binboy at Sphere http://binboy.sphere.p l Drzewa czerwono-czarne. Autor: Jacek Zacharek Wstęp. Pojęcie drzewa czerwono-czarnego (red-black tree) zapoczątkował Rudolf Bayer w książce z 1972 r. pt. Symmetric
Bardziej szczegółowo1. Wykład NWD, NWW i algorytm Euklidesa.
1.1. NWD, NWW i algorytm Euklidesa. 1. Wykład 1 Twierdzenie 1.1 (o dzieleniu z resztą). Niech a, b Z, b 0. Wówczas istnieje dokładnie jedna para liczb całkowitych q, r Z taka, że a = qb + r oraz 0 r< b.
Bardziej szczegółowoKoszt 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ółowoWstęp do programowania. Drzewa podstawowe techniki. Piotr Chrząstowski-Wachtel
Wstęp do programowania Drzewa podstawowe techniki Piotr Chrząstowski-Wachtel Drzewa wyszukiwań Drzewa często służą do przechowywania informacji. Jeśli uda sie nam stworzyć drzewo o niewielkiej wysokości
Bardziej szczegółowoBiotechnologia, Chemia, Chemia Budowlana - Wydział Chemiczny - 1
Biotechnologia, Chemia, Chemia Budowlana - Wydział Chemiczny - 1 Równania różniczkowe pierwszego rzędu Równaniem różniczkowym zwyczajnym pierwszego rzędu nazywamy równanie postaci (R) y = f(x, y). Najogólniejszą
Bardziej szczegółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 6a Model danych oparty na drzewach 1 Model danych oparty na drzewach Istnieje wiele sytuacji w których przetwarzane informacje mają strukturę hierarchiczną lub zagnieżdżoną,
Bardziej szczegółowoDr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska
Dr inż. Robert Wójcik, p. 313, C-3, tel. 320-27-40 Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska E-mail: Strona internetowa: robert.wojcik@pwr.edu.pl google: Wójcik
Bardziej szczegółowo. Podstawy Programowania 2. Drzewa bst - część druga. Arkadiusz Chrobot. 12 maja 2019
.. Podstawy Programowania 2 Drzewa bst - część druga Arkadiusz Chrobot Zakład Informatyki 12 maja 2019 1 / 39 Plan.1 Wstęp.2 Wyszukiwanie w BST Minimalny i maksymalny klucz Wskazany klucz.3.4 Zmiany w
Bardziej szczegółowoWykład 14 i 15. Równania różniczkowe. Równanie o zmiennych rozdzielonych. Definicja 1. Równaniem różniczkowym zwyczajnym rzędu n nazywamy równanie
Wykład 14 i 15 Równania różniczkowe Definicja 1. Równaniem różniczkowym zwyczajnym rzędu n nazywamy równanie F (x, y, y, y,..., y (n) ) = 0 (1) gdzie: y = y(x) niewiadoma funkcja zmiennej rzeczywistej
Bardziej szczegółowo( ) Arkusz I Zadanie 1. Wartość bezwzględna Rozwiąż równanie. Naszkicujmy wykresy funkcji f ( x) = x + 3 oraz g ( x) 2x
Arkusz I Zadanie. Wartość bezwzględna Rozwiąż równanie x + 3 x 4 x 7. Naszkicujmy wykresy funkcji f ( x) x + 3 oraz g ( x) x 4 uwzględniając tylko ich miejsca zerowe i monotoniczność w ten sposób znajdziemy
Bardziej szczegółowoTwój wynik: 4 punktów na 6 możliwych do uzyskania (66,67 %).
Powrót Twój wynik: 4 punktów na 6 możliwych do uzyskania (6667 %). Nr Opcja Punkty Poprawna Odpowiedź Rozważmy algorytm AVLSequence postaci: 1 Niech drzewo będzie rezultatem działania algorytmu AVLSequence
Bardziej szczegółowoWykł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ółowoDefinicja i własności wartości bezwzględnej.
Równania i nierówności z wartością bezwzględną. Rozwiązywanie układów dwóch (trzech) równań z dwiema (trzema) niewiadomymi. Układy równań liniowych z parametrem, analiza rozwiązań. Definicja i własności
Bardziej szczegółowoWyszukiwanie w BST Minimalny i maksymalny klucz. Wyszukiwanie w BST Minimalny klucz. Wyszukiwanie w BST - minimalny klucz Wersja rekurencyjna
Podstawy Programowania 2 Drzewa bst - część druga Arkadiusz Chrobot Zakład Informatyki 12 maja 2016 1 / 8 Plan Wstęp Wyszukiwanie w BST Minimalny i maksymalny klucz Wskazany klucz Zmiany w funkcji main()
Bardziej szczegółowoMatematyka dyskretna
Matematyka dyskretna Wykład 12: Krzywe eliptyczne Gniewomir Sarbicki Rozważać będziemy przestrzeń K n Definicja: x y λ K x = λy. Relację nazywamy różnieniem się o skalar Przykład: [4, 10, 6, 14] [6, 15,
Bardziej szczegółowoWielomiany. dr Tadeusz Werbiński. Teoria
Wielomiany dr Tadeusz Werbiński Teoria Na początku przypomnimy kilka szkolnych definicji i twierdzeń dotyczących wielomianów. Autorzy podręczników szkolnych podają różne definicje wielomianu - dla jednych
Bardziej szczegółowoKompresja danych Streszczenie Studia Dzienne Wykład 10,
1 Kwantyzacja wektorowa Kompresja danych Streszczenie Studia Dzienne Wykład 10, 28.04.2006 Kwantyzacja wektorowa: dane dzielone na bloki (wektory), każdy blok kwantyzowany jako jeden element danych. Ogólny
Bardziej szczegółowoMatematyka Dyskretna Zestaw 2
Materiały dydaktyczne Matematyka Dyskretna (Zestaw ) Matematyka Dyskretna Zestaw 1. Wykazać, że nie istnieje liczba naturalna, która przy dzieleniu przez 18 daje resztę 13, a przy dzieleniu przez 1 daje
Bardziej szczegółowoEgzamin, AISDI, I termin, 18 czerwca 2015 r.
Egzamin, AISDI, I termin, 18 czerwca 2015 r. 1 W czasie niezależnym do danych wejściowych działają algorytmy A. sortowanie bąbelkowego i Shella B. sortowanie szybkiego i przez prosty wybór C. przez podział
Bardziej szczegółowoKrzywe Freya i Wielkie Twierdzenie Fermata
Krzywe Freya i Wielkie Twierdzenie Fermata Michał Krzemiński 29 listopad 2006 Naukowe Koło Matematyki Politechnika Gdańska 1 1 Krzywe algebraiczne Definicja 1.1 Krzywą algebraiczną C nad ciałem K nazywamy
Bardziej szczegółowoKongruencje twierdzenie Wilsona
Kongruencje Wykład 5 Twierdzenie Wilsona... pojawia się po raz pierwszy bez dowodu w Meditationes Algebraicae Edwarda Waringa (1770), profesora (Lucasian Professor) matematyki w Cambridge, znanego głównie
Bardziej szczegółowoZadania do samodzielnego rozwiązania
Zadania do samodzielnego rozwiązania I. Podzielność liczb całkowitych 1. Pewna liczba sześciocyfrowa a kończy się cyfrą 5. Jeśli tę cyfrę przestawimy na miejsce pierwsze ze strony lewej, to otrzymamy nową
Bardziej szczegółowoMacierze. Rozdział Działania na macierzach
Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i, j) (i 1,..., n; j 1,..., m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F R lub F C, nazywamy macierzą (rzeczywistą, gdy
Bardziej szczegółowoMatematyka dyskretna. 1. Relacje
Matematyka dyskretna 1. Relacje Definicja 1.1 Relacją dwuargumentową nazywamy podzbiór produktu kartezjańskiego X Y, którego elementami są pary uporządkowane (x, y), takie, że x X i y Y. Uwaga 1.1 Jeśli
Bardziej szczegółowoTadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski
: idea Indeksowanie: Drzewo decyzyjne, przeszukiwania binarnego: F = {5, 7, 10, 12, 13, 15, 17, 30, 34, 35, 37, 40, 45, 50, 60} 30 12 40 7 15 35 50 Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski
Bardziej szczegółowoEGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew
1. ( pkt) Dany jest algorytm, który dla dowolnej liczby naturalnej n, powinien wyznaczyd sumę kolejnych liczb naturalnych mniejszych od n. Wynik algorytmu jest zapisany w zmiennej suma. Algorytm i=1; suma=0;
Bardziej szczegółowoPodstawy Informatyki Metody dostępu do danych
Podstawy Informatyki Metody dostępu do danych alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Wprowadzenie Czym zajmuje się informatyka 2 Wprowadzenie Podstawowe problemy baz danych Struktury
Bardziej szczegółowoSortowanie 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ółowoWersja testu A 18 czerwca 2012 r. x 2 +x dx
1. Funkcja f : R R jest różniczkowalna na całej prostej, a ponadto dla każdej liczby rzeczywistej x zachodzi nierówność f x
Bardziej szczegółowoR n = {(x 1, x 2,..., x n ): x i R, i {1,2,...,n} },
nazywa- Definicja 1. Przestrzenią liniową R n my zbiór wektorów R n = {(x 1, x 2,..., x n ): x i R, i {1,2,...,n} }, z określonymi działaniami dodawania wektorów i mnożenia wektorów przez liczby rzeczywiste.
Bardziej szczegółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 6b: Model danych oparty na drzewach http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Model danych oparty na drzewach
Bardziej szczegółowoLista liniowa dwukierunkowa
53 Lista liniowa dwukierunkowa Jest to lista złożona z elementów, z których każdy posiada, oprócz wskaźnika na element następny, również wskaźnik na element poprzedni. Zdefiniujmy element listy dwukierunkowej
Bardziej szczegółowoFunkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.
Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne. Funkcja homograficzna. Definicja. Funkcja homograficzna jest to funkcja określona wzorem f() = a + b c + d, () gdzie współczynniki
Bardziej szczegółowoAlgorytmy i Struktury Danych. (c) Marcin Sydow. Słownik. Tablica mieszająca. Słowniki. Słownik uporządkowany. Drzewo BST.
i Zawartość wykładu definicja słownika analiza naiwnych implementacji słownika tablice mieszające własności funkcji mieszającej analiza operacji słownika zaimplementowanych na tablicy mieszającej sposoby
Bardziej szczegółowoWykład z równań różnicowych
Wykład z równań różnicowych 1 Wiadomości wstępne Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp. Zamiast tego pisać będziemy x (n), y (n) itp.
Bardziej szczegółowoCiała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);
Ciała i wielomiany 1 Ciała i wielomiany 1 Definicja ciała Niech F będzie zbiorem, i niech + ( dodawanie ) oraz ( mnożenie ) będą działaniami na zbiorze F. Definicja. Zbiór F wraz z działaniami + i nazywamy
Bardziej szczegółowoa 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...
Wykład 15 Układy równań liniowych Niech K będzie ciałem i niech α 1, α 2,, α n, β K. Równanie: α 1 x 1 + α 2 x 2 + + α n x n = β z niewiadomymi x 1, x 2,, x n nazywamy równaniem liniowym. Układ: a 21 x
Bardziej szczegółowoTechniki wyszukiwania danych haszowanie
Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Techniki wyszukiwania danych haszowanie 1 Cel
Bardziej szczegółowoLista 0. Kamil Matuszewski 1 marca 2016
Lista 0 Kamil Matuszewski marca 206 2 3 4 5 6 7 8 0 0 Zadanie 4 Udowodnić poprawność mnożenia po rosyjsku Zastanówmy się co robi nasz algorytm Mamy podane liczby n i m W każdym kroku liczbę n dzielimy
Bardziej szczegółowoDrzewa poszukiwań binarnych
1 Drzewa poszukiwań binarnych Kacper Pawłowski Streszczenie W tej pracy przedstawię zagadnienia związane z drzewami poszukiwań binarnych. Przytoczę poszczególne operacje na tej strukturze danych oraz ich
Bardziej szczegółowoSortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:
Sortowanie Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania: podać strukturę danych dla elementów dynamicznego skończonego multi-zbioru S, względem którego są wykonywane następujące
Bardziej szczegółowoRównania różniczkowe. Notatki z wykładu.
Równania różniczkowe Notatki z wykładu http://robert.brainusers.net 17.06.2009 Notatki własne z wykładu. Są niekompletne, bez bibliografii oraz mogą zawierać błędy i usterki. Z tego powodu niniejszy dokument
Bardziej szczegółowoTeoria liczb. Magdalena Lemańska. Magdalena Lemańska,
Teoria liczb Magdalena Lemańska Literatura Matematyka Dyskretna Andrzej Szepietowski http://wazniak.mimuw.edu.pl/ Discrete Mathematics Seymour Lipschutz, Marc Lipson Wstęp Teoria liczb jest dziedziną matematyki,
Bardziej szczegółowoMetody numeryczne. Sformułowanie zagadnienia interpolacji
Ćwiczenia nr 4. Sformułowanie zagadnienia interpolacji Niech będą dane punkty x 0,..., x n i wartości y 0,..., y n, takie że i=0,...,n y i = f (x i )). Szukamy funkcji F (funkcji interpolującej), takiej
Bardziej szczegółowon=0 (n + r)a n x n+r 1 (n + r)(n + r 1)a n x n+r 2. Wykorzystując te obliczenia otrzymujemy, że lewa strona równania (1) jest równa
Równanie Bessela Będziemy rozważać następujące równanie Bessela x y xy x ν )y 0 ) gdzie ν 0 jest pewnym parametrem Rozwiązania równania ) nazywamy funkcjami Bessela rzędu ν Sprawdzamy, że x 0 jest regularnym
Bardziej szczegółowoCiała skończone. 1. Ciała: podstawy
Ciała skończone 1. Ciała: podstawy Definicja 1. Każdy zbiór liczb, w którym są wykonalne wszystkie cztery działania z wyjątkiem dzielenia przez 0 i który zawiera więcej niż jedną liczbę, nazywamy ciałem
Bardziej szczegółowoWykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik
Wykład X Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2016 c Copyright 2016 Janusz Słupik Drzewa binarne Drzewa binarne Drzewo binarne - to drzewo (graf spójny bez cykli) z korzeniem (wyróżnionym
Bardziej szczegółowoMatematyka dyskretna. Andrzej Łachwa, UJ, A/15
Matematyka dyskretna Andrzej Łachwa, UJ, 2016 andrzej.lachwa@uj.edu.pl 4A/15 Liczby Fibonacciego Spośród ciągów zdefiniowanych rekurencyjnie, jednym z najsłynniejszych jest ciąg Fibonacciego (z roku 1202)
Bardziej szczegółowoPrawdopodobieństwo i statystyka
Wykład IV: 27 października 2014 Współczynnik korelacji Brak korelacji a niezależność Definicja współczynnika korelacji Współczynnikiem korelacji całkowalnych z kwadratem zmiennych losowych X i Y nazywamy
Bardziej szczegółowoWstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel
Wstęp do programowania Drzewa Piotr Chrząstowski-Wachtel Drzewa Drzewa definiują matematycy, jako spójne nieskierowane grafy bez cykli. Równoważne określenia: Spójne grafy o n wierzchołkach i n-1 krawędziach
Bardziej szczegółowoLX Olimpiada Matematyczna
LX Olimpiada Matematyczna Rozwiązania zadań konkursowych zawodów stopnia drugiego 13 lutego 2009 r. (pierwszy dzień zawodów) Zadanie 1. Liczby rzeczywiste a 1, a 2,..., a n (n 2) spełniają warunek a 1
Bardziej szczegółowo1 Macierze i wyznaczniki
1 Macierze i wyznaczniki 11 Definicje, twierdzenia, wzory 1 Macierzą rzeczywistą (zespoloną) wymiaru m n, gdzie m N oraz n N, nazywamy prostokątną tablicę złożoną z mn liczb rzeczywistych (zespolonych)
Bardziej szczegółowoMatematyka dyskretna
Matematyka dyskretna Wykład 4: Podzielność liczb całkowitych Gniewomir Sarbicki Dzielenie całkowitoliczbowe Twierdzenie: Dla każdej pary liczb całkowitych (a, b) istnieje dokładnie jedna para liczb całkowitych
Bardziej szczegółowo