• Nie Znaleziono Wyników

INFORMATYKI TEORETYCZNE PODSTAWY

N/A
N/A
Protected

Academic year: 2021

Share "INFORMATYKI TEORETYCZNE PODSTAWY"

Copied!
39
0
0

Pełen tekst

(1)

TEORETYCZNE PODSTAWY INFORMATYKI

WFAiS UJ, Informatyka Stosowana II stopień studiów

1

22/01/2018

Prof. dr hab. Elżbieta Richter-Wąs

(2)

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

(3)

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.

(4)

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

(5)

Schemat blokowy

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

5

(6)

Schemat blokowy i specyfikacja programu

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

6

Algorytm liczenia średniej

(7)

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.

(8)

Algorytmy z rozgałęzieniem

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

8

(9)

Instrukcja iteracji

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

9

(10)

Instrukcja iteracji

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

10

(11)

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

(12)

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

(13)

Algorytm Euklidesa

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

13

 Największy wspólny dzielnik dwóch liczb.

(14)

Algorytm Euklidesa: wersja 1

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

14

(15)

Algorytm Euklidesa: wersja 2

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

15

(16)

Poszukiwanie lidera zbioru

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

16

(17)

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)

(18)

Poszukiwanie najczęstszego elementu występującego w zbiorze

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

18

(19)

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.

(20)

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

)

(21)

Złożoność obliczeniowa

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

21

(22)

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

(23)

Sortowanie bąbelkowe

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

23

(24)

Sortowanie bąbelkowe: modyfikacje

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

24

(25)

Rekurencja: sortowanie

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

25

(26)

Rekurencja: program sortuj

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

26

Złożoność obliczeniowa

O(n log(n))

(27)

Rekurencja: blok scalaj

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

27

Złożoność obliczeniowa O(n)

(28)

Sortowanie stogowe

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

28

(29)

Drzewo binarne

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

29

(30)

Kopiec : tworzenie

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

30

(31)

Kopiec

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

31

(32)

Kopiec

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

32

Złożoność obliczeniowa O(n log(n))

(33)

Kopiec: rozbieranie

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

33

(34)

Kopiec: rozbieranie

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

34

(35)

Kopiec: rozbieranie

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

35

(36)

Kopiec: rozbieranie

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

36

(37)

Kopiec: rozbieranie

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

37

Złożoność obliczeniowa

O(n log(n))

(38)

Sortowanie przez kopcowanie

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

38

(39)

Algorytmy sortujące

22/01/2018 Prof. dr hab. Elżbieta Richter-Wąs

39

Cytaty

Powiązane dokumenty

 Ma postać ciągu kroków których jest liniowa ilość (np. stała albo proporcjonalna do liczby danych) które muszą zostać bezwarunkowo wykonane jeden po drugim.. 

w języku matematycznym, lista jest ciągiem n elementów, który zapisujemy jako (a1,a2, …,an)..  Zadaniem systemu operacyjnego jest zarządzanie i szeregowanie zasobów

WFAiS UJ, Informatyka Stosowana I rok studiów, I

 możliwość zapisu dowolnie dużej liczby, jednak do zapisu bardzo dużych liczb (nawet okrągłych) jest potrzebna duża liczba cyfr..  Współcześnie powszechnie używany

w języku matematycznym, lista jest ciągiem n elementów, który zapisujemy jako (a1,a2, …,an)..  Zadaniem systemu operacyjnego jest zarządzanie i szeregowanie zasobów

Zaletą systemów pozycyjnych jest ich klarowność, łatwość dokonywania nawet złożonych operacji arytmetycznych oraz możliwość zapisu dowolnie dużej liczby, jednak do

 Jeśli graf G stanowi pojedynczą spójną składową to drzewo rozpinające zawsze istnieje.. minimal spanning tree) to drzewo rozpinające, w którym suma etykiet jego

 Przyjmujemy zasadę że czas działania pewnych prosty operacji na danych wynosi O(1), czyli jest niezależny od rozmiaru danych wejściowych.. indeksowanie