Struktury danych i złożoność obliczeniowa. Prof. dr hab. inż. Jan Magott

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

Download "Struktury danych i złożoność obliczeniowa. Prof. dr hab. inż. Jan Magott"

Transkrypt

1 Struktury danych i złożoność obliczeniowa Prof. dr hab. inż. Jan Magott

2 Formy zajęć: Wykład 1 godz., Ćwiczenia 2 godz., Projekt 1 godz.. Strona kursu:

3 Struktury danych wchodzące w zakres kursu: Tablice, Listy, Kolejki, Stosy, Kopce, Grafy, Drzewa binarne, Tablice haszujące.

4 Plan 1. wykładu: 1. Podstawowe zasady analizy algorytmów: poprawność, skończoność, 2. Złożoność obliczeniowa (klasy złożoności czasowej i pamięciowej), 3. Koszt zamortyzowany, 4. Polskie Ramy Kwalifikacyjne przedmiotu, Literatura.

5 Podstawowe zasady analizy algorytmów: poprawność, skończoność Algorytm to procedura do rozwiązywania problemu. Algorytm może być wyrażony w: Języku naturalnym, Języku formalnym, Języku zawierającym konstrukcje języka naturalnego i formalnego, Schematem blokowym, Diagramem aktywności (czynności) języka UML, Pseudokodzie, Języku programowania.

6 Podstawowe zasady analizy algorytmów: poprawność, skończoność Algorytm rozwiązywania danego problemu obliczeniowego jest poprawny, jeśli dla każdej instancji (egzemplarza) tego problemu zatrzymuje się i daje dobry wynik.

7 Podstawowe zasady analizy algorytmów: poprawność, skończoność

8 Podstawowe zasady analizy algorytmów: poprawność, skończoność

9 Podstawowe zasady analizy algorytmów: poprawność, skończoność Poprawność algorytmów Niezmiennik (ang. invariant) pętli jest warunkiem, który: Inicjowanie: Jest prawdziwy przed pierwszą iteracją pętli, Niezmienniczość: Jeśli jest prawdziwy przed pewną iteracją pętli, to jest prawdziwy przed następną iteracją, Kończenie: Po zakończeniu pętli, z niezmiennika można udowodnić poprawność algorytmu. Własność stopu: dla poprawnych danych wejściowych algorytm zatrzymuje się w skończonym czasie.

10 Podstawowe zasady analizy algorytmów: poprawność, skończoność

11 Podstawowe zasady analizy algorytmów: poprawność, skończoność Algorytm sortowania bąbelkowego niemalejąco w kodzie C void bubblesort(int table[], int size) { int i, j, temp; for (i = 0; i<size; i++) { for (j=0; j<size-1-i; j++) { if (table[j] > table[j+1]) { temp = table[j+1]; table[j+1] = table[j]; table[j] = temp; } } } }

12 Podstawowe zasady analizy algorytmów: poprawność, skończoność

13 Podstawowe zasady analizy algorytmów: poprawność, skończoność nieposortowane posortowane

14 Złożoność obliczeniowa czasowa Problemy rozstrzygalne i nierozstrzygalne Problem rozstrzygalny (rozwiązywalny) to problem, dla którego istnieje algorytm znajdujący rozwiązanie w skończonej liczbie kroków. Problem nierozstrzygalny (nierozwiązywalny) to problem, dla którego udowodniono, że nie istnieje algorytm znajdujący rozwiązanie w skończonej liczbie kroków. Złożoność obliczeniową badamy dla problemów rozstrzygalnych.

15 Złożoność obliczeniowa czasowa

16 Złożoność obliczeniowa czasowa Przykłady problemów o więcej niż jednym rozmiarze danych: Problem mnożenia macierzy nie kwadratowych 3 rozmiary, Problemy grafowe rozmiarami mogą być: liczba wierzchołków, liczba łuków.

17 Złożoność obliczeniowa czasowa Wg teorii złożoności obliczeniowej efektywnym jest algorytm o złożoności czasowej ograniczonej od góry przez wielomian od rozmiarów problemu. Algorytmy o wykładniczej złożoności obliczeniowej uważane są za nieefektywne.

18 Złożoność obliczeniowa czasowa

19 Złożoność obliczeniowa czasowa

20 Dwie galaktyki z efektami soczewkowania grawitacyjnego [Zdjęcie wykonane teleskopem Hubble a]

21 Złożoność obliczeniowa czasowa

22 Złożoność obliczeniowa czasowa

23 Złożoność obliczeniowa czasowa

24 Złożoność obliczeniowa czasowa

25 Złożoność obliczeniowa czasowa

26 Złożoność obliczeniowa czasowa

27 Złożoność obliczeniowa czasowa

28 Złożoność obliczeniowa czasowa

29 Złożoność obliczeniowa czasowa Algorytm sortowania bąbelkowego w kodzie C void bubblesort(int table[], int size) { int i, j, temp; for (i = 0; i<size; i++) { for (j=0; j<size-1-i; j++) { if (table[j] > table[j+1]) { temp = table[j+1]; table[j+1] = table[j]; table[j] = temp; } } } }

30 Złożoność obliczeniowa czasowa

31 Złożoność obliczeniowa czasowa

32 Złożoność obliczeniowa czasowa Problem: Czy istnieje algorytm wielomianowy dla problemu podziału zbioru?

33 Złożoność obliczeniowa czasowa i pamięciowa

34 Złożoność obliczeniowa czasowa Problem: Czy istnieje algorytm wielomianowy dla problemu podziału zbioru? Udowodniono: Problem podziału zbioru jest tzw. Problemem NPzupełnym, tzn. z jego rozwiązania można wyznaczyć rozwiązanie każdego problemu klasy NP. Dla problemów NP-zupełnych wydaje się prawie pewne, że algorytmu wielomianowego nie uda się zbudować.

35 Złożoność obliczeniowa czasowa

36 Złożoność obliczeniowa czasowa Czy rozwiązanie jednego z dwu problemów: Decyzyjnego problemu szeregowania zadań niezależnych na dwu maszynach i Problemu podziału zbioru można wyznaczyć na postawie rozwiązania drugiego? Powyższe pytanie dotyczy redukcji (transformacji) jednego problemu do drugiego.

37 Złożoność obliczeniowa czasowa

38 Jakie ograniczenie narzucilibyśmy na złożoność obliczeniową transformacji? Złożoność obliczeniowa czasowa Czy rozwiązanie jednego z dwu problemów: Decyzyjnego problemu szeregowania zadań niezależnych na dwu maszynach i Problemu podziału zbioru można wyznaczyć na postawie rozwiązania drugiego? Powyższe pytanie dotyczy redukcji (transformacji) jednego problemu do drugiego.

39 Złożoność obliczeniowa czasowa Problem charakteryzowany jest poprzez Dane (dane wejściowe) i Zadanie do wykonania (np. Prob. opt.) lub Dane (dane wejściowe) i Pytanie (Prob. dec.).

40 Złożoność obliczeniowa czasowa

41 Lepiej nie mówić: Dla problemu NP-zupełnego najprawdopodobniej nie zostanie znaleziony wielomianowy algorytm rozwiązujący. Złożoność obliczeniowa czasowa i pamięciowa Złożoność obliczeniowa algorytmu a złożoność problemu Algorytm rozwiązujący problem może mieć czasową lub pamięciową złożoność obliczeniową logarytmiczną, liniową, wielomianową, wykładniczą lub wiele innych. Złożoność obliczeniowa problemu określa wymagania czasowe lub pamięciowe na algorytm rozwiązujący ten problem. Jeśli problem jest NP-zupełny, to prawie na pewno nie zostanie znaleziony wielomianowy algorytm rozwiązujący.

42 Złożoność obliczeniowa czasowa i pamięciowa P klasa problemów, dla których rozwiązania wymagany jest czas ograniczony od góry przez wielomian od rozmiarów problemu, PSPACE klasa problemów, dla których rozwiązania wymagana jest pamięć ograniczona przez wielomian od rozmiarów problemu, EXPTIME klasa problemów, dla których rozwiązania wymagany jest czas ograniczony przez funkcję wykładniczą od rozmiarów problemu, EXPSPACE klasa problemów, dla których rozwiązania wymagana jest pamięć ograniczona przez funkcję wykładniczą od rozmiarów problemu,

43 Złożoność obliczeniowa czasowa i pamięciowa

44 Złożoność obliczeniowa czasowa i pamięciowa

45 Złożoność obliczeniowa czasowa i pamięciowa [Źródło Wikipedia] P EXPTIME, PSPACE EXPSPACE

46 Koszt zamortyzowany

47 (Pr) ( A) ( B) ( C) ( D) Koszt zamortyzowany Assumption Execution times of operations, actions or statements are given by a real number. Start A B C D End Linear program Pr where A, B, C, D are operations, actions or statements ( A) R - execution time of A Execution time of the program Pr (Pr) ( A) ( B) ( C) ( D) [J. Magott, Information Systems Analysis]

48 Koszt zamortyzowany P B Start A D End 1-P C A program with decision ( D) execution time of decision D P probability of an event that after the decision D, the B action is executed If ( B) ( C) then execution time of the program depends on the decision.

49 Koszt zamortyzowany Execution time estimation methods P B Start A D End 1-P C 1. The worst case method w (Pr) ( A) ( D) max{ ( B), ( C)} w (Pr) - execution time estimation of the worst case Application: real-time systems.

50 Koszt zamortyzowany 2. The most probable path method P B Start A D End 1-P C If P>1-P then If P<1-P then g (Pr) ( A) ( D) ( B) g (Pr) ( A) ( D) ( C)

51 Koszt zamortyzowany P B Start A D 1-P C a ( B) ( C) (Pr) ( A) ( D) 2 End m (Pr) ( A) ( D) P ( B) ( 1 P) ( C)

52 Koszt zamortyzowany Czasowa złożoność obliczeniowa średniego przypadku P B Start A D End 1-P C m (Pr) ( A) ( D) P ( B) ( 1 P) ( C) Struktury sterowania: Kompozycja sekwencyjna, Alternatywa, Instrukcje pętli: for, while, do while, Instrukcja przełączania switch.

53 Koszt zamortyzowany Czasowa złożoność obliczeniowa średniego przypadku P B Start A D End 1-P C m (Pr) ( A) ( D) P ( B) ( 1 P) ( C) Metody wyznaczania: Analityczna na podstawie prawdopodobieństw rozgałęzień i rozkładów czasów wykonania instrukcji, Symulacyjna metoda Monte Carlo na podstawie analogicznych danych.

54 Koszt zamortyzowany (Notacja asymptotyczna)

55 Koszt zamortyzowany (Notacja asymptotyczna)

56 Koszt zamortyzowany (Notacja asymptotyczna)

57 Koszt zamortyzowany (Notacja asymptotyczna)

58 Koszt zamortyzowany (Notacja asymptotyczna)

59 Koszt zamortyzowany Operacja 1 Operacja 2 Operacja n

60 Koszt zamortyzowany Cel: Znalezienie jak najmniejszego pesymistycznego kosztu wykonania algorytmu. Sposób osiągnięcia: Wyznaczenie kosztu zamortyzowanego algorytmu co nie wymaga wyznaczania wielkości probabilistycznych.

61 Koszt zamortyzowany Metody analizy kosztu zamortyzowanego: Kosztu sumarycznego, Księgowania, Potencjału.

62 Koszt zamortyzowany (Metoda kosztu sumarycznego)

63 Koszt zamortyzowany (Metoda kosztu sumarycznego)

64 Koszt zamortyzowany (Metoda kosztu sumarycznego)

65 Koszt zamortyzowany (Metoda kosztu sumarycznego) MULTIPOP(S,4) MULTIPOP(S,8) Pusty stos S

66 Koszt zamortyzowany (Metoda kosztu sumarycznego)

67 Koszt zamortyzowany (Metoda księgowania)

68 Koszt zamortyzowany (Metoda księgowania)

69 Koszt zamortyzowany (Metoda księgowania)

70 Koszt zamortyzowany (Metoda księgowania)

71 Trzy następujące slajdy pochodzą z Polskich Ram Kwalifikacyjnych kursu Struktury danych i złożoność obliczeniowa

72 Forma zajęć - wykład Wy1 Podstawowe zasady analizy algorytmów: poprawność, złożoność obliczeniowa (klasy złożoności czasowej i pamięciowej), koszt zamortyzowany. 2 Polskie Ramy Kwalifikacyjne przedmiotu. Literatura. Wy2 Podstawowe techniki: metoda dziel i zwyciężaj, metoda zachłanna, transformacyjna konstrukcja algorytmu. 1 Wy3 Podstawowe struktury: stosy, kolejki, listy, kopce. 1 Wy4 Wy5 Wy6 Wy7 Kodowanie dziesiętne, dwójkowe i jedynkowe danych wejściowych problemu. Rozsądna reguła kodowania. Problemy łatwe i trudne. Problemy optymalizacyjne i decyzyjne. Funkcja czasowej złożoności obliczeniowej algorytmu. Deterministyczna jednotaśmowa maszyna Turinga. Przykładowy program dla deterministycznej maszyny Turinga. Program dla k-taśmowej deterministycznej maszyny Turinga. Dodawanie liczb dwójkowych na deterministycznych maszynach Turinga. Model obliczeń RAM. Algorytmy wielomianowy i ponadwielomianowy. Niedeterministyczna maszyna Turinga. Twierdzenie o relacji między Niedeterministyczną a Deterministyczną Maszyną Turinga. Klasy P i NP problemów decyzyjnych. Transformacja wielomianowa. Problem NP-zupełny. Dowodzenie NP-zupeł

73 Polskie Ramy Kwalifikacyjne przedmiotu. Literatura. Wy2 Podstawowe techniki: metoda dziel i zwyciężaj, metoda zachłanna, transformacyjna konstrukcja algorytmu. 1 Wy3 Podstawowe struktury: stosy, kolejki, listy, kopce. 1 Wy4 Wy5 Wy6 Wy7 Kodowanie dziesiętne, dwójkowe i jedynkowe danych wejściowych problemu. Rozsądna reguła kodowania. Problemy łatwe i trudne. Problemy optymalizacyjne i decyzyjne. Funkcja czasowej złożoności obliczeniowej algorytmu. Deterministyczna jednotaśmowa maszyna Turinga. Przykładowy program dla deterministycznej maszyny Turinga. Program dla k-taśmowej deterministycznej maszyny Turinga. Dodawanie liczb dwójkowych na deterministycznych maszynach Turinga. Model obliczeń RAM. Algorytmy wielomianowy i ponadwielomianowy. Niedeterministyczna maszyna Turinga. Twierdzenie o relacji między Niedeterministyczną a Deterministyczną Maszyną Turinga. Klasy P i NP problemów decyzyjnych. Transformacja wielomianowa. Problem NP-zupełny. Dowodzenie NP-zupełności problemów decyzyjnych. Wy8 Dowody NP-zupełności wybranych problemów 2 Wy9 Kolokwium 2 Suma godzin

74 Ćw1 Forma zajęć - ćwiczenia Zajęcia wprowadzające. Omówienie programu, podanie wymagań. Liczba godzin Ćw2 Podstawowe zasady analizy algorytmów 2 Ćw3 Podstawowe struktury danych: kolejki, listy, stosy, kopce 3 Ćw4 Struktury drzewiaste: BST, AVL, B-R, B-drzewo 5 Ćw5 Algorytmy sortowania np. Insertion-, Quick-, Merge-, Heap-, Radix- Ćw6 Tablice haszujące 2 Ćw7 Algorytmy selekcji: Hoare a, magicznych piątek 1 Ćw8 Algorytmy grafowe: reprezentacja grafów, metody przeszukiwania, minimalne drzewa rozpinające, 6 problemy ścieżkowe Ćw9 Wybrane problemy złożoności obliczeniowej: model maszyny Turinga (DTM, NDTM), redukcja wielomianowa 5 Ćw10 Kolokwium 2 Suma godzin

75 Pr1 Pr2 Pr3 Forma zajęć projekt Sprawy organizacyjne, omówienie zadań projektowych, wymagań oraz warunków zaliczenia. Badanie efektywności operacji na danych w podstawowych strukturach danych. Liczba godzin Badanie efektywności wybranych algorytmów grafowych np. w zależności od rozmiaru, struktury czy sposobu 8 reprezentacji grafu. Suma godzin

76 Oceny (F formująca (w trakcie semestru), P podsumowująca (na koniec semestru) F1 F2 F3 Sposób oceny osiągnięcia efektu kształcenia Odpowiedzi ustne, Wyniki kolokwiów cząstkowych. Wyniki realizacji zadań projektowych Kolokwium pisemne

77 Literatura [1] T. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Wprowadzenie do algorytmów, WNT [2] J. Błażewicz, Problemy optymalizacji kombinatorycznej, PWN, Warszawa [3] M. Garey, D. Johnson, Computers and Intractability: A Guide to the Theory of NP- Completeness, W. H. Freeman and Co., New York, 1979.

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott Struktury danych i złozoność obliczeniowa Prof. dr hab. inż. Jan Magott Formy zajęć: Wykład 1 godz., Ćwiczenia 1 godz., Projekt 2 godz.. Adres strony z materiałami do wykładu: http://www.zio.iiar.pwr.wroc.pl/sdizo.html

Bardziej szczegółowo

Efektywność Procedur Obliczeniowych. wykład 5

Efektywność Procedur Obliczeniowych. wykład 5 Efektywność Procedur Obliczeniowych wykład 5 Modele procesu obliczeń (8) Jedno-, wielotaśmowa MT oraz maszyna RAM są równoważne w przypadku, jeśli dany problem jest rozwiązywany przez jeden model w czasie

Bardziej szczegółowo

Algorytmy i Struktury Danych.

Algorytmy i Struktury Danych. Algorytmy i Struktury Danych. Organizacja wykładu. Problem Sortowania. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Podniesienie poziomu wiedzy studentów z zagadnień dotyczących analizy i syntezy algorytmów z uwzględnieniem efektywności

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott Metody konstrukcji algorytmów: Siłowa (ang. brute force), Dziel i zwyciężaj (ang. divide-and-conquer), Zachłanna (ang.

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca

Bardziej szczegółowo

KARTA KURSU. Algorytmy, struktury danych i techniki programowania. Algorithms, Data Structures and Programming Techniques

KARTA KURSU. Algorytmy, struktury danych i techniki programowania. Algorithms, Data Structures and Programming Techniques KARTA KURSU Nazwa Nazwa w j. ang. Algorytmy, struktury danych i techniki programowania Algorithms, Data Structures and Programming Techniques Kod Punktacja ECTS* 3 Koordynator dr Paweł Pasteczka Zespół

Bardziej szczegółowo

Zaawansowane algorytmy. Wojciech Horzelski

Zaawansowane algorytmy. Wojciech Horzelski Zaawansowane algorytmy Wojciech Horzelski 1 Organizacja Wykład: poniedziałek 8 15-10 Aula Ćwiczenia: Każdy student musi realizować projekty (treść podawana na wykładzie) : Ilość projektów : 5-7 Na realizację

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 5 Prof. dr hab. inż. Jan Magott DMT rozwiązuje problem decyzyjny π przy kodowaniu e w co najwyżej wielomianowym czasie, jeśli dla wszystkich łańcuchów wejściowych

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Złożoność obliczeniowa, poprawność programów Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XII Jesień 2013 1 / 20 Złożoność obliczeniowa Problem Ile czasu

Bardziej szczegółowo

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Algorytmy i struktury danych, C3

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Algorytmy i struktury danych, C3 KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:

Bardziej szczegółowo

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Realizacja w roku akademickim 2016/17

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Realizacja w roku akademickim 2016/17 Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2015 2019 Realizacja w roku akademickim 2016/17 1.1. Podstawowe informacje o przedmiocie/module Nazwa przedmiotu/ modułu

Bardziej szczegółowo

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P) Zał nr 4 do ZW WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU Nazwa w języku polskim : Algorytmy i Struktury Danych Nazwa w języku angielskim : Algorithms adn Data Structures Kierunek studiów

Bardziej szczegółowo

Projektowanie i analiza algorytmów

Projektowanie i analiza algorytmów POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Projektowanie i analiza algorytmów www.pk.edu.pl/~zk/piaa_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład

Bardziej szczegółowo

KARTA MODUŁU KSZTAŁCENIA

KARTA MODUŁU KSZTAŁCENIA KARTA MODUŁU KSZTAŁCENIA I. Informacje ogólne 1 Nazwa modułu kształcenia Algorytmy i struktury danych 2 Nazwa jednostki prowadzącej moduł Instytut Informatyki, Zakład Informatyki Stosowanej 3 Kod modułu

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 6. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 6. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 6. Prof. dr hab. inż. Jan Magott Problemy łatwe i trudne Problemy łatwe to problemy rozwiązywalne w czasie wielomianowym. Problemy trudne to takie, których

Bardziej szczegółowo

KARTA PRZEDMIOTU. Algorytmy i struktury danych, C4

KARTA PRZEDMIOTU. Algorytmy i struktury danych, C4 KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:

Bardziej szczegółowo

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 1. Podaj definicję informatyki. 2. W jaki sposób można definiować informatykę? 3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 4. Co to jest algorytm? 5. Podaj neumanowską architekturę

Bardziej szczegółowo

Algorytmy i struktury danych.

Algorytmy i struktury danych. Kod przedmiotu: ASD Rodzaj przedmiotu: Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): - Algorytmy i struktury danych. kierunkowy ; obowiązkowy Poziom studiów: pierwszego stopnia

Bardziej szczegółowo

Teoria obliczeń i złożoność obliczeniowa

Teoria obliczeń i złożoność obliczeniowa Teoria obliczeń i złożoność obliczeniowa Kontakt: dr hab. inż. Adam Kasperski, prof. PWr. pokój 509 B4 adam.kasperski@pwr.wroc.pl materiały + informacje na stronie www. Zaliczenie: Egzamin Literatura Problemy

Bardziej szczegółowo

Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences. Matematyka Poziom kwalifikacji: II stopnia

Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences. Matematyka Poziom kwalifikacji: II stopnia Nazwa przedmiotu: Kierunek: Rodzaj przedmiotu: obowiązkowy dla wszystkich specjalności Rodzaj zajęć: wykład, ćwiczenia Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences

Bardziej szczegółowo

Podstawy Informatyki. Sprawność algorytmów

Podstawy Informatyki. Sprawność algorytmów Podstawy Informatyki Sprawność algorytmów Sprawność algorytmów Kryteria oceny oszczędności Miara złożoności rozmiaru pamięci (złożoność pamięciowa): Liczba zmiennych + liczba i rozmiar struktur danych

Bardziej szczegółowo

Wprowadzenie do złożoności obliczeniowej

Wprowadzenie do złożoności obliczeniowej problemów Katedra Informatyki Politechniki Świętokrzyskiej Kielce, 16 stycznia 2007 problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów

Bardziej szczegółowo

Sortowanie przez scalanie

Sortowanie przez scalanie Sortowanie przez scalanie Wykład 2 12 marca 2019 (Wykład 2) Sortowanie przez scalanie 12 marca 2019 1 / 17 Outline 1 Metoda dziel i zwyciężaj 2 Scalanie Niezmiennik pętli - poprawność algorytmu 3 Sortowanie

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

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

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Algorytm 1. Termin algorytm jest używany w informatyce

Bardziej szczegółowo

PROBLEMY NIEROZSTRZYGALNE

PROBLEMY NIEROZSTRZYGALNE PROBLEMY NIEROZSTRZYGALNE Zestaw 1: T Przykład - problem domina T Czy podanym zestawem kafelków można pokryć dowolny płaski obszar zachowując odpowiedniość kolorów na styku kafelków? (dysponujemy nieograniczoną

Bardziej szczegółowo

Zaawansowane algorytmy i struktury danych

Zaawansowane algorytmy i struktury danych Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)

Bardziej szczegółowo

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Realizacja w roku akademickim 2016/17

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Realizacja w roku akademickim 2016/17 Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2016 2020 Realizacja w roku akademickim 2016/17 1.1. Podstawowe informacje o przedmiocie/module Nazwa przedmiotu/ modułu

Bardziej szczegółowo

Sortowanie przez wstawianie

Sortowanie przez wstawianie Sortowanie przez wstawianie Wykład 1 26 lutego 2019 (Wykład 1) Sortowanie przez wstawianie 26 lutego 2019 1 / 25 Outline 1 Literatura 2 Algorytm 3 Problem sortowania Pseudokod 4 Sortowanie przez wstawianie

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

Sylabus modułu: Matematyczne podstawy informatyki (kod modułu:03-mo2n-12-mpln)

Sylabus modułu: Matematyczne podstawy informatyki (kod modułu:03-mo2n-12-mpln) Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Matematyka, studia II stopnia, rok 1 Sylabus modułu: Matematyczne podstawy informatyki (kod modułu:03-mo2n-12-mpln) 1. Informacje ogólne

Bardziej szczegółowo

Struktura danych. Sposób uporządkowania informacji w komputerze.

Struktura danych. Sposób uporządkowania informacji w komputerze. Struktura danych Sposób uporządkowania informacji w komputerze. Algorytm Skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Al-Khwarizmi perski matematyk

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

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Algorytmy i struktury danych

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Algorytmy i struktury danych Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu Wydział Inżynierii Elektrycznej i Komputerowej obowiązuje w roku akademickim 2012/2013 Kierunek studiów: Elektrotechnika Forma studiów: Niestacjonarne

Bardziej szczegółowo

wstęp do informatyki i programowania część testowa (25 pyt. / 60 min.)

wstęp do informatyki i programowania część testowa (25 pyt. / 60 min.) egzamin podstawowy 7 lutego 2017 r. wstęp do informatyki i programowania część testowa (25 pyt. / 60 min.) Instytut Informatyki Uniwersytetu Wrocławskiego Paweł Rzechonek imię, nazwisko i nr indeksu:..............................................................

Bardziej szczegółowo

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

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

Algorytmy i struktury danych

Algorytmy i struktury danych Kierunek Profil kształcenia Nazwa jednostki realizującej moduł/przedmiot: Kontakt (tel./email): Osoba odpowiedzialna za przedmiot: Osoba(y) prowadząca(e) Przedmioty wprowadzające wraz z wymaganiami wstępnymi

Bardziej szczegółowo

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/

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

koordynator modułu dr hab. Michał Baczyński rok akademicki 2012/2013

koordynator modułu dr hab. Michał Baczyński rok akademicki 2012/2013 Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Matematyka, studia II stopnia, rok 1 Sylabus modułu: Matematyczne podstawy informatyki (03-MO2S-12-MPIn) 1. Informacje ogólne koordynator

Bardziej szczegółowo

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Wykład 8. Drzewo rozpinające (minimum spanning tree) Wykład 8 Drzewo rozpinające (minimum spanning tree) 1 Minimalne drzewo rozpinające - przegląd Definicja problemu Własności minimalnych drzew rozpinających Algorytm Kruskala Algorytm Prima Literatura Cormen,

Bardziej szczegółowo

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa). Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z

Bardziej szczegółowo

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski Modele Obliczeń Wykład 1 - Wprowadzenie Marcin Szczuka Instytut Matematyki, Uniwersytet Warszawski Wykład fakultatywny w semestrze zimowym 2014/2015 Marcin Szczuka (MIMUW) Modele Obliczeń 2014/2015 1 /

Bardziej szczegółowo

Lista 6 Problemy NP-zupełne

Lista 6 Problemy NP-zupełne 1 Wprowadzenie Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Teoretyczne Podstawy Informatyki Lista 6 Problemy NP-zupełne Problem abstrakcyjny Q jest to relacja dwuargumentowa

Bardziej szczegółowo

Podstawy Programowania. Złożoność obliczeniowa

Podstawy Programowania. Złożoność obliczeniowa Podstawy Programowania Wykład X Złożoność obliczeniowa Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada

Bardziej szczegółowo

WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU

WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU Zał. nr do ZW WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU Nazwa w języku polskim BADANIA OPERACYJNE Nazwa w języku angielskim Operational research Kierunek studiów (jeśli dotyczy): Matematyka

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

Projektowanie i Analiza Algorytmów

Projektowanie i Analiza Algorytmów POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI I TECHNIK INFORMACYJNYCH Projektowanie i Analiza Algorytmów www.pk.edu.pl/~zk/piaa_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Wykład X 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

Podstawy Programowania. Złożoność obliczeniowa

Podstawy Programowania. Złożoność obliczeniowa Podstawy Programowania Wykład X Złożoność obliczeniowa Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada

Bardziej szczegółowo

IZ2ZSD2 Złożone struktury danych Advanced data structures. Informatyka II stopień ogólnoakademicki niestacjonarne

IZ2ZSD2 Złożone struktury danych Advanced data structures. Informatyka II stopień ogólnoakademicki niestacjonarne KARTA MODUŁU / KARTA PRZEDMIOTU Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013

Bardziej szczegółowo

Wprowadzenie do algorytmów / Thomas H. Cormen [et al.]. - wyd. 7. Warszawa, Spis treści. Wprowadzenie 2

Wprowadzenie do algorytmów / Thomas H. Cormen [et al.]. - wyd. 7. Warszawa, Spis treści. Wprowadzenie 2 Wprowadzenie do algorytmów / Thomas H. Cormen [et al.]. - wyd. 7. Warszawa, 2012 Spis treści Przedmowa XIII Część I Podstawy Wprowadzenie 2 1. Rola algorytmów w obliczeniach 4 1.1. Algorytmy 4 1.2. Algorytmy

Bardziej szczegółowo

Grafy i sieci w informatyce - opis przedmiotu

Grafy i sieci w informatyce - opis przedmiotu Grafy i sieci w informatyce - opis przedmiotu Informacje ogólne Nazwa przedmiotu Grafy i sieci w informatyce Kod przedmiotu 11.9-WI-INFD-GiSwI Wydział Kierunek Wydział Informatyki, Elektrotechniki i Automatyki

Bardziej szczegółowo

Złożoność obliczeniowa. wykład 1

Złożoność obliczeniowa. wykład 1 Złożoność obliczeniowa wykład 1 Dwa wykłady: wtorek / środa różnice niewielkie Sprawy organizacyjne wtorek: trochę szybciej, parę dodatkowych rzeczy dedykowana grupa ćw. M. Pilipczuka - ale śmiało mogą

Bardziej szczegółowo

Języki, automaty i obliczenia

Języki, automaty i obliczenia Języki, automaty i obliczenia Wykład 12: Gramatyki i inne modele równoważne maszynom Turinga. Wstęp do złożoności obliczeniowej Sławomir Lasota Uniwersytet Warszawski 20 maja 2015 Plan 1 Gramatyki 2 Języki

Bardziej szczegółowo

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu danych

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Wykład X Złożoność obliczeniowa Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada

Bardziej szczegółowo

Instytut Ekonomiczny 9 kierunek studiów

Instytut Ekonomiczny 9 kierunek studiów Kod przedmiotu: PLPILA02-IEEKO-L-2s1-2012IWBIAS Pozycja planu: D1 INFORMACJE O PRZEDMIOCIE A. Podstawowe dane 1 Nazwa przedmiotu Algorytmy i struktury 2 Rodzaj przedmiotu Specjalnościowy /Obowiązkowy 3

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

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy: Temat: Powtórzenie wiadomości z PODSTAW INFORMATYKI I: Pojęcia: złożoność czasowa algorytmu, rząd funkcji kosztu. Algorytmy. Metody programistyczne. Struktury danych. Literatura. A. V. Aho, J.E. Hopcroft,

Bardziej szczegółowo

Algorytmy i struktury danych Metody programowania Języki i paradygmaty programowania Nazwa jednostki prowadzącej przedmiot Instytut Matematyki

Algorytmy i struktury danych Metody programowania Języki i paradygmaty programowania Nazwa jednostki prowadzącej przedmiot Instytut Matematyki OPIS MODUŁU KSZTAŁCENIA (przedmiot lub grupa przedmiotów) Nazwa modułu/ przedmiotu Przedmiot/y Algorytmy i metody Algorytmy i struktury danych Metody Języki i paradygmaty Nazwa jednostki prowadzącej przedmiot

Bardziej szczegółowo

Programowanie dynamiczne i algorytmy zachłanne

Programowanie dynamiczne i algorytmy zachłanne Programowanie dynamiczne i algorytmy zachłanne Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii

Bardziej szczegółowo

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010 1/1 Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010 Kierunek: INFORMATYKA Specjalność: PRZEDMIOT OBOWIĄZKOWY DLA WSZYSTKICH STUDENTÓW. Tryb studiów: NIESTACJONARNE PIERWSZEGO STOPNIA

Bardziej szczegółowo

Podyplomowe Studium Informatyki

Podyplomowe Studium Informatyki Podyplomowe Studium Informatyki Wstęp do informatyki 30 godz. wykładu dr inż. Paweł Syty, 413GB, sylas@mif.pg.gda.pl, http://sylas.info Literatura D. Harel, Rzecz o istocie informatyki. Algorytmika, WNT

Bardziej szczegółowo

Kierunek i poziom studiów: Matematyka, studia I stopnia (licencjackie), rok I

Kierunek i poziom studiów: Matematyka, studia I stopnia (licencjackie), rok I Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Matematyka, studia I stopnia (licencjackie), rok I Sylabus modułu: Informatyka (03-MO1N-12-Info) 1. Informacje ogólne koordynator modułu

Bardziej szczegółowo

Wykład 2. Poprawność algorytmów

Wykład 2. Poprawność algorytmów Wykład 2 Poprawność algorytmów 1 Przegląd Ø Poprawność algorytmów Ø Podstawy matematyczne: Przyrost funkcji i notacje asymptotyczne Sumowanie szeregów Indukcja matematyczna 2 Poprawność algorytmów Ø Algorytm

Bardziej szczegółowo

ID2ZSD2 Złożone struktury danych Advanced data structures. Informatyka II stopień ogólnoakademicki stacjonarne

ID2ZSD2 Złożone struktury danych Advanced data structures. Informatyka II stopień ogólnoakademicki stacjonarne Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013

Bardziej szczegółowo

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Algorytmy i Struktury Danych www.pk.edu.pl/~zk/aisd_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 9: Programowanie

Bardziej szczegółowo

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Więcej o sprawności algorytmów Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Załóżmy, że możemy wykonać dane zadanie przy użyciu dwóch algorytmów: jednego o złożoności czasowej

Bardziej szczegółowo

Załącznik Nr 5 do Zarz. Nr 33/11/ Kod przedmiotu:aisd2

Załącznik Nr 5 do Zarz. Nr 33/11/ Kod przedmiotu:aisd2 Załącznik Nr 5 do Zarz. Nr 33/11/12 (pieczęć wydziału) KARTA PRZEDMIOTU Z1-PU7 WYDANIE N1 Strona 1 z 5 1. Nazwa przedmiotu: ALGORYTMY I STRUKTURY DANYCH 2 3. Karta przedmiotu ważna od roku akademickiego:

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści wspólnych z kierunkiem Matematyka, moduł kierunku obowiązkowy PODSTAWY INFORMATYKI Fundamentals of computer science

Bardziej szczegółowo

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Projektowanie i analiza algorytmów

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Projektowanie i analiza algorytmów Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu Wydział Inżynierii Elektrycznej i Komputerowej obowiązuje w roku akademickim 01/013 Kierunek studiów: Elektrotechnika Forma studiów: Niestacjonarne

Bardziej szczegółowo

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Struktury danych i algorytmy. 2. KIERUNEK: Matematyka. 3. POZIOM STUDIÓW: I stopnia

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Struktury danych i algorytmy. 2. KIERUNEK: Matematyka. 3. POZIOM STUDIÓW: I stopnia KARTA PRZEDMIOTU 1. NAZWA PRZEDMIOTU: Struktury danych i algorytmy 2. KIERUNEK: Matematyka 3. POZIOM STUDIÓW: I stopnia 4. ROK/ SEMESTR STUDIÓW: III/5 5. LICZBA PUNKTÓW ECTS: 6 6. LICZBA GODZIN: 30 wykład

Bardziej szczegółowo

Typy algorytmów losowych. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Typy algorytmów losowych. ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Typy algorytmów losowych ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Typy algorytmów losowych Las Vegas - zawsze daje prawidłowa odpowiedź (różny czas działania). Przykład: RandQuicksort ALP520

Bardziej szczegółowo

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/ kuszner/arir/ 2005/06

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład. Prof. dr hab. inż. Jan Magott Algorytmy grafowe: podstawowe pojęcia, reprezentacja grafów, metody przeszukiwania, minimalne drzewa rozpinające, problemy

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 13. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 13. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 13 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Złożoność algorytmów czy to istotne, skoro

Bardziej szczegółowo

dodatkowe operacje dla kopca binarnego: typu min oraz typu max:

dodatkowe operacje dla kopca binarnego: typu min oraz typu max: ASD - ćwiczenia IX Kopce binarne własność porządku kopca gdzie dla każdej trójki wierzchołków kopca (X, Y, Z) porządek etykiet elem jest następujący X.elem Y.elem oraz Z.elem Y.elem w przypadku kopca typu

Bardziej szczegółowo

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

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 13. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 13 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Złożoność algorytmów czy to istotne, skoro

Bardziej szczegółowo

Rozdział 4. Algorytmy sortowania 73 Rozdział 5. Typy i struktury danych 89 Rozdział 6. Derekursywacja i optymalizacja algorytmów 147

Rozdział 4. Algorytmy sortowania 73 Rozdział 5. Typy i struktury danych 89 Rozdział 6. Derekursywacja i optymalizacja algorytmów 147 Spis treści Przedmowa 9 Rozdział 1. Zanim wystartujemy 17 Jak to wcześniej bywało, czyli wyjątki z historii maszyn algorytmicznych 18 Jak to się niedawno odbyło, czyli o tym, kto wymyślił" metodologię

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

Algorytmy. Programowanie Proceduralne 1

Algorytmy. Programowanie Proceduralne 1 Algorytmy Programowanie Proceduralne 1 Przepis Warzenie piwa Brunświckiego Programowanie Proceduralne 2 Przepis Warzenie piwa Brunświckiego składniki (dane wejściowe): woda, słód, itd. wynik: beczka piwa

Bardziej szczegółowo

WYDZIAŁ MATEMATYKI KARTA PRZEDMIOTU

WYDZIAŁ MATEMATYKI KARTA PRZEDMIOTU Zał. nr do ZW WYDZIAŁ MATEMATYKI KARTA PRZEDMIOTU Nazwa w języku polskim PODSTAWY TEORII INFORMACJI Nazwa w języku angielskim Introduction to Information Theory Kierunek studiów (jeśli dotyczy): Matematyka

Bardziej szczegółowo

Algorytmy i Struktury Danych.

Algorytmy i Struktury Danych. Algorytmy i Struktury Danych. Metoda Dziel i zwyciężaj. Problem Sortowania, cd. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 2 Bożena Woźna-Szcześniak (AJD) Algorytmy

Bardziej szczegółowo

Sortowanie - wybrane algorytmy

Sortowanie - wybrane algorytmy Sortowanie - wybrane algorytmy Aleksandra Wilkowska Wydział Matematyki - Katedra Matematyki Stosowanej Politechika Wrocławska 2 maja 2018 1 / 39 Plan prezentacji Złożoność obliczeniowa Sortowanie bąbelkowe

Bardziej szczegółowo

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny Klasa 2 INFORMATYKA dla szkół ponadgimnazjalnych zakres rozszerzony Założone osiągnięcia ucznia wymagania edukacyjne na poszczególne oceny Algorytmy 2 3 4 5 6 Wie, co to jest algorytm. Wymienia przykłady

Bardziej szczegółowo

ALGORYTMY I STRUKTURY DANYCH

ALGORYTMY I STRUKTURY DANYCH ALGORYTMY I STRUKTURY DANYCH wykład 1 wprowadzenie, struktury sterujace, projektowanie algorytmów dr hab. inż. Andrzej Obuchowicz, prof. UZ Instytut Sterowania i Systemów Informatycznych UZ p. 425 A2 tel.

Bardziej szczegółowo

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM. WYKŁAD : Teoria NP-zupełnoci. Problem decyzyjny naley do klasy P (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM. (przynaleno ta jest zachowana równie dla

Bardziej szczegółowo

Algorytmy i struktury danych Matematyka III sem.

Algorytmy i struktury danych Matematyka III sem. Algorytmy i struktury danych Matematyka III sem. 30 godz. wykł. / 15 godz. ćw. / 15 godz. projekt dr inŝ. Paweł Syty, 413GB, sylas@mif.pg.gda.pl, http://sylas.info Literatura T.H. Cormen i inni, Wprowadzenie

Bardziej szczegółowo

Poprawność semantyczna

Poprawność semantyczna Poprawność składniowa Poprawność semantyczna Poprawność algorytmu Wypisywanie zdań z języka poprawnych składniowo Poprawne wartościowanie zdań języka, np. w języku programowania skutki wystąpienia wyróżnionych

Bardziej szczegółowo

S Y L A B U S. język polski. Forma zaliczenia laboratorium 10 ZO 2 4 wykład 6 ZO Razem 16 2

S Y L A B U S. język polski. Forma zaliczenia laboratorium 10 ZO 2 4 wykład 6 ZO Razem 16 2 S Y L A B U S Nazwa programu kształcenia: WNEiZ-IiE-O-I-N-7/8Z-IO Nazwa przedmiotu: algorytmy i struktury danych (SPECJALNOŚCI / SPECJALIZACJE / MODUŁY SPECJALNOŚCIOWE) Kod przedmiotu:.wwaij_n Nazwa jednostki

Bardziej szczegółowo

KARTA MODUŁU KSZTAŁCENIA

KARTA MODUŁU KSZTAŁCENIA KARTA MODUŁU KSZTAŁCENIA I. Informacje ogólne I. 1 Nazwa modułu kształcenia Podstawy informatyki i architektury systemów komputerowych 2 Nazwa jednostki prowadzącej moduł Instytut Informatyki Zakład Informatyki

Bardziej szczegółowo

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Grażyna Koba MIGRA 2019 Spis treści (propozycja na 2*32 = 64 godziny lekcyjne) Moduł A. Wokół komputera i sieci komputerowych

Bardziej szczegółowo

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Podstawowe algorytmy i ich implementacje w C. Wykład 9 Wstęp do programowania 1 Podstawowe algorytmy i ich implementacje w C Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Element minimalny i maksymalny zbioru Element minimalny

Bardziej szczegółowo

Złożoność algorytmów. Wstęp do Informatyki

Złożoność algorytmów. Wstęp do Informatyki Złożoność algorytmów Złożoność pamięciowa - liczba i rozmiar struktur danych wykorzystywanych w algorytmie Złożoność czasowa - liczba operacji elementarnych wykonywanych w trakcie przebiegu algorytmu Złożoność

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie

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