Různé algoritmy mají různou složitost

Rozměr: px
Začít zobrazení ze stránky:

Download "Různé algoritmy mají různou složitost"

Transkript

1 / 1 Různé algoritmy mají různou složitost

2 1/ 1 Rychlost... Jeden algoritmus (program, postup, metoda ) je rychlejší než druhý. Co ta věta znamená??

3 2/ 1 Asymptotická složitost y y x x Každému algoritmu lze jednoznačně přiřadit rostoucí funkci zvanou asymptotická složitost, která charakterizuje počet operací algoritmu v závislosti na rostoucím rozsahu vstupních dat. Čím pomaleji tato funkce roste, tím je algoritmus rychlejší.

4 Asymptotická složitost 3/ 1 Y Y ~ zatížení systému (trvání výpočtu) X X ~ naše požadavky (rozsah vstupních dat)

5 Příklady 4 / 1 Najdi min and max Find hodnotu max and v poli min in the STANDARD array min 3 max 3 a min 3 max 3 a if (a[i] < min) min = a[i]; if (a[i] > max) max = a[i]; min 2 max 3 a

6 Příklady 5 / 1 Najdi min and max hodnotu v poli STANDARD min max a atd... hotovo min max a kód min = a[0]; max = a[0]; for ( i = 1; i < a.length; i++) { if (a[i] < min) min = a[i]; if (a[i] > max) max = a[i]; }

7 Příklady 6 / 1 Najdi min and max hodnotu v poli RYCHLEJI! min 3 max 3 a min 3 max 3 a if (a[i] < a[i+1]) { if ( a[i] < min) min = a[i]; if (a[i+1] > max) max = a[i+1];} min 2 max 7 a

8 Příklady 7 / 1 Najdi min and max hodnotu v poli RYCHLEJI! min max a if (a[i] < a[i+1]) { if ( a[i] < min) min = a[i]; if (a[i+1] > max) max = a[i+1];} else { if ( a[i] > max) max = a[i]; if (a[i+1] < min) min = a[i+1];} min 0 max 10 a

9 Příklady 8 / 1 Najdi min and max hodnotu v poli RYCHLEJI! hotovo min max a kód min = a[0]; max = a[0]; for (i=1; i < a.length-1; i=i+2 ) { if (a[i] < a[i+1]) { if ( a[i] < min) min = a[i]; if (a[i+1] > max) max = a[i+1];} else { if ( a[i] > max) max = a[i]; if (a[i+1] < min) min = a[i+1];}}

10 9 / 1 Počítání složitosti Elementární operace aritmetická operace porovnání dvou čísel přesun čísla v paměti Složitost A celkový počet elementárních operací zjednodušení Složitost B celkový počet elementárních operací nad daty

11 10 / 1 Počítání složitosti Složitost B celkový počet elementárních operací nad daty další zjednodušení Složitost C celkový počet porovnání čísel (znaků).v datech Takto složitost mnohdy počítáme

12 11 / 1 Počítání složitosti Najdi min and max hodnotu v poli STANDARD Složitost Všechny operace Případ A 1 1 a.length = N min = a[0]; max = a[0]; 1 N for ( i = 1; i < a.length; i++){ N 1 if (a[i] < min) min = a[i]; N N 1 N 1 exkluzive! if (a[i] > max) max = a[i]; } nejlepší nejhorší N + N 1 + N N = 4N N + N 1 + N 1 + N 1 + N 1 = 5N 1

13 12 / 1 Počítání složitosti Najdi min and max hodnotu v poli STANDARD složitost Operace nad daty Případ B 1 1 a.length = N min = a[0]; max = a[0]; for ( i = 1; i < a.length; i++){ N N 1 if (a[i] < min) min = a[i]; N N 1 if (a[i] > max) max = a[i]; } nejlepší nejhorší N N = 2N N 1 + N 1 + N 1 + N 1 = 4N 2

14 13 / 1 Počítání složitosti Najdi min and max hodnotu v poli STANDARD složitost C pouze testy v datech min = a[0]; max = a[0]; for ( i = 1; i < a.length; i++){ N 1 if (a[i] < min) min = a[i]; N 1 a.length = N if (a[i] > max) max = a[i]; } vždy N 1 + N 1 = 2N 2 testů

15 14 / 1 Počítání složitosti Najdi min and max hodnotu v poli RYCHLEJI! složitost C pouze testy v datech a N a.length = N Jedna dvojice 3 testy (N 1)/2 dvojic vždy 3(N 1)/2 = (3N 3)/2 testů

16 15/ 1 Velikost pole N Počítání složitosti Počet testů STANDARDNÍ 2 (N 1) Počet testů RYCHLEJŠÍ (3N 3)/2 poměr STD./RYCHL Tab. 1

17 Příklady 16 / 1 data pole a: pole b: úloha Kolik prvků pole b je rovno součtu prvků pole a? řešení pole a: součet = 4 pole b: výsledek =

18 funkce Příklady int sumarr(int[] a) { /*snadné*/ } POMALÁ metoda count = 0; for (int i = 0; i < b.length; i++) if (b[i]==sumarr(a)) count++; return count; 17/ 1 count = 0; sumof_b = sumarr(a); RYCHLÁ metoda for (int i = 0; i < b.length; i++) if (b[i]==sumof_b) count++; return count;

19 18 / 1 pole a: Počítání složitosti a.length == n b.length == n POMALÁ metoda pole b: n x n = n 2 operací Kvadratická složitost pole a: a.length == n b.length == n RYCHLÁ metoda součet a: 4 2 x n operací pole b: Lineární složitost

20 19 / 1 Počítání složitosti Velikost pole N POMALÁ metoda RYCHLÁ metoda operací N 2 operací 2N poměr POMALÁ/RYCHLÁ Tab. 2

21 20 / 1 Počítání složitosti Velikost pole N Poměr rychlostí řešení 1. úlohy Poměr rychlostí řešení 2. úlohy Tab. 3

22 Příklady Hledání v seřazeném poli lineární, POMALÉ 21 / 1 dané pole Seřazené pole: velikost = N najdi 993! testů: N najdi 363! testů:

23 Příklady Hledání v seřazeném poli binární, RYCHLÉ 22 / 1 najdi 863! testy 2 testy testy test

24 23 / 1 Exponent, logarimus a půlení intervalu k N... N =2 k = = =2 1 N = 2 k => =2 0 k = log 2 (N)

25 24/ 1 Počítání složitosti Velikost pole Počet testů lineární hledání případ binární hledání nejhorší případ nejlepší nejhorší průměrný poměr Tab. 4

26 25/ 1 Počítání složitosti Doba výpočtu pro různé časové složitosti s předpokladem, že 1 operace trvá 1 s (10-6 sec) složitost Počet operací log 2 n 3,3 s 4,3 s 5 s 5,8 s 9 s 10 s n 10 s 20 s 40 s 60 s 0,5 ms 1 ms n log 2 n 33 s 86 s 0,2 ms 0,35 ms 4,5 ms 10 ms n 2 0,1 ms 0,4 ms 1,6 ms 3,6 ms 0,25 s 1 s n 3 1 ms 8 ms 64 ms 0,2 s 125 s 17 min n 4 10 ms 160 ms 2,56 s 13 s 17 hod 11,6 dnů 2 n 1ms 1s 12,7 dnů let let let n! 3,6 s let let let let let Tab. 5

27 26 / 1 Řád růstu funkcí Řád růstu funkcí

28 27 / 1 Řád růstu funkcí y e(x) = (x+26.44) p(x) = (x ) x

29 28 / 1 Řád růstu funkcí Zoom out! : y 1 p(x) = (x ) 16 e(x) = (x+26.44) předchozí pohled x

30 29 / 1 Řád růstu funkcí Zoom out! : y e(x) = (x+26.44) 1 p(x) = (x ) 16 předchozí pohled x

31 30 / 1 Řád růstu funkcí Zoom out! : y e(x) = (x+26.44) p(x) = (x ) 16 x předchozí pohled atd: e(1000) = p(1000) =

32 31 / 1 Řád růstu funkcí (f(x)) g 2 (x) (f(x)) y g 1 (x) (f(x)) f(x) g 3 (x) (f(x)) x Pozor, obrázek není pravdivý, je jen ilustrační

33 32 / 1 Omega Řád růstu funkcí (f(x)) V množině (f(x)) se octne každá funkce g(x), která od určitého bodu x 0 (není nijak předem předepsáno, kde by x 0 měl být) a) je už vždy větší než funkce f(x) b) sice větší než f(x) není, ale po vynásobení nějakou kladnou konstantou (hodnota konstanty také není nijak předepsána) je už vždy větší než funkce f(x). Takže: pokud najdeme nějaké x 0 a c>0 takové, že c g(x) > f(x) všude napravo od x 0, (někdy stačí c=1) je jisto, že g(x) (f(x))

34 33 / 1 Řád růstu funkcí Takže: pokud najdeme nějaké x 0 a c>0 takové, že c g(x) > f(x) všude napravo od x 0, (někdy stačí c=1) je jisto, že g(x) (f(x)) y c = 1 x 0 = 60 e(x) = (x+26.44) p(x) = (x ) 16 x x > 60 e(x) > p(x), tj. tudíž platí e(x) (p(x)) (x+26.44) > 1 16 (x ) (ověřte!)

35 34 / 1 Řád růstu funkcí Takže: pokud najdeme nějaké x 0 a c>0 takové, že c g(x) > f(x) všude napravo od x 0, (někdy stačí c=1) je jisto, že g(x) (f(x)) b(x) = x + 3 x r(x) = x y c = 4 4 r(x) = 4(x 1) x 0 = 3.1 b(x) = x + 3 x r(x) = x x x > r(x) > b(x), tj. 4(x-1) > x + 3 x tudíž platí r(x) (b(x)) (ověřte!)

36 35 / 1 Řád růstu funkcí Typické ukázky x 2 Ω(x) x 3 Ω(x 2 ) x n+1 Ω(x n ) 2 x Ω(x 2 ) 2 x Ω(x 3 ) 2 x Ω(x 5000 ) x Ω(log(x)) x log(x) Ω(x) x 2 Ω(x log(x) ) 2 x Ω(x ) x Ω(x) x Ω(1) vždy f(x) > 1 f(x) Ω(1) těžko uvěřitelné x Ω(log(x) )

37 36 / 1 Řád růstu funkcí y g 2 (x) O(f(x)) f(x) g 1 (x) O(f(x)) g 3 (x) O(f(x)) x O(f(x)) Pozor, obrázek není pravdivý, je jen ilustrační

38 37 / 1 O Omikron Řád růstu funkcí O(f(x)) V množině O(f(x)) se octne každá funkce g(x), která od určitého bodu x 0 (není nijak předem předepsáno, kde by x 0 měl být) a) je už vždy menší než funkce f(x) b) sice menší než f(x) není, ale po vynásobení nějakou kladnou konstantou ( asi < 1 ) (hodnota konstanty také není nijak předepsána) je už vždy menší než funkce f(x). Takže: pokud najdeme nějaké x 0 a c>0 takové, že c g(x) < f(x) všude napravo od x 0, (někdy stačí c=1) je jisto, že g(x) O(f(x))

39 38 / 1 Řád růstu funkcí Takže: pokud najdeme nějaké x 0 a c>0 takové, že c g(x) < f(x) všude napravo od x 0, (někdy stačí c=1) je jisto, že g(x) O(f(x)) y c = 1 x 0 = 60 e(x) = (x+26.44) p(x) = (x ) 16 x 1 x > 60 p(x) < e(x), tj. (x ) 16 tudíž platí p(x) O(e(x)) < (x+26.44) ověřte!

40 39 / 1 Řád růstu funkcí Takže: pokud najdeme nějaké x 0 a c>0 takové, že c g(x) < f(x) všude napravo od x 0, (někdy stačí c=1) je jisto, že g(x) O(f(x)) b(x) = x + 3 x r(x) = x y x 0 = 1 b(x) = x + 3 x 5 r(x) = x x x > 1 r(x) < b(x), tj. x 1 < x + 3 x tudíž platí r(x) O(b(x))

41 40 / 1 Řád růstu funkcí f Ω(g) g O(f) x O(x 2 ) x 2 O(x 3 ) x n O(x n+1 ) x 2 O(2 x ) x 3 O(2 x ) x 5000 O(2 x ) log(x) O(x) x O(x log(x)) x log(x) O(x 2 ) x O(2 x ) x O(x ) 1 O(x) vždy f(x) > 1 1 O(f(x)) těžko uvěřitelné log(x) O( x )

42 41 / 1 Řád růstu funkcí y (f(x)) g 2 (x) (f(x)) f(x) g 1 (x) (f(x)) g 3 (x) (f(x)) x Pozor, obrázek není pravdivý, je jen ilustrační

43 42 / 1 Řád růstu funkcí (f(x)) = Ω(f(x)) O(f(x)) Theta V množině (f(x)) se octne každá funkce g(x), která spadá jak do Ω(f(x)) tak do O(f(x)). f(x) (g(x)) g(x) (f(x))

44 43 / 1 Řád růstu funkcí f(x) (g(x)) g(x) (f(x)) b(x) = x + 3 x r(x) = x 1 r(x) (b(x)) r(x) O(b(x)) y b(x) = x + 3 x r(x) = x x r(x) (b(x)) b(x) (r(x))

45 44 / 1 Řád růstu funkcí Pravidla 1. (a > 0) (f(x)) = (a f(x)) 2. g(x) O(f(x)) (f(x)) = (f(x) + g(x)) Slovy 1. Multiplikativní konstanta nemá vliv na náležení do množiny (f(x)). 2. Přičtení/odečtení menší funkce nemá vliv na náležení do množiny (f(x)). Příklady 1.8x log 2 (x) (x) x 3 + 7x 1/2 + 5(log 2 (x)) 4 (x 3 ) 13 3 x + 9x x (3 x ) 4 2 n n n/2 (2 n ) 0.1x x 4 + 7x 2-3 (x 5 ) O(x 5 ) (x 5 )

46 6 45 / 1 Řád růstu funkcí (f(x)) = { g(x) ; x 0 >0,c>0 x>x 0 : c f(x) < g(x) } (f(x)) = { g(x) ; x 0 >0,c>0 x>x 0 : g(x) < c f(x) } (f(x)) = { g(x) ; x 0 >0,c 1 >0, c 2 >0 x>x 0 : c 1 f(x) < g(x) < c 2 f(x) } Pozor, obrázky jsou jen ilustrační

47 46 / 1 Řád růstu funkcí Porovnání rychlosti růstu funkcí Funkce f(x) roste asymptoticky rychleji než funkce g(x), když f(x) Ω(g(x)) & f(x) (g(x)) Porovnání rychlosti algoritmů Pozor! Algoritmus A je asymptoticky pomalejší než algoritmus B, když f A (n) Ω(f B (n)) & f A (n) (f B (n)), kde f A (n), resp. f B (n) je funkce určující počet operací, které provede algoritmus A, resp. B, při zpracování dat o rozsahu n.

48 47 / 1 Řád růstu funkce Řád růstu funkcí Řád růstu funkce f je taková co nejjednodušší funkce g, pro kterou platí g(x) (f(x)) Manipulace Řád růstu funkce f získáme většinou tak, že zanedbáme 1. Aditivní členy rostoucí pomaleji nebo stejně rychle 2. Multiplikativní konstantu Příklady ff(n) = 4 2 n n n/2 (2 n ) Řád růstu ff(n) je 2 n hh(x) = x + log 2 (x) - x (x) Řád růstu hh(x) je x

49 48 / 1 Asymptotická složitost Asymptotická složitost algoritmu Asymptotická složitost algoritmu A je řád růstu funkce f(n), která charakterizuje počet elementárních operací algoritmu A při zpracování dat o rozsahu n. Přitom uvažujeme nejnáročnější možná data. (rozsah dat = celkový počet čísel a znaků v nich) Ve většině případů nehraje roli, zda uvažujeme A) počet všech elementárních operací, B) počet všech elementárních operací nad daty, C) počet testů nad daty. Asymptotická složitost vycházívá táž.

50 49 / 1 Asymptotická složitost Asymptotická složitost předložených ukázek Asymptotická složitost hledání minima v poli o n prvcích je (n). V obou uvedených případech. Asymptotická složitost pomalého zjišťování, kolik čísel v poli je rovno součtu jiného pole, je (n 2 ). Asymptotická složitost rychlého zjišťování, kolik čísel v poli je rovno součtu jiného pole, je (n). Za předpokladu, že obě pole mají délku n. Asymptotická složitost lineárního hledání prvku v poli je O(n). Asymptotická složitost hledání prvku uspořádaném poli pomocí půlení intervalu je O(log(n)). Za předpokladu, že pole má délku n.

51 50 / 1 Asymptotická složitost Úmluvy Zjednodušení Běžně se zkráceným termínem složitost algoritmu rozumí právě výraz asymptotická složitost algoritmu Zmatení Běžně se v literatuře neříká f(x) náleží do (g(x)), ale f(x) je (g(x)). Rovněž se to tak značí: f(x) = (g(x)) namísto f(x) (g(x)) (a stejně pro O a ). Chápe se to ale beze změny, v původním smyslu náležení.

52 51 / 1 Asymptotická složitost ( ) ( ) ( ) O( )

53 / 1 Různé algoritmy mají různou složitost

Algoritmy I, složitost

Algoritmy I, složitost A0B36PRI - PROGRAMOVÁNÍ Algoritmy I, složitost České vysoké učení technické Fakulta elektrotechnická v 1.01 Rychlost... Jeden algoritmus (program, postup, metoda ) je rychlejší než druhý. Co ta věta znamená??

Více

Složitost algoritmů. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.

Složitost algoritmů. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol. Složitost algoritmů Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol., 2017 Datové struktury a algoritmy, B6B36DSA 02/2017, Lekce 3

Více

Doba běhu daného algoritmu/programu. 1. Který fragment programu z následujících dvou proběhne rychleji?

Doba běhu daného algoritmu/programu. 1. Který fragment programu z následujících dvou proběhne rychleji? 1 Doba běhu daného algoritmu/programu 1. Který fragment programu z následujících dvou proběhne rychleji? int n = 100; int sum = 0; for (i = 0; i < n; i++) for (j = 0; j < i; j++) sum += i+j; int n = 75;

Více

COMPLEXITY

COMPLEXITY Níže uvedené úlohy představují přehled otázek, které se vyskytly v tomto nebo v minulých semestrech ve cvičení nebo v minulých semestrech u zkoušky. Mezi otázkami semestrovými a zkouškovými není žádný

Více

Asymptotická složitost algoritmů

Asymptotická složitost algoritmů Semestrální projekt 1 Y14TED Asymptotická složitost algoritmů Autor: Antonín DANĚK Osnova Slide 2 Co je to složitost algoritmu? Jak se počítá složitost algoritmu? Smysl přesného výpočtu složitosti algoritmu

Více

Příklad 1/23. Pro rostoucí spojité fukce f(x), g(x) platí f(x) Ω(g(x)). Z toho plyne, že: a) f(x) Ο(g(x)) b) f(x) Θ(g(x)) d) g(x) Ω(f(x))

Příklad 1/23. Pro rostoucí spojité fukce f(x), g(x) platí f(x) Ω(g(x)). Z toho plyne, že: a) f(x) Ο(g(x)) b) f(x) Θ(g(x)) d) g(x) Ω(f(x)) Příklad 1/23 Pro rostoucí spojité fukce f(x), g(x) platí f(x) Ω(g(x)). Z toho plyne, že: a) f(x) Ο(g(x)) b) f(x) Θ(g(x)) c) g(x) Θ(f(x)) d) g(x) Ω(f(x)) e) g(x) Ο(f(x)) 1 Příklad 2/23 Pro rostoucí spojité

Více

Časová složitost algoritmů

Časová složitost algoritmů Časová složitost algoritmů Důležitou vlastností algoritmu je časová náročnost výpočtů provedené podle daného algoritmu Ta se nezískává měřením doby výpočtu pro různá data, ale analýzou algoritmu, jejímž

Více

Časová složitost / Time complexity

Časová složitost / Time complexity Časová složitost / Time complexity Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2018 1 / 24 Složitost algoritmů Algorithm complexity Časová a paměťová složitost Trvání výpočtu v závislosti

Více

Složitost. Teoretická informatika Tomáš Foltýnek

Složitost. Teoretická informatika Tomáš Foltýnek Složitost Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika 2 Opakování z minulé přednášky Co říká Churchova teze? Jak lze kódovat Turingův stroj? Co je to Univerzální

Více

A4B33ALG 2010/05 ALG 07. Selection sort (Select sort) Insertion sort (Insert sort) Bubble sort deprecated. Quicksort.

A4B33ALG 2010/05 ALG 07. Selection sort (Select sort) Insertion sort (Insert sort) Bubble sort deprecated. Quicksort. A4B33ALG 2010/05 ALG 07 Selection sort (Select sort) Insertion sort (Insert sort) Bubble sort deprecated Quicksort Stabilita řazení 1 Selection sort Neseřazeno Seřazeno Start T O U B J R M A K D Z E min

Více

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem Test prvočíselnosti Úkol: otestovat dané číslo N, zda je prvočíslem 1. zkusit všechny dělitele od 2 do N-1 časová složitost O(N) cca N testů 2. stačí zkoušet všechny dělitele od 2 do N/2 (větší dělitel

Více

Obsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie

Obsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie Obsah Počítání modulo n a jeho časová složitost 3. a 4. přednáška z kryptografie 1 Počítání modulo n - dokončení Umocňování v Zn 2 Časová složitost výpočtů modulo n Asymptotická notace Základní aritmetické

Více

Vyvažování a rotace v BVS, všude se předpokládá AVL strom

Vyvažování a rotace v BVS, všude se předpokládá AVL strom Vyvažování a rotace v BVS, všude se předpokládá AVL strom 1. Jednoduchá levá rotace v uzlu u má operační složitost a) závislou na výšce levého podstromu uzlu u b) mezi O(1) a Θ(n) c) závislou na hloubce

Více

10. Složitost a výkon

10. Složitost a výkon Jiří Vokřínek, 2016 B6B36ZAL - Přednáška 10 1 Základy algoritmizace 10. Složitost a výkon doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Jiří

Více

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky

Více

Základní informace o předmětu Otázka:

Základní informace o předmětu Otázka: Základní informace o předmětu Otázka: Proč vůbec porovnávat algoritmy? Vlastnosti algoritmů přirozenost a stabilita algoritmu časová náročnost algoritmu asymetrická a asymptotická časová náročnost algoritmů

Více

IB111 Úvod do programování skrze Python

IB111 Úvod do programování skrze Python Vyhledávání, řazení, složitost IB111 Úvod do programování skrze Python 2012 Otrávené studny 8 studen, jedna z nich je otrávená laboratorní rozbor dokáže rozpoznat přítomnost jedu ve vodě je drahý (je časově

Více

Složitost algoritmů. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Složitost algoritmů. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Složitost algoritmů doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 27. prosince 2015 Jiří Dvorský (VŠB TUO) Složitost algoritmů

Více

ÚVODNÍ ZNALOSTI. datové struktury. správnost programů. analýza algoritmů

ÚVODNÍ ZNALOSTI. datové struktury. správnost programů. analýza algoritmů ÚVODNÍ ZNALOSTI datové struktury správnost programů analýza algoritmů Datové struktury základní, primitivní, jednoduché datové typy: int, char,... hodnoty: celá čísla, znaky, jednoduché proměnné: int i;

Více

Tato tematika je zpracována v Záznamy přednášek: str

Tato tematika je zpracována v Záznamy přednášek: str Obsah 10. přednášky: Souvislosti Složitost - úvod Výpočet časové složitosti Odhad složitosti - příklady Posuzování složitosti Asymptotická složitost - odhad Přehled technik návrhů algoritmů Tato tematika

Více

Digitální učební materiál

Digitální učební materiál Digitální učební materiál Číslo projektu: CZ.1.07/1.5.00/34.0548 Název školy: Gymnázium, Trutnov, Jiráskovo náměstí 325 Název materiálu: VY_32_INOVACE_146_IVT Autor: Ing. Pavel Bezděk Tematický okruh:

Více

Mimo samotné správnosti výsledku vypočteného zapsaným algoritmem je ještě jedno

Mimo samotné správnosti výsledku vypočteného zapsaným algoritmem je ještě jedno 12 Délka výpočtu algoritmu Mimo samotné správnosti výsledku vypočteného zapsaným algoritmem je ještě jedno neméně důležité hledisko k posouzení vhodnosti algoritmu k řešení zadané úlohy. Jedná se o čas,

Více

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2. 1 3 4 5 6 7 8 9 10 11 1 13 14 15 16 17 18 19 0 1 3 4 5 6 7 8 9 30 31 3 Zdůvodněte, proč funkce f(n) = n log(n) 1 n 1/ roste rychleji než funkce g(n) = n. Zdůvodněte, proč funkce f(n) = n 3/ log(n) roste

Více

Časová složitost algoritmů, řazení a vyhledávání

Časová složitost algoritmů, řazení a vyhledávání Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Časová složitost algoritmů, řazení a vyhledávání BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík Fakulta

Více

Algoritmizace. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Algoritmizace. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Úvod stránky předmětu: https://cw.felk.cvut.cz/doku.php/courses/a4b33alg/start cíle předmětu Cílem je schopnost samostatné implementace různých variant základních

Více

Základy algoritmizace a programování

Základy algoritmizace a programování Základy algoritmizace a programování Složitost algoritmů. Třídění Přednáška 8 16. listopadu 2009 Který algoritmus je "lepší"? Různé algoritmy, které řeší stejnou úlohu zbytek = p % i; zbytek = p - p/i*i;

Více

Dynamické programování

Dynamické programování Dynamické programování prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)

Více

Časová a prostorová složitost algoritmů

Časová a prostorová složitost algoritmů .. Časová a prostorová složitost algoritmů Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Hodnocení algoritmů Programovací techniky Časová a prostorová

Více

Datové struktury 2: Rozptylovací tabulky

Datové struktury 2: Rozptylovací tabulky Datové struktury 2: Rozptylovací tabulky prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy

Více

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr Seminář z IVT Algoritmizace Slovanské gymnázium Olomouc Tomáš Kühr Algoritmizace - o čem to je? Zatím jsme se zabývali především tím, jak určitý postup zapsat v konkrétním programovacím jazyce (např. C#)

Více

ALG 14. Vícedimenzionální data. Řazení vícedimenzionálních dat. Experimentální porovnání řadících algoritmů na vícedimenzionálních datech

ALG 14. Vícedimenzionální data. Řazení vícedimenzionálních dat. Experimentální porovnání řadících algoritmů na vícedimenzionálních datech ABALG 5/ ALG Vícedimenzionální data Řazení vícedimenzionálních dat Experimentální porovnání řadících algoritmů na vícedimenzionálních datech ABALG 5/ Vícedimenzionální data..7.. -.. d = 6 5 6.....7.. -.....9

Více

Matematická analýza ve Vesmíru. Jiří Bouchala

Matematická analýza ve Vesmíru. Jiří Bouchala Matematická analýza ve Vesmíru Jiří Bouchala Katedra aplikované matematiky jiri.bouchala@vsb.cz www.am.vsb.cz/bouchala - p. 1/19 typu: m x (sin x, cos x) R(x, ax +...)dx. Matematická analýza ve Vesmíru.

Více

Hledání k-tého nejmenšího prvku

Hledání k-tého nejmenšího prvku ALG 14 Hledání k-tého nejmenšího prvku Randomized select CLRS varianta Partition v Quicksortu 0 Hledání k-tého nejmenšího prvku 1. 2. 3. Seřaď seznam/pole a vyber k-tý nejmenší, složitost (N*log(N)). Nevýhodou

Více

Obsah přednášky. Analýza algoritmu Algoritmická složitost Návrhy algoritmů Urychlování algoritmů 1/41

Obsah přednášky. Analýza algoritmu Algoritmická složitost Návrhy algoritmů Urychlování algoritmů 1/41 Obsah přednášky Analýza algoritmu Algoritmická složitost Návrhy algoritmů Urychlování algoritmů 1/41 Analýza algoritmu Proč vůbec dělat analýzu? pro většinu problémů existuje několik různých přístupů aby

Více

IB015 Neimperativní programování. Časová složitost, Typové třídy, Moduly. Jiří Barnat Libor Škarvada

IB015 Neimperativní programování. Časová složitost, Typové třídy, Moduly. Jiří Barnat Libor Škarvada IB015 Neimperativní programování Časová složitost, Typové třídy, Moduly Jiří Barnat Libor Škarvada Sekce IB015 Neimperativní programování 07 str. 2/37 Časová složitost Časová složitost algoritmu IB015

Více

Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012

Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012 Obecná informatika Přednášející Putovních přednášek Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Podzim 2012 Přednášející Putovních přednášek (MFF UK) Obecná informatika Podzim 2012 1 / 18

Více

Binární vyhledávací stromy pokročilé partie

Binární vyhledávací stromy pokročilé partie Binární vyhledávací stromy pokročilé partie KMI/ALS lekce Jan Konečný 30.9.204 Literatura Cormen Thomas H., Introduction to Algorithms, 2nd edition MIT Press, 200. ISBN 0-262-5396-8 6, 3, A Knuth Donald

Více

ALG 09. Radix sort (přihrádkové řazení) Counting sort. Přehled asymptotických rychlostí jednotlivých řazení. Ilustrační experiment řazení

ALG 09. Radix sort (přihrádkové řazení) Counting sort. Přehled asymptotických rychlostí jednotlivých řazení. Ilustrační experiment řazení ALG Radix sort (přihrádkové řazení) Counting sort Přehled asymptotických rychlostí jednotlivých řazení Ilustrační experiment řazení Radix sort Neseřazeno Řaď podle. znaku Cbb DaD adb DCa CCC add DDb adc

Více

a a

a a 1.. Cíle V této kapitole se naučíme určovat zejména celočíselné kořeny některých polynomů. Výklad Při výpočtu hodnoty polynomu n k p( x) = ak x n-tého stupně n 1 v bodě x 0 C k = 0 musíme provést ( n 1)

Více

Funkce jedné reálné proměnné. lineární kvadratická racionální exponenciální logaritmická s absolutní hodnotou

Funkce jedné reálné proměnné. lineární kvadratická racionální exponenciální logaritmická s absolutní hodnotou Funkce jedné reálné proměnné lineární kvadratická racionální exponenciální logaritmická s absolutní hodnotou lineární y = ax + b Průsečíky s osami: Px [-b/a; 0] Py [0; b] grafem je přímka (získá se pomocí

Více

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Vyhledávání 201 / 344 Osnova přednášky

Více

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost 1 Složitost 1.1 Operační a paměťová složitost Nezávislé určení na konkrétní implementaci Několik typů operací = sčítání T+, logické T L, přiřazení T A(assign), porovnání T C(compare), výpočet adresy pole

Více

ˇ razen ı rychlejˇ s ı neˇ z kvadratick e Karel Hor ak, Petr Ryˇsav y 20. dubna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT

ˇ razen ı rychlejˇ s ı neˇ z kvadratick e Karel Hor ak, Petr Ryˇsav y 20. dubna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT řazení rychlejší než kvadratické Karel Horák, Petr Ryšavý 20. dubna 2016 Katedra počítačů, FEL, ČVUT Příklad 1 Která z následujících posloupností představuje haldu uloženou v poli? 1. 9 5 4 6 3 2. 5 4

Více

(FAPPZ) Petr Gurka aktualizováno 12. října Přehled některých elementárních funkcí

(FAPPZ) Petr Gurka aktualizováno 12. října Přehled některých elementárních funkcí 1. Reálná funkce reálné proměnné, derivování (FAPPZ) Petr Gurka aktualizováno 12. října 2011 Obsah 1 Přehled některých elementárních funkcí 1 1.1 Polynomické funkce.......................... 1 1.2 Racionální

Více

Kapitola 7: Integrál. 1/17

Kapitola 7: Integrál. 1/17 Kapitola 7: Integrál. 1/17 Neurčitý integrál - Motivační příklad 2/17 Příklad: Necht se bod pohybuje po přímce rychlostí a) v(t) = 3 [m/s] (rovnoměrný přímočarý pohyb), b) v(t) = 2t [m/s] (rovnoměrně zrychlený

Více

Kapitola 7: Neurčitý integrál. 1/14

Kapitola 7: Neurčitý integrál. 1/14 Kapitola 7: Neurčitý integrál. 1/14 Neurčitý integrál 2/14 Definice: Necht f je funkce definovaná na intervalu I. Funkci F definovanou na intervalu I, pro kterou platí F (x) = f (x) x I nazýváme primitivní

Více

Metoda nejmenších čtverců Michal Čihák 26. listopadu 2012

Metoda nejmenších čtverců Michal Čihák 26. listopadu 2012 Metoda nejmenších čtverců Michal Čihák 26. listopadu 2012 Metoda nejmenších čtverců Matematicko-statistická metoda používaná zejména při zpracování nepřesných dat (typicky experimentálních empirických

Více

Adresní vyhledávání (přímý přístup, zřetězené a otevřené rozptylování, rozptylovací funkce)

Adresní vyhledávání (přímý přístup, zřetězené a otevřené rozptylování, rozptylovací funkce) 13. Metody vyhledávání. Adresní vyhledávání (přímý přístup, zřetězené a otevřené rozptylování, rozptylovací funkce). Asociativní vyhledávání (sekvenční, binárním půlením, interpolační, binární vyhledávací

Více

1 Mnohočleny a algebraické rovnice

1 Mnohočleny a algebraické rovnice 1 Mnohočleny a algebraické rovnice 1.1 Pojem mnohočlenu (polynomu) Připomeňme, že výrazům typu a 2 x 2 + a 1 x + a 0 říkáme kvadratický trojčlen, když a 2 0. Číslům a 0, a 1, a 2 říkáme koeficienty a písmenem

Více

Náplň. v.0.03 16.02.2014. - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění

Náplň. v.0.03 16.02.2014. - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění Náplň v.0.03 16.02.2014 - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění Spojení dvou samostatně setříděných polí void Spoj(double apole1[], int adelka1, double

Více

NPRG030 Programování I, 2018/19 1 / :25:37

NPRG030 Programování I, 2018/19 1 / :25:37 NPRG030 Programování I, 2018/19 1 / 26 24. 9. 2018 10:25:37 Čísla v algoritmech a programech 10 26 Poloměr vesmíru 2651 studujících studentů MFF UK 3.142857... Ludolfovo číslo 10 16 stáří vesmíru v sekundách!!!

Více

Návrh Designu: Radek Mařík

Návrh Designu: Radek Mařík 1. 7. Najděte nejdelší rostoucí podposloupnost dané posloupnosti. Použijte metodu dynamického programování, napište tabulku průběžných délek částečných výsledků a tabulku předchůdců. a) 5 8 11 13 9 4 1

Více

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615)

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615) IB108 Sada 1, Příklad 1 ( ) Složitost třídícího algoritmu 1/-Sort je v O n log O (n.71 ). Necht n = j i (velikost pole, které je vstupním parametrem funkce 1/-Sort). Lehce spočítáme, že velikost pole předávaná

Více

Logaritmické a exponenciální funkce

Logaritmické a exponenciální funkce Kapitola 4 Logaritmické a exponenciální funkce V této kapitole se budeme zabývat exponenciálními a logaritmickými funkcemi. Uvedeme si definice vlastnosti a vztah mezi nimi. 4.1 Exponenciální funkce Exponenciální

Více

Digitální učební materiál

Digitální učební materiál Digitální učební materiál Číslo projektu: CZ.1.07/1.5.00/34.0548 Název školy: Gymnázium, Trutnov, Jiráskovo náměstí 325 Název materiálu: VY_32_INOVACE_145_IVT Autor: Ing. Pavel Bezděk Tematický okruh:

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Vyhledávání, vkládání, odstraňování Vyhledání hodnoty v nesetříděném poli Vyhledání hodnoty v setříděném poli Odstranění hodnoty z pole Vkládání hodnoty do pole Verze pro akademický

Více

bin arn ı vyhled av an ı a bst Karel Hor ak, Petr Ryˇsav y 23. bˇrezna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT

bin arn ı vyhled av an ı a bst Karel Hor ak, Petr Ryˇsav y 23. bˇrezna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT binární vyhledávání a bst Karel Horák, Petr Ryšavý 23. března 2016 Katedra počítačů, FEL, ČVUT Příklad 1 Naimplementujte binární vyhledávání. Upravte metodu BinarySearch::binarySearch. 1 Příklad 2 Mysĺım

Více

7. Rozdělení pravděpodobnosti ve statistice

7. Rozdělení pravděpodobnosti ve statistice 7. Rozdělení pravděpodobnosti ve statistice Statistika nuda je, má však cenné údaje, neklesejte na mysli, ona nám to vyčíslí Jednou z úloh statistiky je odhad (výpočet) hodnot statistického znaku x i,

Více

Logaritmus. Logaritmus kladného čísla o základu kladném a různém od 1 je exponent, kterým. umocníme základ a, abychom dostali číslo.

Logaritmus. Logaritmus kladného čísla o základu kladném a různém od 1 je exponent, kterým. umocníme základ a, abychom dostali číslo. Logaritmus Logaritmus kladného čísla o základu kladném a různém od 1 je exponent, kterým umocníme základ a, abychom dostali číslo. Platí tedy: logax = y a y = x ( Dekadický logaritmus základ 10 označení

Více

Základní spádové metody

Základní spádové metody Základní spádové metody Petr Tichý 23. října 2013 1 Metody typu line search Problém Idea metod min f(x), f : x R Rn R. n Dána počáteční aproximace x 0. Iterační proces (krok k): (a) zvol směr d k, (b)

Více

9.3. Úplná lineární rovnice s konstantními koeficienty

9.3. Úplná lineární rovnice s konstantními koeficienty Úplná lineární rovnice s konstantními koeficienty Cíle Nyní přejdeme k řešení úplné lineární rovnice druhého řádu. I v tomto případě si nejprve ujasníme, v jakém tvaru můžeme očekávat řešení, poté se zaměříme

Více

Logaritmus, logaritmická funkce, log. Rovnice a nerovnice. 3 d) je roven číslu: c) -1 d) 0 e) 3 c) je roven číslu: b) -1 c) 0 d) 1 e)

Logaritmus, logaritmická funkce, log. Rovnice a nerovnice. 3 d) je roven číslu: c) -1 d) 0 e) 3 c) je roven číslu: b) -1 c) 0 d) 1 e) Logaritmus, logaritmická funkce, log. Rovnice a nerovnice ) Výraz log log +log není správná 0 - žádná z předchozích odpovědí ) Číslo log 8 6 je rovno číslu: ) Výraz log log +log - 0 ) Číslo log 6 6 je

Více

2. Složitost, grafové algoritmy (zapsal Martin Koutecký)

2. Složitost, grafové algoritmy (zapsal Martin Koutecký) 2. Složitost, grafové algoritmy (zapsal Martin Koutecký) Model Ram Při analýze algoritmu bychom chtěli nějak popsat jeho složitost. Abychom mohli udělat toto, potřebujeme nejprve definovat výpočetní model.

Více

Kombinatorika, výpočty

Kombinatorika, výpočty Kombinatorika, výpočty Radek Pelánek IV122 Styl jednoduché výpočty s čísly vesměs spíše opakování + pár dílčích zajímavostí užitečný trénink programování Kombinace, permutace, variace Daná množina M s

Více

Interpolace Uvažujme třídu funkcí jedné proměnné ψ(x; a 0,..., a n ), kde a 0,..., a n jsou parametry, které popisují jednotlivé funkce této třídy. Mějme dány body x 0, x 1,..., x n, x i x k, i, k = 0,

Více

Dodatek 2: Funkce dvou proměnných 1/9

Dodatek 2: Funkce dvou proměnných 1/9 Dodatek 2: Funkce dvou proměnných 1/9 2/9 Funkce dvou proměnných Definice: Reálnou funkcí dvou reálných proměnných, definovanou na množině M R 2, rozumíme předpis f, který každé uspořádané dvojici reálných

Více

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí: Řešené příklady z lineární algebry - část 1 Typové příklady s řešením Příklady jsou určeny především k zopakování látky před zkouškou, jsou proto řešeny se znalostmi učiva celého semestru. Tento fakt se

Více

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech 1. července 2008 1 Funkce v R n Definice 1 Necht n N a D R n. Reálnou funkcí v R n (reálnou funkcí n proměnných) rozumíme zobrazení

Více

Interpolace Lagrangeovy polynomy. 29. října 2012

Interpolace Lagrangeovy polynomy. 29. října 2012 Interpolace Lagrangeovy polynomy Michal Čihák 29. října 2012 Problematika interpolace V praxi máme často k dispozici údaje z různých měření tzv. data. Data mohou mít například podobu n uspořádaných dvojic

Více

Základní datové struktury III: Stromy, haldy

Základní datové struktury III: Stromy, haldy Základní datové struktury III: Stromy, haldy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní

Více

Databáze, sítě a techniky programování X33DSP

Databáze, sítě a techniky programování X33DSP Databáze, sítě a techniky programování X33DSP Anotace: Náplní předmětu jsou některé techniky a metody používané ve výpočetních systémech zaměřených na biomedicínské inženýrství. Cílem je položit jednotný

Více

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti Kapitola 5 Vektorové prostory V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti operací sčítání a násobení

Více

Diferenciál a Taylorův polynom

Diferenciál a Taylorův polynom Diferenciál a Taylorův polynom Základy vyšší matematiky lesnictví LDF MENDELU c Simona Fišnarová (MENDELU) Diferenciál a Taylorův polynom ZVMT lesnictví 1 / 11 Aproximace funkce v okoĺı bodu Danou funkci

Více

Složitosti základních operací B + stromu

Složitosti základních operací B + stromu Složitosti základních operací B + stromu Radim Bača VŠB Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky ŠKOMAM 2010-1- 28/1/2010 Složitosti základních operací B +

Více

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Dynamické programování Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Rozděl a panuj (divide-and-conquer) Rozděl (Divide): Rozděl problém na několik podproblémů tak, aby tyto podproblémy odpovídaly původnímu

Více

pouze u některých typů rovnic a v tomto textu se jím nebudeme až na

pouze u některých typů rovnic a v tomto textu se jím nebudeme až na Matematika II 7.1. Zavedení diferenciálních rovnic Definice 7.1.1. Rovnice tvaru F(y (n), y (n 1),, y, y, x) = 0 se nazývá diferenciální rovnice n-tého řádu pro funkci y = y(x). Speciálně je F(y, y, x)

Více

5. Vyhledávání a řazení 1

5. Vyhledávání a řazení 1 Jiří Vokřínek, 2016 B6B36ZAL - Přednáška 5 1 Základy algoritmizace 5. Vyhledávání a řazení 1 doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze

Více

VZOR. Vzor přijímacího testu do magisterského studia oboru Otevřená informatika

VZOR. Vzor přijímacího testu do magisterského studia oboru Otevřená informatika Vzor přijímacího testu do magisterského studia oboru Otevřená informatika VZOR Jméno Příjmení Podpis Vzorový test obsahuje stejně jako skutečný test 35 otázek. Na jeho vyřešení máte 90 minut času. Každá

Více

Stromy, haldy, prioritní fronty

Stromy, haldy, prioritní fronty Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík

Více

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Lineární rovnice o 2 neznámých Definice 011 Lineární rovnice o dvou neznámých x, y je rovnice, která může být vyjádřena ve tvaru ax + by = c, kde

Více

Základy algoritmizace, návrh algoritmu

Základy algoritmizace, návrh algoritmu Základy algoritmizace, návrh algoritmu Algoritmus Předpoklady automatického výpočtu: předem stanovit (rozmyslet) přesný postup během opakovaného provádění postupu již nepřemýšlet a postupovat mechanicky

Více

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic Přednáška třetí (a pravděpodobně i čtvrtá) aneb Úvod do lineární algebry Matice a soustavy rovnic Lineární rovnice o 2 neznámých Lineární rovnice o 2 neznámých Lineární rovnice o dvou neznámých x, y je

Více

Stromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy

Stromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy Stromy úvod Stromy Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy Neorientovaný strom Orientovaný strom Kořenový orientovaný

Více

Funkce jedn e re aln e promˇ enn e Derivace Pˇredn aˇska ˇr ıjna 2015

Funkce jedn e re aln e promˇ enn e Derivace Pˇredn aˇska ˇr ıjna 2015 Funkce jedné reálné proměnné Derivace Přednáška 2 15. října 2015 Obsah 1 Funkce 2 Limita a spojitost funkce 3 Derivace 4 Průběh funkce Informace Literatura v elektronické verzi (odkazy ze STAGu): 1 Lineární

Více

Bakalářská matematika I

Bakalářská matematika I 1. Funkce Diferenciální počet Mgr. Jaroslav Drobek, Ph. D. Katedra matematiky a deskriptivní geometrie Bakalářská matematika I Některé užitečné pojmy Kartézský součin podrobnosti Definice 1.1 Nechť A,

Více

V případě jazyka Java bychom abstraktní datový typ Time reprezentující čas mohli definovat pomocí třídy takto:

V případě jazyka Java bychom abstraktní datový typ Time reprezentující čas mohli definovat pomocí třídy takto: 20. Programovací techniky: Abstraktní datový typ, jeho specifikace a implementace. Datový typ zásobník, fronta, tabulka, strom, seznam. Základní algoritmy řazení a vyhledávání. Složitost algoritmů. Abstraktní

Více

LDF MENDELU. Simona Fišnarová (MENDELU) LDR druhého řádu VMAT, IMT 1 / 22

LDF MENDELU. Simona Fišnarová (MENDELU) LDR druhého řádu VMAT, IMT 1 / 22 Lineární diferenciální rovnice druhého řádu Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF)

Více

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice 9. Lineární diferenciální rovnice 2. řádu Cíle Diferenciální rovnice, v nichž hledaná funkce vystupuje ve druhé či vyšší derivaci, nazýváme diferenciálními rovnicemi druhého a vyššího řádu. Analogicky

Více

Digitální učební materiál

Digitální učební materiál Digitální učební materiál Číslo projektu: CZ.1.07/1.5.00/34.0548 Název školy: Gymnázium, Trutnov, Jiráskovo náměstí 325 Název materiálu: VY_32_INOVACE_148_IVT Autor: Ing. Pavel Bezděk Tematický okruh:

Více

Základy algoritmizace a programování

Základy algoritmizace a programování Základy algoritmizace a programování Přednáška 1 Olga Majlingová Katedra matematiky, ČVUT v Praze 21. září 2009 Obsah Úvodní informace 1 Úvodní informace 2 3 4 Organizace předmětu Přednášky 1. 5. Základní

Více

přirozený algoritmus seřadí prvky 1,3,2,8,9,7 a prvky 4,5,6 nechává Metody řazení se dělí:

přirozený algoritmus seřadí prvky 1,3,2,8,9,7 a prvky 4,5,6 nechává Metody řazení se dělí: Metody řazení ve vnitřní a vnější paměti. Algoritmy řazení výběrem, vkládáním a zaměňováním. Heapsort, Shell-sort, Radix-sort, Quicksort. Řazení sekvenčních souborů. Řazení souborů s přímým přístupem.

Více

15. Moduly. a platí (p + q)(x) = p(x) + q(x), 1(X) = id. Vzniká tak struktura P [x]-modulu na V.

15. Moduly. a platí (p + q)(x) = p(x) + q(x), 1(X) = id. Vzniká tak struktura P [x]-modulu na V. Učební texty k přednášce ALGEBRAICKÉ STRUKTURY Michal Marvan, Matematický ústav Slezská univerzita v Opavě 15. Moduly Definice. Bud R okruh, bud M množina na níž jsou zadány binární operace + : M M M,

Více

1 Mnohočleny a algebraické rovnice

1 Mnohočleny a algebraické rovnice 1 Mnohočleny a algebraické rovnice 1.1 Pojem mnohočlenu (polynomu) Připomeňme, že výrazům typu a 2 x 2 + a 1 x + a 0 říkáme kvadratický trojčlen, když a 2 0. Číslům a 0, a 1, a 2 říkáme koeficienty a písmenem

Více

ALGEBRA. 1. Pomocí Eukleidova algoritmu najděte největší společný dělitel čísel a a b. a) a = 204, b = 54, b) a = , b =

ALGEBRA. 1. Pomocí Eukleidova algoritmu najděte největší společný dělitel čísel a a b. a) a = 204, b = 54, b) a = , b = ALGEBRA 1 Úkol na 13. 11. 2018 1. Pomocí Eukleidova algoritmu najděte největší společný dělitel čísel a a b. a) a = 204, b = 54, b) a = 353 623, b = 244 571. 2. Připomeňte si, že pro ε = cos 2π 3 + i sin

Více

Poznámka: V kurzu rovnice ostatní podrobně probíráme polynomické rovnice a jejich řešení.

Poznámka: V kurzu rovnice ostatní podrobně probíráme polynomické rovnice a jejich řešení. @083 6 Polynomické funkce Poznámka: V kurzu rovnice ostatní podrobně probíráme polynomické rovnice a jejich řešení. Definice: Polynomická funkce n-tého stupně (n N) je dána předpisem n n 1 2 f : y a x

Více

Aplikovaná matematika I

Aplikovaná matematika I Metoda nejmenších čtverců Aplikovaná matematika I Dana Říhová Mendelu Brno c Dana Říhová (Mendelu Brno) Metoda nejmenších čtverců 1 / 8 Obsah 1 Formulace problému 2 Princip metody nejmenších čtverců 3

Více

Třídění a vyhledávání Searching and sorting

Třídění a vyhledávání Searching and sorting Třídění a vyhledávání Searching and sorting Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 1 / 33 Vyhledávání Třídění Třídící algoritmy 2 / 33 Vyhledávání Searching Mějme posloupnost (pole)

Více

IB111 Úvod do programování skrze Python

IB111 Úvod do programování skrze Python Vyhledávání, řazení, složitost IB111 Úvod do programování skrze Python 2014 1 / 48 Otrávené studny 8 studen, jedna z nich je otrávená laboratorní rozbor dokáže rozpoznat přítomnost jedu ve vodě je drahý

Více

Šablona pro zadávání otázek pro přijímací řízení pro akademický rok 2009/2010

Šablona pro zadávání otázek pro přijímací řízení pro akademický rok 2009/2010 Šablona pro zadávání otázek pro přijímací řízení pro akademický rok 00/010 Zadavatel: Ekonomický přehled: kód 1 Matematické myšlení: kód Společensko historický přehled: kód Zadejte kód místo x do níže

Více

9. Je-li cos 2x = 0,5, x 0, π, pak tgx = a) 3. b) 1. c) neexistuje d) a) x ( 4, 4) b) x = 4 c) x R d) x < 4. e) 3 3 b

9. Je-li cos 2x = 0,5, x 0, π, pak tgx = a) 3. b) 1. c) neexistuje d) a) x ( 4, 4) b) x = 4 c) x R d) x < 4. e) 3 3 b 008 verze 0A. Řešeními nerovnice x + 4 0 jsou právě všechna x R, pro která je x ( 4, 4) b) x = 4 c) x R x < 4 e) nerovnice nemá řešení b. Rovnice x + y x = je rovnicí přímky b) dvojice přímek c) paraboly

Více