Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

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

Download "Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane"

Transkrypt

1 Algorytmy i struktury danych Wykład 4 Tablice nieporządkowane i uporządkowane

2 Tablice uporządkowane Szukanie binarne Szukanie interpolacyjne

3 Tablice uporządkowane Szukanie binarne O(log N) Szukanie interpolacyjne O(log log N)

4 Tablice uporządkowane Jak wstawić element do tablicy uporządkowanej?

5 Tablice uporządkowane Jak wstawić element do tablicy uporządkowanej? 1. Znaleźć miejsce tego elementu (szukanie binarne) Przesunąć pozostałe elementy o jeden w prawo

6 Tablice uporządkowane Jak wstawić element do tablicy uporządkowanej? Koszt tej operacji: Szukanie: logarytmiczny Przesuwanie elementów: (średnio N/2) liniowy

7 Tablice uporządkowane Jak wstawić element do tablicy uporządkowanej? Koszt tej operacji: Szukanie: logarytmiczny Przesuwanie elementów: (średnio N/2) liniowy Razem otrzymujemy (N)

8 Tablice uporządkowane Jak wstawić element do tablicy uporządkowanej? 2. Wstawienie elementu na koniec, zamiana miejsc z kolejnymi elementami do momentu znalezienia właściwego miejsca.

9 Tablice uporządkowane Jak wstawić element do tablicy uporządkowanej? Koszt tej operacji: Liniowy (średnio N/2 elementów) Razem otrzymujemy (N)

10 Tablice uporządkowane Uwagi Przestawianie może wymagać więcej czasu. Wstawianie elementu do tablicy nieuporządkowanej: (1) (jeżeli znamy adres)

11 Tablice uporządkowane Jak wykonać operację usuwania elementu?

12 Tablice uporządkowane Jak wykonać operację usuwania elementu? Należy znaleźć jego miejsce, usunąć, przesunąć Kolejne elementy tablicy (analogicznie jak przy wstawianiu). Razem (N)

13 Tablice uporządkowane Przeglądanie tablicy uporządkowanej: (N) Tablica nieuporządkowana wymaga posortowania.

14 Algorytmy i struktury danych Wykład 4 cz. 1

15 Motywacja Wiele problemów wymaga dynamicznych zbiorów danych, na których można wykonywać operacje: wstawiania (Insert) szukania (Search) Usuwania (Delete)

16 Motywacja Taki abstrakcyjny typ danych nazywamy słownikiem.

17 Motywacja Słowniki są potrzebne np. w: -Bazach danych -Kompilatorach (tłumaczenie składni programu, kluczami są komendy bazowe danego języka) -Zastosowaniach sieciowych

18 Efektywnym sposobem implementacji takich typów danych są tablice z techniką dostępu nazywaną rozproszoną (hash tables).

19 Polega one na obliczaniu adresu danego elementu (rekordu) na podstawie fragmentu tego rekordu zwanego kluczem. Umożliwia to (zazwyczaj) odnalezienie danego rekordu w jednej próbie.

20 Formalnie możemy rozważyć problem: Dany jest zbiór rekordów S z których każdy identyfikowany jest przez unikatowy kluczem k ze zbioru K, oraz zbiór adresów pamięci A.

21 Znaleźć odwzorowanie H K->A, takie, że nakład pracy z odnalezienia rekordu o danym kluczu jest minimalny.

22 Odwzorowanie H jest zazwyczaj odwzorowaniem wiele do jednego gdyż liczba rekordów S jest większa niż liczebność zbioru A.

23 Czasami rzeczywistych rekordów będzie mniej niż wynosi liczba możliwych rekordów. Przykład: Baza danych nazwisk ok. 26^10 wszystkich możliwych rekordów.

24 Załóżmy, że zbiorem adresów pamięci A jest zbiór indeksów tablicy T: {0,,M-1}. Algorytm poszukiwania rekordu o kluczu k jest Następujący: 1. Oblicz h = H(k) 2. Sprawdź zawartość T[h]

25 1. Oblicz h = H(k) 2. Sprawdź zawartość T[h] Jeżeli T[h] jest puste to koniec (nie ma rekordu) Jeżeli T[h].klucz ==k to wynik == k i koniec (jest rekord) Jeżeli T[h].klucz!=k to co?

26 Algorytm pozostawia niejasności: 1. Jak wybrać funkcję H? 2. Co zrobić gdy różne rekordy (ich klucze) dają tą samą wartość funkcji rozpraszającej (gdy występują kolizje)?

27 Trochę terminologii 1. Wartość H(k) nazywamy pseudokluczem 2. Kolizją nazywamy sytuację gdy H(k) daje taki sam pseudoklucz dla różnych k 3. Rekordy o tej samej wartości pseudoklucza nazywamy synonimami.

28 1. Jak wybrać funkcję H? Adresowanie bezpośrednie H(k) = k Prosta technika działająca dobrze dla małej liczebności zbioru S.

29 1. Jak wybrać funkcję H? Uwagi ogólne: Założenie prostego jednorodnego rozpraszania: każdy klucz ma jednakowe prawdopodobieństwo rozpraszania na każdy slot pamięci, niezależnie od wartości funkcji rozpraszającej dla innych kluczy.

30 1. Jak wybrać funkcję H? Uwagi ogólne: Większość funkcji rozpraszających jako argumenty Przyjmuje wartości liczb naturalnych N={0,1,2, }. Potrzebny sposób na przekształcanie kluczy w innym formacie na liczby naturalne.

31 1. Jak wybrać funkcję H? Randomizacja: H(k) = Rand(k) <- generator licz losowych na podstawie k Dla danego k musi zawsze zwracać tę samą Wartość. Można skorzystać z gotowej implementacji.

32 1. Jak wybrać funkcję H? Inne metody randomizacji: Kwadrat środka (wybieramy część np. środek danej liczby i podnosimy do kwadratu) Metoda składania (podział klucza na segmenty, operacja na segmentach np. suma liczb)

33 Metoda randomizacji Problem: Dla rzeczywistych danych trudno znaleźć sposób randomizacji o dużym stopniu losowości Trzeba zaimplementować sposób randomizacji tak by nie wyjść poza zakres tablicy (ograniczenie możliwości randomizacji)

34 Metoda dzielenia H(k) =k mod m <-reszta z dzielenia przez m Np. k=100, m=12 H(100) = 4 Pojedyncza operacja dzielenia działa dość szybko

35 Metoda dzielenia Uwagi: Należy wykluczyć pewne liczby m. Np. dla m=2^p H(k) to p ostatnich bitów k. Dla pewnych danych może prowadzić do niejednorodności. Przykład: nazwiska Kowalski, Nowakowski,

36 Metoda mnożenia H ( k) m (ka mod 1) 0 A 1 (ka mod1) ka ka Tym razem wartość m nie ma dominującego Wpływu, można przyjąć np. 2^p.

37 Jak wybrać p? Dobrym wyborem są np. liczby pierwsze niezbyt blisko potęg 2.

38 Jak wybrać p? Dodatkowo metodę można zoptymalizować po wartościach stałej A np. A 5 1 0,

39 Metody rozwiązywania kolizji 1. Łańcuchowanie oddzielne 2. Łańcuchowanie bezpośrednie 3. Adresowanie otwarte

40 1. Łańcuchowanie oddzielne Z tablicą rekordów Z tablicą odsyłaczy Tworzymy listę (jedno lub dwukierunkową) dla elementów które są adresowane do tego samego miejsca w pamięci

41 1. Łańcuchowanie oddzielne Wyszukanie rekordu sprowadza się do przeszukania listy odpowiadającej danej wartości funkcji rozpraszającej.

42 Algorytm wstawiania rekordu: 1. Oblicz wartość pseudoklucza 2. Sprawdź czy w tablicy ten adres jest wolny Jeśli tak, wpisz rekord i zakończ Jeśli nie przejdź dalej 3. Sekwencyjnie przeszukuj listę synonimów, sprawdzając czy rekord nie jest już wpisany. 4. Jeżeli jest zakończ, jeżeli nie jest, dopisz rekord.

43 1. Łańcuchowanie oddzielne Do analizy przydatny będzie parametr n m Gdzie n to liczba rekordów a m to liczba komórek Pamięci w tablicy

44 Algorytm wstawiania rekordu: 1. Oblicz wartość pseudoklucza 2. Sprawdź czy w tablicy ten adres jest wolny Jeśli tak, wpisz rekord i zakończ Jeśli nie przejdź dalej 3. Sekwencyjnie przeszukuj listę synonimów, sprawdzając czy rekord nie jest już wpisany. 4. Jeżeli jest zakończ, jeżeli nie jest, dopisz rekord.

45 Łańcuchowanie oddzielne: analiza Założenia: 1. obliczenie funkcji rozpraszającej (1) 2. Jednorodne rozpraszanie (każdy klucz ma jednakowe prawdopodobieństwo dać dany pseudoklucz)

46 Łańcuchowanie oddzielne: analiza Poszukiwanie zakończone porażką (wartość oczekiwana) (1+ ) Dlaczego?

47 Łańcuchowanie oddzielne: analiza Poszukiwanie zakończone sukcesem (wartość oczekiwana) (1+ )

48 Łańcuchowanie bezpośrednie Lista synonimów przechowywana jest w obszarze głównym a nie nadmiarowym.

49 Średnia liczba sondowań: S S S P e e 2 1 4

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

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

Tablice z haszowaniem

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

Haszowanie. dr inż. Urszula Gałązka

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

Tablice z haszowaniem

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

Haszowanie (adresowanie rozpraszające, mieszające)

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

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK 1 2 3 Pamięć zewnętrzna Pamięć zewnętrzna organizacja plikowa. Pamięć operacyjna organizacja blokowa. 4 Bufory bazy danych. STRUKTURA PROSTA

Bardziej szczegółowo

struktury danych dla operacji słownikowych

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

sprowadza się od razu kilka stron!

sprowadza się od razu kilka stron! Bazy danych Strona 1 Struktura fizyczna 29 stycznia 2010 10:29 Model fizyczny bazy danych jest oparty na pojęciu pliku i rekordu. Plikskłada się z rekordów w tym samym formacie. Format rekordujest listą

Bardziej szczegółowo

Wykład 4. Tablice z haszowaniem

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

Podstawy Informatyki Metody dostępu do danych

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

Techniki wyszukiwania danych haszowanie

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

Algorytmy i Struktury Danych, 9. ćwiczenia

Algorytmy i Struktury Danych, 9. ćwiczenia Algorytmy i Struktury Danych, 9. ćwiczenia 206-2-09 Plan zajęć usuwanie z B-drzew join i split na 2-3-4 drzewach drzepce adresowanie otwarte w haszowaniu z analizą 2 B-drzewa definicja każdy węzeł ma następujące

Bardziej szczegółowo

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski

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

Tabela wewnętrzna - definicja

Tabela wewnętrzna - definicja ABAP/4 Tabela wewnętrzna - definicja Temporalna tabela przechowywana w pamięci operacyjnej serwera aplikacji Tworzona, wypełniana i modyfikowana jest przez program podczas jego wykonywania i usuwana, gdy

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

Bazy danych - BD. Indeksy. Wykład przygotował: Robert Wrembel. BD wykład 7 (1)

Bazy danych - BD. Indeksy. Wykład przygotował: Robert Wrembel. BD wykład 7 (1) Indeksy Wykład przygotował: Robert Wrembel BD wykład 7 (1) 1 Plan wykładu Problematyka indeksowania Podział indeksów i ich charakterystyka indeks podstawowy, zgrupowany, wtórny indeks rzadki, gęsty Indeks

Bardziej szczegółowo

Przykładowe B+ drzewo

Przykładowe B+ drzewo Przykładowe B+ drzewo 3 8 1 3 7 8 12 Jak obliczyć rząd indeksu p Dane: rozmiar klucza V, rozmiar wskaźnika do bloku P, rozmiar bloku B, liczba rekordów w indeksowanym pliku danych r i liczba bloków pliku

Bardziej szczegółowo

Algorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie)

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

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 5b: Model danych oparty na listach http://kiwi.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Słowem wstępu Listy należą do najbardziej

Bardziej szczegółowo

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

Bardziej szczegółowo

Plan wykładu. Klucz wyszukiwania. Pojęcie indeksu BAZY DANYCH. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów.

Plan wykładu. Klucz wyszukiwania. Pojęcie indeksu BAZY DANYCH. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów. Plan wykładu 2 BAZY DANYCH Wykład 4: Indeksy. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów struktury statyczne struktury dynamiczne Małgorzata Krętowska Wydział Informatyki PB Pojęcie

Bardziej szczegółowo

Bazy danych wykład ósmy Indeksy

Bazy danych wykład ósmy Indeksy Bazy danych wykład ósmy Indeksy Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy Wyszyńskiego, danych wykład Warszawa) ósmy Indeksy

Bardziej szczegółowo

Algorytmy zrandomizowane

Algorytmy zrandomizowane Algorytmy zrandomizowane http://zajecia.jakubw.pl/nai ALGORYTMY ZRANDOMIZOWANE Algorytmy, których działanie uzależnione jest od czynników losowych. Algorytmy typu Monte Carlo: dają (po pewnym czasie) wynik

Bardziej szczegółowo

Wyszukiwanie binarne

Wyszukiwanie binarne Wyszukiwanie binarne Wyszukiwanie binarne to technika pozwalająca na przeszukanie jakiegoś posortowanego zbioru danych w czasie logarytmicznie zależnym od jego wielkości (co to dokładnie znaczy dowiecie

Bardziej szczegółowo

Kompletna dokumentacja kontenera C++ vector w - http://www.cplusplus.com/reference/stl/vector/

Kompletna dokumentacja kontenera C++ vector w - http://www.cplusplus.com/reference/stl/vector/ STL, czyli o co tyle hałasu W świecie programowania C++, hasło STL pojawia się nieustannie i zawsze jest o nim głośno... często początkujące osoby, które nie znają STL-a pytają się co to jest i czemu go

Bardziej szczegółowo

Struktura danych. Sposób uporządkowania informacji w komputerze. Na strukturach danych operują algorytmy. Przykładowe struktury danych:

Struktura danych. Sposób uporządkowania informacji w komputerze. Na strukturach danych operują algorytmy. Przykładowe struktury danych: Struktura danych Sposób uporządkowania informacji w komputerze. Na strukturach danych operują algorytmy. Przykładowe struktury danych: rekord tablica lista stos kolejka drzewo i jego odmiany (np. drzewo

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

Wykład 7 Abstrakcyjne typy danych słownik (lista symboli)

Wykład 7 Abstrakcyjne typy danych słownik (lista symboli) Wykład 7 Abstrakcyjne typy danych słownik (lista symboli) Definicja słownika: Słownik (tablica lub lista symboli) to struktura danych zawierająca elementy z kluczami, która pozwala na przeprowadzanie dwóch

Bardziej szczegółowo

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10. ZAMIANA LICZB MIĘDZY SYSTEMAMI DWÓJKOWYM I DZIESIĘTNYM Aby zamienić liczbę z systemu dwójkowego (binarnego) na dziesiętny (decymalny) należy najpierw przypomnieć sobie jak są tworzone liczby w ww systemach

Bardziej szczegółowo

WSTĘP DO INFORMATYKI. Struktury liniowe

WSTĘP DO INFORMATYKI. Struktury liniowe Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk Struktury liniowe www.agh.edu.pl STRUKTURY LINIOWE SEKWENCJE Struktury

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

Zazwyczaj rozmiar bloku jest większy od rozmiaru rekordu, tak więc. ich efektywna lokalizacja kiedy tylko zachodzi taka potrzeba.

Zazwyczaj rozmiar bloku jest większy od rozmiaru rekordu, tak więc. ich efektywna lokalizacja kiedy tylko zachodzi taka potrzeba. Proces fizycznego projektowania bazy danych sprowadza się do wyboru określonych technik organizacji danych, najbardziej odpowiednich dla danych aplikacji. Pojęcia podstawowe: Dane są przechowywane na dysku

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, /15

Bazy danych. Andrzej Łachwa, UJ, /15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 15/15 PYTANIA NA EGZAMIN LICENCJACKI 84. B drzewa definicja, algorytm wyszukiwania w B drzewie. Zob. Elmasri:

Bardziej szczegółowo

Podstawowe struktury danych

Podstawowe struktury danych Podstawowe struktury danych 1) Listy Lista to skończony ciąg elementów: q=[x 1, x 2,..., x n ]. Skrajne elementy x 1 i x n nazywamy końcami listy, a wielkość q = n długością (rozmiarem) listy. Szczególnym

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

1. Kalkulator czterech działań. 2. Konwersja ciągu znaków do tablicy.

1. Kalkulator czterech działań. 2. Konwersja ciągu znaków do tablicy. 1. Kalkulator czterech działań. Kalkulator czterech działań: +, -, *, \ (bez nawiasów). Wejście: łańcuch znakowy, np. 1+2*3\4-5\2=, -2+4e-1= Liczby mogą być w formacie, np. +1.45, -2, 1e-10. 2. Konwersja

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

Definicja pliku kratowego

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

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania Plan wykładu Bazy danych Wykład 10: Fizyczna organizacja danych w bazie danych Model logiczny i model fizyczny Mechanizmy składowania plików Moduł zarządzania miejscem na dysku i moduł zarządzania buforami

Bardziej szczegółowo

2 Kryptografia: algorytmy symetryczne

2 Kryptografia: algorytmy symetryczne 1 Kryptografia: wstęp Wyróżniamy algorytmy: Kodowanie i kompresja Streszczenie Wieczorowe Studia Licencjackie Wykład 14, 12.06.2007 symetryczne: ten sam klucz jest stosowany do szyfrowania i deszyfrowania;

Bardziej szczegółowo

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je. Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie

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

EGZAMIN MATURALNY Z INFORMATYKI WYBRANE: ... (system operacyjny) ... (program użytkowy) ... (środowisko programistyczne)

EGZAMIN MATURALNY Z INFORMATYKI WYBRANE: ... (system operacyjny) ... (program użytkowy) ... (środowisko programistyczne) Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. MIN 2017 KOD UZUPEŁNIA ZDAJĄCY PESEL miejsce na naklejkę EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY CZĘŚĆ I DATA: 10

Bardziej szczegółowo

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

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

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

Programowanie w VB Proste algorytmy sortowania

Programowanie w VB Proste algorytmy sortowania Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich

Bardziej szczegółowo

PLAN WYKŁADU BAZY DANYCH HIERARCHIA MECHANIZMÓW SKŁADOWANIA PRZECHOWYWANIA BAZ DANYCH

PLAN WYKŁADU BAZY DANYCH HIERARCHIA MECHANIZMÓW SKŁADOWANIA PRZECHOWYWANIA BAZ DANYCH PLAN WYKŁADU Składowanie danych Podstawowe struktury plikowe Organizacja plików BAZY DANYCH Wykład 8 dr inż. Agnieszka Bołtuć HIERARCHIA MECHANIZMÓW SKŁADOWANIA Podstawowy mechanizm składowania pamięć

Bardziej szczegółowo

Struktura danych. Sposób uporządkowania informacji w komputerze. Na strukturach danych operują algorytmy. Przykładowe struktury danych:

Struktura danych. Sposób uporządkowania informacji w komputerze. Na strukturach danych operują algorytmy. Przykładowe struktury danych: Struktura danych Sposób uporządkowania informacji w komputerze. Na strukturach danych operują algorytmy. Przykładowe struktury danych: rekord tablica lista stos kolejka drzewo i jego odmiany (np. drzewo

Bardziej szczegółowo

Jeszcze o algorytmach

Jeszcze o algorytmach Jeszcze o algorytmach Przykłady różnych, podstawowych algorytmów 11.01.2018 M. Rad Plan Powtórka Znajdowanie najmniejszego elementu Segregowanie Poszukiwanie przez połowienie Wstawianie Inne algorytmy

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

Wstęp do programowania

Wstęp do programowania wykład 6 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Losowanie liczb całkowitych Dostępne biblioteki Najprostsze losowanie liczb całkowitych można wykonać za pomocą funkcji

Bardziej szczegółowo

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for. Zadania do wykonania Rozwiązując poniższe zadania użyj pętlę for. 1. apisz program, który przesuwa w prawo o dwie pozycje zawartość tablicy 10-cio elementowej liczb całkowitych tzn. element t[i] dla i=2,..,9

Bardziej szczegółowo

Lista 0. Kamil Matuszewski 1 marca 2016

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

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki

Bardziej szczegółowo

Fizyczna organizacja danych w bazie danych

Fizyczna organizacja danych w bazie danych Fizyczna organizacja danych w bazie danych PJWSTK, SZB, Lech Banachowski Spis treści 1. Model fizyczny bazy danych 2. Zarządzanie miejscem na dysku 3. Zarządzanie buforami (w RAM) 4. Organizacja zapisu

Bardziej szczegółowo

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych 2005/2006 Wykład "Podstawy baz danych" 1 Statyczny model pamiętania bazy danych 1. Dane przechowywane są w pamięci zewnętrznej podzielonej

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

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5. Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5. Schemat Hornera. Wyjaśnienie: Zadanie 1. Pozycyjne reprezentacje

Bardziej szczegółowo

Kryptologia przykład metody RSA

Kryptologia przykład metody RSA Kryptologia przykład metody RSA przygotowanie: - niech p=11, q=23 n= p*q = 253 - funkcja Eulera phi(n)=(p-1)*(q-1)=220 - teraz potrzebne jest e które nie jest podzielnikiem phi; na przykład liczba pierwsza

Bardziej szczegółowo

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku System plików 1. Pojęcie pliku 2. Typy i struktury plików 3. etody dostępu do plików 4. Katalogi 5. Budowa systemu plików Pojęcie pliku (ang( ang. file)! Plik jest abstrakcyjnym obrazem informacji gromadzonej

Bardziej szczegółowo

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza

Bardziej szczegółowo

[12] Metody projektowania algorytmów (dziel i rządź, programowanie dynamiczne i algorytmy zachłanne).

[12] Metody projektowania algorytmów (dziel i rządź, programowanie dynamiczne i algorytmy zachłanne). [12] Metody projektowania algorytmów (dziel i rządź, programowanie dynamiczne i algorytmy zachłanne). Tworzenie projektów informatycznych opiera się w dużej mierze na formułowaniu i implementacji algorytmów,

Bardziej szczegółowo

Złożoność obliczeniowa zadania, zestaw 2

Złożoność obliczeniowa zadania, zestaw 2 Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze

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

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

WYMAGANIA EDUKACYJNE Z INFORMATYKI dla klasy III gimnazjalnej, Szkoły Podstawowej w Rychtalu

WYMAGANIA EDUKACYJNE Z INFORMATYKI dla klasy III gimnazjalnej, Szkoły Podstawowej w Rychtalu WYMAGANIA EDUKACYJNE Z INFORMATYKI dla klasy III gimnazjalnej, Szkoły Podstawowej w Rychtalu 1 Algorytmika i programowanie Rozwiązywanie problemów i podejmowanie decyzji z wykorzystaniem komputera, stosowanie

Bardziej szczegółowo

Kurs ZDAJ MATURĘ Z MATEMATYKI MODUŁ 2 Teoria liczby rzeczywiste cz.2

Kurs ZDAJ MATURĘ Z MATEMATYKI MODUŁ 2 Teoria liczby rzeczywiste cz.2 1 POTĘGI Definicja potęgi ł ę ę > a 0 = 1 (każda liczba różna od zera, podniesiona do potęgi 0 daje zawsze 1) a 1 = a (każda liczba podniesiona do potęgi 1 dają tą samą liczbę) 1. Jeśli wykładnik jest

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4

Algorytmy i struktury danych. Wykład 4 Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych

Bardziej szczegółowo

Bazy danych - BD. Organizacja plików. Wykład przygotował: Robert Wrembel. BD wykład 5 (1)

Bazy danych - BD. Organizacja plików. Wykład przygotował: Robert Wrembel. BD wykład 5 (1) Organizacja plików Wykład przygotował: Robert Wrembel BD wykład 5 (1) 1 Plan wykładu Struktura przechowywania danych i organizacja rekordów w blokach Rodzaje organizacji plików pliki nieuporządkowane pliki

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

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 6a: Model danych oparty na zbiorach http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Model danych oparty na zbiorach

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 2 Algorytmy wyszukiwania, sortowania i selekcji Sortowanie bąbelkowe Jedna z prostszych metod sortowania, sortowanie w miejscu? Sortowanie bąbelkowe Pierwsze

Bardziej szczegółowo

PROLOG INNE PRZYKŁADY MACIEJ KELM

PROLOG INNE PRZYKŁADY MACIEJ KELM PROLOG INNE PRZYKŁADY MACIEJ KELM PREDYKAT RANDOM Funkcja random zwraca losową liczbę całkowitą w przedziale od 1 do X. Gdzie X jest parametrem funkcji random. Przed użyciem random należy zainicjować tak

Bardziej szczegółowo

5. Podstawowe algorytmy i ich cechy.

5. Podstawowe algorytmy i ich cechy. 23 5. Podstawowe algorytmy i ich cechy. 5.1. Wyszukiwanie liniowe i binarne 5.1.1. Wyszukiwanie liniowe Wyszukiwanie jest jedną z najczęściej wykonywanych operacji na strukturach danych i dotyczy wszystkich,

Bardziej szczegółowo

Dynamiczne struktury danych

Dynamiczne struktury danych Listy Zbiór dynamiczny Zbiór dynamiczny to zbiór wartości pochodzących z pewnego określonego uniwersum, którego zawartość zmienia się w trakcie działania programu. Elementy zbioru dynamicznego musimy co

Bardziej szczegółowo

Zarządzanie pamięcią operacyjną

Zarządzanie pamięcią operacyjną SOE Systemy Operacyjne Wykład 7 Zarządzanie pamięcią operacyjną dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Hierarchia pamięci czas dostępu Rejestry Pamięć podręczna koszt

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 4. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 4. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Tablice Wskaźniki Adresy pamięci Operator adresu

Bardziej szczegółowo

Algorytmy sortujące i wyszukujące

Algorytmy sortujące i wyszukujące Algorytmy sortujące i wyszukujące Zadaniem algorytmów sortujących jest ułożenie elementów danego zbioru w ściśle określonej kolejności. Najczęściej wykorzystywany jest porządek numeryczny lub leksykograficzny.

Bardziej szczegółowo

Algorytmy sortowania w języku C. Autor: mgr inż. Sławomir Samolej. Zagadnienie 1. (Sortowanie)

Algorytmy sortowania w języku C. Autor: mgr inż. Sławomir Samolej. Zagadnienie 1. (Sortowanie) emat zajęć: Algorytmy sortowania w języku C Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (Sortowanie) Kolejne zadania dotyczyć będą najprostszych w realizacji algorytmów sortowania. Algorytmy sortowania

Bardziej szczegółowo

EGZAMIN MATURALNY Z INFORMATYKI POZIOM PODSTAWOWY MAJ 2014 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

EGZAMIN MATURALNY Z INFORMATYKI POZIOM PODSTAWOWY MAJ 2014 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. Układ graficzny CKE 2013 KOD WPISUJE ZDAJĄCY PESEL Miejsce na naklejkę z kodem EGZAMIN MATURALNY Z INFORMATYKI POZIOM PODSTAWOWY

Bardziej szczegółowo

Lista, Stos, Kolejka, Tablica Asocjacyjna

Lista, Stos, Kolejka, Tablica Asocjacyjna Lista, Stos, Kolejka, Tablica Asocjacyjna Listy Lista zbiór elementów tego samego typu może dynamicznie zmieniać rozmiar, pozwala na dostęp do poszczególnych elementów Typowo dwie implementacje: tablicowa,

Bardziej szczegółowo

BAZY DANYCH. Microsoft Access. Adrian Horzyk OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW. Akademia Górniczo-Hutnicza

BAZY DANYCH. Microsoft Access. Adrian Horzyk OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW. Akademia Górniczo-Hutnicza BAZY DANYCH Microsoft Access OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki

Bardziej szczegółowo

Algorytmy i struktury danych. wykład 9

Algorytmy i struktury danych. wykład 9 Plan wykładu:. Algorytmy numeryczne. Funkcja skrótu jest to funkcja H, która dla do dowolnej informacji m przyporządkowuje niespecyficzną wartość h, mającą cechy pseudolosowe. Cechy: skróty są zazwyczaj

Bardziej szczegółowo

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych Algorytmy i Struktury Danych Podstawowe informacje Prowadzący: Jan Tuziemski Email: jan.tuziemski@pg.edu.pl Konsultacje: pokój 412 GB (do ustalenia 412 GB) Podstawowe informacje literatura K. Goczyła Struktury

Bardziej szczegółowo

Zadanie 1. Doskonała inaczej (6 pkt) Poniższy algorytm wyznacza wszystkie dzielniki liczby naturalnej n 1, mniejsze od n.

Zadanie 1. Doskonała inaczej (6 pkt) Poniższy algorytm wyznacza wszystkie dzielniki liczby naturalnej n 1, mniejsze od n. 2 Egzamin maturalny z informatyki Zadanie 1. Doskonała inaczej (6 pkt) Poniższy algorytm wyznacza wszystkie dzielniki liczby naturalnej n 1, mniejsze od n. Specyfikacja algorytmu: Dane: liczba naturalna

Bardziej szczegółowo

Zasady analizy algorytmów

Zasady analizy algorytmów Zasady analizy algorytmów A więc dziś w programie: - Kilka ważnych definicji i opisów formalnych - Złożoność: czasowa i pamięciowa - Kategorie problemów - Jakieś przykłady Problem: Zadanie możliwe do rozwiązania

Bardziej szczegółowo

Algorytmy i złożoność obliczeniowa. Wojciech Horzelski

Algorytmy i złożoność obliczeniowa. Wojciech Horzelski Algorytmy i złożoność obliczeniowa Wojciech Horzelski 1 Tematyka wykładu Ø Ø Ø Ø Ø Wprowadzenie Poprawność algorytmów (elementy analizy algorytmów) Wyszukiwanie Sortowanie Elementarne i abstrakcyjne struktury

Bardziej szczegółowo

INFORMATYKA SORTOWANIE DANYCH.

INFORMATYKA SORTOWANIE DANYCH. INFORMATYKA SORTOWANIE DANYCH http://www.infoceram.agh.edu.pl SORTOWANIE Jest to proces ustawiania zbioru obiektów w określonym porządku. Sortowanie stosowane jest w celu ułatwienia późniejszego wyszukania

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

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1 Ataki na RSA Andrzej Chmielowiec andrzej.chmielowiec@cmmsigma.eu Centrum Modelowania Matematycznego Sigma Ataki na RSA p. 1 Plan prezentacji Wprowadzenie Ataki algebraiczne Ataki z kanałem pobocznym Podsumowanie

Bardziej szczegółowo

BAZY DANYCH. Microsoft Access. Adrian Horzyk OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW. Akademia Górniczo-Hutnicza

BAZY DANYCH. Microsoft Access. Adrian Horzyk OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW. Akademia Górniczo-Hutnicza BAZY DANYCH Microsoft Access OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki

Bardziej szczegółowo

Informatyka 1. Złożoność obliczeniowa

Informatyka 1. Złożoność obliczeniowa Informatyka 1 Wykład XI Złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada 80 20, ocena efektywności

Bardziej szczegółowo

Indeksy. Schematyczne ujęcie organizacji pamięci i wymiany danych systemu pamiętania.

Indeksy. Schematyczne ujęcie organizacji pamięci i wymiany danych systemu pamiętania. Indeksy Statyczny model pamiętania bazy danych Bazy danych są fizycznie przechowywane jako pliki rekordów, które zazwyczaj są składowane na twardych dyskach. Dane przechowywane są w pamięci zewnętrznej,

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

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Podstawy systemów kryptograficznych z kluczem jawnym RSA Podstawy systemów kryptograficznych z kluczem jawnym RSA RSA nazwa pochodząca od nazwisk twórców systemu (Rivest, Shamir, Adleman) Systemów z kluczem jawnym można używać do szyfrowania operacji przesyłanych

Bardziej szczegółowo

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer Realizacja algorytmu przez komputer Wstęp do informatyki Wykład UniwersytetWrocławski 0 Tydzień temu: opis algorytmu w języku zrozumiałym dla człowieka: schemat blokowy, pseudokod. Dziś: schemat logiczny

Bardziej szczegółowo