TEORETYCZNE PODSTAWY INFORMATYKI
WFAiS UJ, Informatyka Stosowana II stopień studiów
1
22/01/2018
Prof. dr hab. Elżbieta Richter-Wąs
Wykład 14a: Repetytorium
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
2
Algorytmy i ich schematy blokowe
Proste algorytmy iteracyjne
Algorytmy z wykorzystaniem rekurencji
Algorytmy sortujące
Wykład na podstawie skryptu:
D. Nyk, „Algorytmy w przykladach”
http://informatyka.2ap.pl/ftp/3d/algorytmy/podręcznik_algorytmy.pdf
Schemat blokowy
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
3
Przedstawia algorytm w postaci symboli
graficznych, podając szczegółowo wszystkie operacje arytmetyczne, logiczne, przesyłania,
pomocnicze wraz z kolejnością ich wykonywania
Składa się z wielu elementów z których podstawowy jest blok
Poniżej przedstawione typowe podstawowe
bloki programów, istnieją oczywiście jeszcze
inne.
Schemat blokowy
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
4
Przedstawia algorytm w postaci symboli
graficznych, podając szczegółowo wszystkie operacje arytmetyczne, logiczne, przesyłania,
pomocnicze wraz z kolejnością ich wykonywania
Składa się z wielu elementów z których podstawowy
jest blok
Schemat blokowy
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
5
Schemat blokowy i specyfikacja programu
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
6
Algorytm liczenia średniej
Operandy i operatory
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
7
Stałe i zmienne łączymy operatorami aby otrzymać
wyrażenie. Stałe i zmienne nazywamy operandami.
Algorytmy z rozgałęzieniem
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
8
Instrukcja iteracji
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
9
Instrukcja iteracji
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
10
Badanie parzystości: algorytm 1
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
11
Maksymalnie 49 porównań liczby i z liczba 100
Tak
Badanie parzystości: algorytm 2
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
12
Maksymalnie porównań (x-1)/2 liczby i z liczba x.
Lepsza złożoność obliczeniowa
Tak
Algorytm Euklidesa
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
13
Największy wspólny dzielnik dwóch liczb.
Algorytm Euklidesa: wersja 1
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
14
Algorytm Euklidesa: wersja 2
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
15
Poszukiwanie lidera zbioru
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
16
Przeszukiwanie sekwencyjne
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
17
Warunek gwarantuje zakończenie pętli, możemy też wprowadzić wartownika
Złożoność obliczeniowa O(n)
Poszukiwanie najczęstszego elementu występującego w zbiorze
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
18
Poszukiwanie najczęstszego elementu występującego w zbiorze
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
19
Złożoność obliczeniowa O(n
2) Podejście bezpośrednie:
wybieramy kolejne elementy zbioru
i zliczamy częstość ich występowania.
Algorytm sprawdzający czy liczba jest liczba pierwszą.
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
20
Złożoność obliczeniowa O(n
1/2)
Złożoność obliczeniowa
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
21
Sortowanie naiwne
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
22
Pesymistyczna:
dla zbiorów posortowanych odwrotnie Optymistyczna:
dla zbiorów uporządkowanych z niedużą
ilością elementów nie na swoich miejscach
Sortowanie bąbelkowe
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
23
Sortowanie bąbelkowe: modyfikacje
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
24
Rekurencja: sortowanie
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
25
Rekurencja: program sortuj
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
26
Złożoność obliczeniowa
O(n log(n))
Rekurencja: blok scalaj
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
27
Złożoność obliczeniowa O(n)
Sortowanie stogowe
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
28
Drzewo binarne
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
29
Kopiec : tworzenie
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
30
Kopiec
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
31
Kopiec
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
32
Złożoność obliczeniowa O(n log(n))
Kopiec: rozbieranie
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
33
Kopiec: rozbieranie
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
34
Kopiec: rozbieranie
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
35
Kopiec: rozbieranie
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
36
Kopiec: rozbieranie
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
37
Złożoność obliczeniowa
O(n log(n))
Sortowanie przez kopcowanie
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
38
Algorytmy sortujące
22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs
39