Rzné algoritmy mají rznou složitost
|
|
- Klára Beránková
- před 7 lety
- Počet zobrazení:
Transkript
1 X36DSA 25 / 3 DSA Rzné algoritmy mají rznou složitost
2 X36DSA 25 2 / 3 DSA The complexity of different algorithms varies
3 X36DSA 25 3 / 3 Abeceda Jazyk Abeceda konená (neprázdná) množina symbol A mohutnost abecedy A Píklady: A = { A, D, G, O, U }, A = 5 A = {,}, A = 2 A = {,, }, A = 3 Slovo Slovo (nad abecedou A) konená (píp. prázdná) také etzec posloupnost symbol abecedy (A) w délka slova w Píklady: w = OUAGADOUGOU, w = w =, w = 4 w =, w = 5
4 X36DSA 25 4 / 3 Jazyk Jazyk Jazyk množina slov (=etzc) (ne nutn konená, mže být prázdná) L mohutnost jazyka L Specifikace jazyka -- Výtem všech slov jazyka (jen pro konený jazyk) Píklady: A = { A, D, G, O, U } L = {ADA, DOG, GOUDA, D, GAG}, L = 5 A 2 = {,} L 2 = {,,,,, }, L 2 = 6 A 3 = {,, } L 3 = {,, }, L 2 = 3
5 X36DSA 25 5 / 3 Jazyk 2 Specifikace jazyka -- Volný (ale jednoznaný) popis v pirozeném jazyce (obvykle pro nekonený jazyk) Píklady: A = { A, D, G, O, U } L : Množina všech slov nad A, která zaínají na DA, koní na G a neobsahují podposloupnost AA. L = {DAG, DADG, DAGG, DAOG, DAUG, DADAG, DADDG } L = A 2 = {,} L 2 : Množina všech slov nad A 2, která obsahují více než a za každou jsou alespo dv. L 2 = {,,,,,,,,, } L 2 =
6 X36DSA 25 6 / 3 Konený automat 3 Specifikace jazyka -- koneným automatem Konený automat (finite automaton) je ptice (A, Q,, S, Q F ), kde: A Q S Q F abeceda konená množina symbol A... mohutnost abecedy... množina stav (mnohdy oíslovaných) (co je to stav?)... pechodová funkce... : Q A Q... poátení stav S Q neprázdná množina koncových stav Q F Q
7 X36DSA 25 7 / 3 Konený automat Automat FA: A Q S Q F abeceda {,}, A = 2... množina stav {S, A, B, C, D }... pechodová funkce... : Q A Q : { (S,) = S, (A,) = B, (B,) = C, (C,) = C, (D,) = D, (S,) = A, (A,) = D, (B,) = D, (C,) = A, (D,) = D }... poátení stav S Q neprázdná množina koncových stav { C } Q Pechodový diagram automatu FA S A B C FA D,
8 X36DSA 25 8 / 3 Konený automat FA S A B C D, FA S A B C D,
9 X36DSA 25 9 / 3 Konený automat FA S A B C D, FA S A B C D,
10 X36DSA 25 / 3 Konený automat FA S A B C D, FA S A B C D,
11 X36DSA 25 / 3 Konený automat FA S A B C D, Po petení posledního symbolu je automat FA v koncovém stavu Slovo je pijímáno automatem FA
12 X36DSA 25 2 / 3 Konený automat FA S A B C D, FA S A B C D,
13 X36DSA 25 3 / 3 Konený automat FA S A B C D, FA S A B C D,
14 X36DSA 25 4 / 3 Konený automat FA S A B C D, FA S A B C FA D,
15 X36DSA 25 5 / 3 Konený automat FA S A B C D, Po petení posledního symbolu je automat FA ve stavu, který není koncový Slovo není pijímáno automatem FA
16 X36DSA 25 6 / 3 Konený automat FA... S A B C D, FA... S A B C D,
17 X36DSA 25 7 / 3 Konený automat FA... S A B C D, FA... S A B C D,
18 X36DSA 25 8 / 3 Konený automat FA... S A B C D, Žádné slovo zaínající Žádné slovo obsahující Žádné slovo obsahující není pijímáno automatem FA není pijímáno automatem FA není pijímáno automatem FA Automat FA pijímá pouze slova -- obsahující alespo jednu jedniku -- obsahující za každou jednikou alespo dv nuly Jazyk píjímaný automatem = množina všech slov pijímaných automatem
19 X36DSA 25 9 / 3 Konený automat innost automatu: Na zaátku je automat ve startovním stavu. Pak te zadané slovo znak po znaku a pechází do dalších stav podle pechodové funkce. Když dote slovo, nachází se opt v nkterém ze svých stav. Pokud je v koncovém stavu, ekneme, že dané slovo pijímá, pokud není v koncovém stavu, ekneme, že dané slovo nepijímá. Všechna slova pijímaná automatem tvoí dohromady jazyk pijímaný (rozpoznávaný) automatem
20 X36DSA 25 2 / 3 Konený automat Jazyk nad abecedou {,} : Pokud slovo zaíná, koní, pokud slovo zaíná, koní. S A C B D Automat FA2 Ukázka analýzy slov automatem FA2: : (S), (A), (B), (A), (B), (A) (A) není koncový stav, slovo automat FA2 nepijímá. : (S),(C),(D),(C), (C), (D) (D) je koncový stav, slovo automat FA2 pijímá.
21 X36DSA 25 2 / 3 Konený automat Jazyk: {,,,,,... } S A B D,, C Automat FA3 Ukázka analýzy slov automatem FA3 : (S), (A), (B), (C), (D), (D) (D) není koncový stav, slovo automat FA3 nepijímá. : (S), (A), (B),(B), (B), (C) (C) je koncový stav, slovo automat FA3 pijímá.
22 X36DSA / 3 Konený automat, S A B C Automat FA4 Automat FA4 píjme každé slovo nad abecedou {,} obsahující podposloupnost Ukázka analýzy slov automatem FA4 : (S), (A),(A),(B),(C),(C) (C) je koncový stav, slovo automat FA4 pijímá. : (S), (A), (B),(S), (S), (A) (A) není koncový stav, slovo automat FA4 nepijímá.
23 X36DSA 25 Konený automat 23 / 3 Jazyk nad abecedou { +, -,.,,,, 8, 9, } jehož slova pedstavují zápis desetinného ísla v desítkové soustav,,...,9,,...,9 +,-,,...,9.,,..., ,,...,9 jinak jinak jinak jinak jinak 5 jakýkoli symbol Automat FA5 Ukázka analýzy slov +87.9: (),+ (),8 (2),7 (2),. (3), (4),9 (4) (4) je koncový stav, slovo automat pijímá. 76+2: (),7 (2),6 (2),+ (5),2 (5) (5) není koncový stav, slovo 76+2 automat nepijímá.
24 X36DSA / 3 Implementace koneného automatu +,-. 2 jinak,,...,9,,...,9,,...,9,,...,9 jinak jinak jinak 5 3 jakýkoli symbol jinak 4,,...,9 FA5 Kód koneného automatu (tená posloupnost znak je uložena v poli arr[ ]): int isdecimal(int arr[], int length) { int i; int state = ; for(i = ; i < length; i++) { // check each symbol switch (state) {...
25 X36DSA / 3 Implementace koneného automatu +,-. 2 jinak,,...,9,,...,9,,...,9,,...,9 jinak jinak jinak 5 3 jakýkoli symbol jinak 4,,...,9 FA5 case : if ((arr[i] == '+') (arr[i] == '-')) state = ; else if ((arr[i] >= '') && (arr[i] <= '9')) state = 2; else state = 5; break;
26 X36DSA / 3 Implementace koneného automatu +,-. 2 jinak,,...,9,,...,9,,...,9,,...,9 jinak jinak jinak 5 3 jakýkoli symbol jinak 4,,...,9 FA5 case : if ((arr[i] >= '') && (arr[i] <= '9')) state = 2; else state = 5; break;
27 X36DSA / 3 Implementace koneného automatu +,-. 2 jinak,,...,9,,...,9,,...,9,,...,9 jinak jinak jinak 5 3 jakýkoli symbol jinak 4,,...,9 FA5 case 2: if ((arr[i] >= '') && (arr[i] <= '9')) state = 2; else if (arr[i] == '.') state = 3; else state = 5; break;
28 X36DSA / 3 Implementace koneného automatu,,...,9,,...,9,,...,9,,...,9 +,-. 2 jinak jinak jinak jinak 5 3 jakýkoli symbol jinak 4,,...,9 FA5 3 case 3: if ((arr[i] >= '') && (arr[i] <= '9')) state = 4; else state = 5; break; 4 case 4: if ((arr[i] >= '') && (arr[i] <= '9')) state = 4; else state = 5; break; 5 case 5: break; // no need to react anyhow default : break; } // end of switch
29 X36DSA / 3 Implementace koneného automatu +,-. 2 jinak,,...,9,,...,9,,...,9,,...,9 jinak jinak jinak 5 3 jakýkoli symbol jinak 4,,...,9 FA5 } // end of for loop -- word has been read 2 4 if ((state == 2) (state == 4)) // final states!! return ; // success - decimal OK else return ; // not a decimal } // end of function isdecimal()
30 X36DSA 25 3 / 3 Složitost rekurzivních algoritm Metoda stromu rekurze substituní mistrovská
31 X36DSA 25 3 / 3 Složitost rekurzivních algoritm T(n) -- asymptotická složitost algoritmu pi vstupu o velikosti n P.: Merge sort Asymptotická složitost vyešení triviální úlohy T(n) = Θ() pro n = 2T(n/2) + Θ(n) pro n > Jak asymptotická složitost pi vstupu o velikosti n závisí na asymptotické složitosti pi vstupu o velikosti n/2 Složitost rozdlení problému a spojení dílích ešení (polovin pole v Merge sortu)
32 X36DSA / 3 Složitost rekurzivních algoritm Co lze zanedbat! typickou hodnotu n si vhodn zvolíme (v Merge sortu mocninu 2)! konkrétní konstanta neovlivní výslednou asymptotickou složitost T(n) = Θ() pro n = 2T(n/2) + Θ(n) pro n >! n/2 a obecn n/konst není celé íslo, mysleme si však, že (vícemén) je, a použijme jej místo správného n/2i n/2 apod.
33 X36DSA / 3 Pro algoritmus A platí Složitost rekurzivních algoritm Píklad T(n) = Θ() pro n = 3T(n/4) + Θ(n 2 ) pro n > Rozdlí data na tvrtiny. Vyešení tvrtinové úlohy trvá T(n/4). Jedna tvrtina se nezpracovává 3 se zpracují v ase 3T(n/4). as potebný na rozdlení na tvrtiny a na spojení tvrtinových úloh je Θ(n 2 ).
34 X36DSA / 3 Složitost rekurzivních algoritm Píklad T(n) = Θ() pro n = 3T(n/4) + Θ(n 2 ) pro n > Vztah pro výpoet T(n) = 3T(n/4) + c n 2
35 X36DSA / 3 Strom rekurze T(n) = 3T(n/4) + c n 2 c n 2 as na dlení problému na dílí problémy a pak spojení dílích ešení T (n/4) T (n/4) T (n/4) as na vyešení jednoho dílího problému Strom rekurze je ale vtší...
36 X36DSA / 3 Strom rekurze T(n) = 3T(n/4) + c n 2 c n 2 Strom rekurze c (n/4) 2 c (n/4) 2 c (n/4) 2 n 6 2 c ( ) n 6 2 c ( ) n 6 2 c ( ) n 6 2 c ( ) n 6 2 c ( 2 ) c ( ) n 6 2 c ( ) n 6 2 c ( ) T() T() T() T() T() T() T()
37 X36DSA / 3 Strom rekurze Prbh výpotu. Nakresli strom rekurze 2. Spoti jeho hloubku 3. Spoti jeho šíku v pate k 4. Spoti cenu uzlu v pate k 5. Seti ceny uzl v pate k 6. Seti ceny všech pater k cena uzlu = asymptotická složitost zpracování podproblému odpovídajícího uzlu ve stromu rekurze. cena stromu = asymptotická složitost zpracování celé úlohy.
38 X36DSA / 3 Strom rekurze Prbh výpotu T(n) = 3T(n/4) + c n 2. Nakresli strom rekurze 2. Spoti jeho hloubku... k V hloubce k je velikost podproblému = n/4 k. Velikost podproblému je tedy =, když n/4 k =, tj k = log 4 (n). Takže strom má log(4) + pater.
39 X36DSA / 3 Strom rekurze T(n) = 3T(n/4) + c n 2 Prbh výpotu Spoti jeho šíku v pate k... k. patro uzel. patro 3 uzly 2. patro 3 3 = 9 uzl 3. patro = 27 uzl... k. patro = 3 k uzl
40 X36DSA 25 4 / 3 Strom rekurze T(n) = 3T(n/4) + c n 2 Prbh výpotu Spoti cenu uzlu v pate k... k. patro c n 2. patro c (n/4) 2 2. patro c (n/6) 2 3. patro c (n/64) 2... k. patro c (n/4 k ) 2
41 X36DSA 25 4 / 3 Strom rekurze T(n) = 3T(n/4) + c n 2 Prbh výpotu Seti ceny uzl v pate k... V pate k je 3 k uzl, každý má cenu c (n/4 k ) 2. k Celková cena patra k je 3 k c (n/4 k ) 2 = (3/6) k c n 2 Pozor na poslední patro:
42 X36DSA / 3 Strom rekurze T(n) = 3T(n/4) + c n 2 Prbh výpotu Seti ceny uzl v pate k... Poslední patro je v hloubce log 4 (n) a má tedy k 3 log (n) = n log (3) uzl. 4 4 Každý pispívá konstantní cenou, takže cena posledního patra je n log (3) konst = Θ(n log (3) ) 4 4
43 X36DSA / 3 Strom rekurze Prbh výpotu Seti ceny všech pater T(n) = 3T(n/4) + c n 2 Celková cena = cn 2 + 3/6 cn 2 + (3/6) 2 cn (3/6) log (n ) cn 2 + Θ (n log (3) 4 ) 4 = ( + 3/6 + (3/6) (3/6) log (n ) ) cn 2 + Θ (n log (3) ) 4 4 = Geometrickou posloupnost nahradíme pibližn geometrickou adou (zbytek ady je zanedbatelný). Získáváme horní odhad soutu. ( + 3/6 + (3/6) 2 + (3/6) ad inf. ) cn 2 + Θ (n log 4(3) ) = ( / ( 3/6) ) cn 2 + Θ (n log 4(3) ) = 6/3 cn 2 + Θ (n log 4 (3) ) =
44 X36DSA / 3 Strom rekurze Prbh výpotu Seti ceny všech pater T(n) = 3T(n/4) + c n 2 k 2 > log 4 (3) 6/3 cn 2 + Θ (n log 4 (3) ) = Θ (n 2 ) Asymptotická složitost celého algoritmu A.
45 X36DSA / 3 Substituní metoda Píklad Rekurentní vztah popisující asymptotickou složitost algoritmu B Náš odhad složitosti T(n) = 2T(n/2) + n T(n) = O(n log 2 (n)) Zdroj odhadu: zkušenost, podobnost s jinými úlohami úvaha, intuice... :-) Chceme dokázat: Náš odhad platí Metoda: Bžná matematická indukce, do níž dosadíme (substituujeme) daný rekurentní vztah
46 X36DSA / 3 Substituní metoda Chceme dokázat : T(n) = O(n log 2 (n)), to jest : T(n) c n log 2 (n), pro vhodné c > Krok II (obecný krok) matematické indukce: Dokážeme, že pokud nerovnost platí pro n/2, platí i pro n. Víme: Pedpokládáme: T(n) = 2T(n/2) + n T(n/2) c n/2 log 2 (n/2) Substituce: úpravy: T(n) 2 c n/2 log 2 (n/2) + n cn log 2 (n/2) + n = cn log 2 (n) cn log 2 (2) +n = cn log 2 (n) cn +n cn log 2 (n), pokud c
47 X36DSA / 3 Substituní metoda Krok I matematické indukce: nerovnost T(n) c n log 2 (n), platí pro njaké konkrétní malé n. Nelze dokazovat pro n =, nebo bychom dokazovali T() c log 2 () =, což neplatí, protože jist je T() >. Pozorování T(n) = 2T(n/2) + n Pokud n > 3, v rekurentním vztahu se T() neobjeví, tedy pokud dokážeme indukní krok I pro n = 2 a n = 3, je dkaz hotov pro všechna n 2. Jde nám ale o asymptotickou složitost, tudíž dkaz pro n 2 staí.
48 X36DSA / 3 Substituní metoda Krok I matematické indukce pro n = 2 a n = 3 A T() = k. T(n) = 2T(n/2) + n Z rekurentního vztahu plyne T(2) = 2k+2 T(3) = 2k+3 Chceme mít: T(2) c 2 log 2 (2) T(3) c 3 log 2 (3) Staí tedy volit c max { (2k+2)/2, (2k+3)/(3 log 2 (3)) }.
49 X36DSA / 3 Mistrovská metoda Pímoará aplikace vty: Nech a a b > jsou konstanty, f(n) je funkce a nech asymptotická složitost daného algoritmu je definována rekurentním vztahem T(n) = at(n/b) + f(n), kde podíl n/b lze libovoln interpretovat jako n/b nebo n/b. Potom platí. Pokud f(n) = O(n log (a) e b ) pro njakou konstantu e >, pak T(n) = Θ(n log (a) ). // // b Podmínka. íká, že f(n) musí rst polynomiáln pomaleji než funkce n log (a). b
50 X36DSA 25 5 / 3 Mistrovská metoda 2. Pokud f(n) = Θ(n log (a) ), pak T(n) = Θ(n log (a) b b ). 3. Pokud f(n) = Ω(n log b (a) +e ) pro njakou konstantu e >, a pokud a f(n/b) c f(n) pro pro njaké c < a pro všechna dostaten velká n, pak T(n) = Θ(f(n)). // // Podmínka 3. íká, že f(n) musí rst polynomiáln rychleji než funkce n log (a). b
51 X36DSA 25 5 / 3 Mistrovská metoda.... Pokud f(n) = O(n log (a) e b ) pro njakou konstantu e >, pak T(n) = Θ(n log (a) b ).... Píklad. T(n) = 9T(n/3) + n a = 9, b = 3, f(n) = n. Platí n log (a) n log (9) b = 3 = Θ(n 2 ) f(n) = O(n log (9) e ), kde e = 3 Celkem tedy T(n)= Θ(n 2 )
52 X36DSA / 3 Mistrovská metoda Pokud f(n) = Ω(n log b (a) +e ) pro njakou konstantu e >, a pokud a f(n/b) c f(n) pro pro njaké c < a pro všechna dostaten velká n, pak T(n) = Θ(f(n)). Píklad. T(n) = 2T(n/2) + n log 2 (n) a = 2, b = 2, f(n) = n log 2 (n). Platí = n n log (a) b f(n) = n log 2 (n) roste asymptoticky rychleji než n log (a) b = n. Pozor, neroste ale polynomiáln rychleji. Pomr n log 2 (n) / n = log 2 (n) roste pomaleji než každá rostoucí polynomiální funkce. n log2(n) Ω(n+e) pro každé kladné e. Pedpoklad 3. není splnn.
53 X36DSA / 3 DSA Rzné algoritmy mají rznou složitost
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íceAlgoritmizace složitost rekurzivních algoritmů. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
složitost rekurzivních algoritmů Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Vyjádřen ení složitosti rekurzivního algoritmu rekurentním m tvarem Příklad vyjádření složitosti rekurzivního algoritmu rekurencí:
VíceDynamické programování. Optimální binární vyhledávací strom
The complexity of different algorithms varies: O(n), Ω(n ), Θ(n log (n)), Dynamické programování Optimální binární vyhledávací strom Různé algoritmy mají různou složitost: O(n), Ω(n ), Θ(n log (n)), The
VíceAlgoritmizace 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íceZdů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íceCOMPLEXITY
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íceMimo 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íceVyvaž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íceDoba 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íceTGH05 - Problém za milion dolarů.
TGH05 - Problém za milion dolarů. Jan Březina Technical University of Liberec 20. března 2012 Časová složitost algoritmu Závislost doby běhu programu T na velikosti vstupních dat n. O(n) notace, standardní
VíceKaždý datový objekt Pythonu má minimáln ti vlastnosti. Identitu, datový typ a hodnotu.
Datový objekt [citováno z http://wraith.iglu.cz/python/index.php] Každý datový objekt Pythonu má minimáln ti vlastnosti. Identitu, datový typ a hodnotu. Identita Identita datového objektu je jedinený a
VíceAlgoritmická matematika 3 Mgr. Petr Osička, Ph.D. ZS 2014. Rozděl a panuj
Algoritmická matematika 3 KMI/ALM3 Mgr. Petr Osička, Ph.D. ZS 2014 1 Základní princip Rozděl a panuj Technika rozděl a panuj je založená na následující myšlence. Z dané vstupní instance I vygenerujeme
VíceRůzné algoritmy mají různou složitost
/ 1 Různé algoritmy mají různou složitost 1/ 1 Rychlost... Jeden algoritmus (program, postup, metoda ) je rychlejší než druhý. Co ta věta znamená?? 2/ 1 Asymptotická složitost y y x x Každému algoritmu
VíceCykly Intermezzo. FOR cyklus
Cykly Intermezzo Rozhodl jsem se zaadit do série nkolika lánk o základech programování v Delphi/Pascalu malou vsuvku, která nám pomže pochopit principy a zásady pi používání tzv. cykl. Mnoho ástí i jednoduchých
VíceČ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íceStromy, 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íceZá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íceAlgoritmy 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íceAlgoritmizace. 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íceIB108 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íceDynamické datové struktury III.
Dynamické datové struktury III. Halda. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované
VíceČ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íceR O V N O B Ž N Í K (2 HODINY)
R O V N O B Ž N Í K (2 HODINY)? Co to vlastn rovnobžník je? Na obrázku je dopravní znaka, která íká, že vzdálenost k železninímu pejezdu je 1 m (dva pruhy, jeden pruh pedstavuje vzdálenost 80 m): Pozorn
VíceR zné algoritmy mají r znou složitost
/ / zné algoritmy mají r znou složitost Dynamické programování / / Definice funkce Otázka Program f(x,y) = (x = ) (y = ) f(x, y-) + f(x-,y) (x > ) && (y > ) f(,) =? int f(int x, int y) { if ( (x == ) (y
VíceKMI/ALM3 Mgr. Petr Osička, Ph.D. ZS ANO je slovo 1 a kódováním NE je slovo 0, pak je problém popsán pomocí dvojice L, R takové, že:
Algoritmická matematika 3 KMI/ALM3 Mgr. Petr Osička, Ph.D. ZS 2014 Algoritmický problém Přednáška 1 Definice 1. Abeceda Σ je konečná neprázdná množina. Prvkům Σ říkáme symboly. Slovo (řetězec) nad abecedou
VícePří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íceAnotace. Informace o praktiku z programování!!! Direktivy překladače Soubory (textové) Quicksort Metoda rozděl a panuj
Anotace Informace o praktiku z programování!!! Direktivy překladače Soubory (textové) Quicksort Metoda rozděl a panuj Direktivy překladače Překladač kontroluje plno věcí, například: zda nekoukáme za konec
VíceOCR (optical character recognition) - rozpoznávání textu v obraze
OCR (optical character recognition) - rozpoznávání textu v obraze Martin Koníek, I46 programová dokumentace 1. Úvod Tento projekt vznikl na MFF UK a jeho cílem bylo vytvoit algoritmus schopný rozpoznávat
VíceV každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2
Euklidův algoritmus Doprovodný materiál pro cvičení Programování I. NPRM044 Autor: Markéta Popelová Datum: 31.10.2010 Euklidův algoritmus verze 1.0 Zadání: Určete největšího společného dělitele dvou zadaných
VíceProtože pi každém volání funkce ff se zavolá funkce abc() práv jednou, je poet volání funkce abc() práv 7. Platí varianta d).
1. void ff(int x) { if (x > 0) ff(x 1) ; abc(x); if (x > 0) ff(x 1) ; Daná funkce ff je volána s parametrem 2: ff(2);. Funkce abc(x) je tedy celkem volána a) 1 krát b) 3 krát c) 5 krát d) 7 krát e) 8 krát
VíceMIDTERM D. Příjmení a jméno:
MIDTERM D Příjmení a jméno: 1 2 3 4 5 6 7 8 9 10 11 12 1 Doplňte místo otazníku ten ze symbolů, aby platil vztah (log n) / (log n 2 ) =?(1/ n): A) o B) O (a současně nelze použít ani o ani Θ) C) Θ D) Ω
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
ř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íceUkážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní. stromový rozklad. Poznamenejme, že je-li k součástí vstupu, pak rozhodnout
Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní graf má stromovou šířku nejvýše k, a je-li tomu tak, také vrátí příslušný stromový rozklad. Poznamenejme, že je-li k součástí vstupu,
VíceZpracoval: hypspave@fel.cvut.cz 7. Matematická indukce a rekurse. Řešení rekurentních (diferenčních) rovnic s konstantními koeficienty.
Zpracoval: hypspave@fel.cvut.cz 7. Matematická indukce a rekurse. Řešení rekurentních (diferenčních) rovnic s konstantními koeficienty. (A7B01MCS) I. Matematická indukce a rekurse. Indukční principy patří
VíceDynamic programming. Optimal binary search tree
The complexity of different algorithms varies: O(n), Ω(n ), Θ(n log (n)), Dynamic programming Optimal binary search tree Různé algoritmy mají různou složitost: O(n), Ω(n ), Θ(n log (n)), The complexity
VíceNPRG030 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íce10. 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íceIB111 Ú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íceNa začátku rozdělíme práci a určíme, které podproblémy je potřeba vyřešit. Tyto
Kapitola 1 Rozděl a panuj Rozděl a panuj je programovací metoda. Často se označuje latinsky Divide et Empera nebo anglicky Divide and Conquer. Vychází z toho, že umíme zadaný problém rozložit na menší
Více1 Sémantika a její vztah k syntaxi
1 Sémantika a její vztah k syntaxi Mjme formální jazyk L T nad abecedou T. Tento formální jazyk je vymezen popisem syntaxe, která stanoví množinu všech syntakticky správných etzc jazyka. V dalším textu
VíceSTACK
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íceRekurentní rovnice, strukturální indukce
, strukturální indukce Jiří Velebil: Y01DMA 23. února 2010: Strukturální indukce 1/19 Backusova-Naurova forma Například syntaxe formuĺı výrokové logiky kde a At. Poznámky 1 Relaxace BNF. ϕ ::= a tt (ϕ
Více5 Rekurze a zásobník. Rekurzivní volání metody
5 Rekurze a zásobník Při volání metody z metody main() se do zásobníku uloží aktivační záznam obsahující - parametry - návratovou adresu, tedy adresu, kde bude program pokračovat v metodě main () po skončení
VíceSelect sort: krok 1: krok 2: krok 3: atd. celkem porovnání. výběr nejmenšího klíče z n prvků vyžaduje 1 porovnání
Select sort: krok 1: výběr klíče z n prvků vyžaduje 1 porovnání krok 2: výběr klíče z 1 prvků vyžaduje 2 porovnání krok 3: výběr klíče z 2 prvků vyžaduje 3 porovnání atd. celkem porovnání Zlepšení = použít
VíceČíselné posloupnosti
Číselné posloupnosti Jiří Fišer KMA, PřF UP Olomouc ZS09 Jiří Fišer (KMA, PřF UP Olomouc) KMA MA2AA ZS09 1 / 43 Pojem posloupnosti Každé zobrazení N do R nazýváme číselná posloupnost. 1 a 1, 2 a 2, 3 a
VíceSplajny a metoda nejmenších tverc
Splajny a metoda nejmenších tverc 1. píklad a) Najdte pirozený kubický splajn pro funkci na intervalu Za uzly zvolte body Na interpolaci pomocí kubického splajnu použijeme píkaz Spline(ydata,, endpts).
Více( ) ( ) 2 2 B A B A ( ) ( ) ( ) B A B A B A
Vzdálenost dvou bod, sted úseky Ž Vzdálenost dvou bod Pi vyšetování vzájemné polohy bod, pímek a rovin lze použít libovolnou vhodn zvolenou soustavu souadnic (afinní). však pi vyšetování metrických vlastností
VíceAlgoritmus Minimax. Tomáš Kühr. Projektový seminář 1
Projektový seminář 1 Základní pojmy Tah = přemístění figury hráče na tahu odpovídající pravidlům dané hry. Při tahu může být manipulováno i s figurami soupeře, pokud to odpovídá pravidlům hry (např. odstranění
VícePromnné. [citováno z
Promnné [citováno z http://wraith.iglu.cz/python/index.php] Abychom s datovým objektem mohli v programu njak rozumn pracovat, potebujeme se na nj njakým zpsobem odkázat. Potebujeme Pythonu íct, aby napíklad
Více1. Signatura datového typu
1. Signatura datového typu a) popisuje vlastnosti operací datového typu b) popisuje sémantiku datového typu c) popisuje jména druh a operací a druhy argument a výsledku d) je grafickým vyjádením implementace
VícePříklady z Kombinatoriky a grafů I - LS 2015/2016
Příklady z Kombinatoriky a grafů I - LS 2015/2016 zadáno 1.-4. 3. 2016, odevzdat do 8.-11. 3. 2016 1. Zjistěte, které z následujících funkcí definovaných pro n N jsou v relaci Θ(), a vzniklé třídy co nejlépe
VícePravdpodobnost výskytu náhodné veliiny na njakém intervalu urujeme na základ tchto vztah: f(x)
NÁHODNÁ VELIINA Náhodná veliina je veliina, jejíž hodnota je jednoznan urena výsledkem náhodného pokusu (je-li tento výsledek dán reálným íslem). Jde o reálnou funkci definovanou na základním prostoru
VíceDRUHY ROVNOBŽNÍK A JEJICH VLASTNOSTI 1 HODINA
DRUHY ROVNOBŽNÍK A JEJICH VLASTNOSTI HODINA Podívej se na následující obrázek: Na obrázku je rovnobžník s vyznaeným pravým úhlem. Odpovídej na otázky:? Jaká je velikost vnitního úhlu pi vrcholu C? Je rovna
VíceRekurze. Pavel Töpfer, 2017 Programování 1-8 1
Rekurze V programování ve dvou hladinách: - rekurzivní algoritmus (řešení úlohy je definováno pomocí řešení podúloh stejného charakteru) - rekurzivní volání procedury nebo funkce (volá sama sebe přímo
VíceAlgoritmy a datové struktury
Algoritmy a datové struktury Stromy 1 / 32 Obsah přednášky Pole a seznamy Stromy Procházení stromů Binární stromy Procházení BS Binární vyhledávací stromy 2 / 32 Pole Hledání v poli metodou půlení intervalu
VíceProgramovací jazyky, syntaxe, sémantika, zpsoby popisu
Sémantika programovacích jazyk: Syntaxe a sémantika Syntaxe a sémantika Programovací jazyky, syntaxe, sémantika, zpsoby popisu Ti hlavní charakteristiky jazyka (sémiotika) jsou: - syntax, sémantika a pragmatika
VíceRekurentní rovnice, strukturální indukce
Rekurentní rovnice, strukturální indukce Jiří Velebil: A7B01MCS 26. září 2011: 1/20 Příklad (Parketáž triminy z minulé přednášky) P(n) = počet parket k vyparketování místnosti rozměru n 1 P(1) = 1. 2 P(n
VícePROGRAMOVACÍ JAZYKY A PŘEKLADAČE REALIZACE PŘEKLADAČE I
PROGRAMOVACÍ JAZYKY A PŘEKLADAČE REALIZACE PŘEKLADAČE I 2011 Jan Janoušek BI-PJP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Programová realizace DKA typedef enum {q0, q1,... qn,
VíceDynamické 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ícepř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íceJednoznačné a nejednoznačné gramatiky
BI-AAG (2011/2012) J. Holub: 11. Bezkontextové gramatiky p. 2/36 Jednoznačné a nejednoznačné gramatiky BI-AAG (2011/2012) J. Holub: 11. Bezkontextové gramatiky p. 4/36 Automaty a gramatiky(bi-aag) 11.
VíceLABORATORNÍ CVIENÍ Stední prmyslová škola elektrotechnická
Stední prmyslová škola elektrotechnická a Vyšší odborná škola, Pardubice, Karla IV. 13 LABORATORNÍ CVIENÍ Stední prmyslová škola elektrotechnická Píjmení: Hladna íslo úlohy: 3 Jméno: Jan Datum mení: 10.
VíceJe n O(n 2 )? Je n 2 O(n)? Je 3n 5 +2n Θ(n 5 )? Je n 1000 O(2 n )? Je 2 n O(n 2000 )? Cvičení s kartami aneb jak rychle roste exponenciála.
Příklady: Je n O(n 2 )? Je n 2 O(n)? Je 3n 5 +2n 3 +1000 Θ(n 5 )? Je n 1000 O(2 n )? Je 2 n O(n 2000 )? Cvičení s kartami aneb jak rychle roste exponenciála. Další pojmy složitosti Složitost v nejlepším
VíceDobSort. Úvod do programování. DobSort Implementace 1/3. DobSort Implementace 2/3. DobSort - Příklad. DobSort Implementace 3/3
DobSort Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 V roce 1980 navrhl Dobosiewicz variantu (tzv. DobSort),
VíceSeminář 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íceVYŠŠÍ ODBORNÁ ŠKOLA a STŘEDNÍ PRŮMYSLOVÁ ŠKOLA Mariánská 1100, 407 47 Varnsdorf PROGRAMOVÁNÍ FUNKCE, REKURZE, CYKLY
Jméno a příjmení: Školní rok: Třída: VYŠŠÍ ODBORNÁ ŠKOLA a STŘEDNÍ PRŮMYSLOVÁ ŠKOLA Mariánská 1100, 407 47 Varnsdorf 2007/2008 VI2 PROGRAMOVÁNÍ FUNKCE, REKURZE, CYKLY Petr VOPALECKÝ Číslo úlohy: Počet
VíceTabulkový procesor Excel
Tabulkový procesor Excel Excel 1 SIPVZ-modul-P0 OBSAH OBSAH...2 ZÁKLADNÍ POJMY...4 K EMU JE EXCEL... 4 UKÁZKA TABULKOVÉHO DOKUMENTU... 5 PRACOVNÍ PLOCHA... 6 OPERACE SE SOUBOREM...7 OTEVENÍ EXISTUJÍCÍHO
VícePrioritní fronta, halda
Prioritní fronta, halda Priority queue, heap Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2018 1 / 26 Prioritní fronta Halda Heap sort 2 / 26 Prioritní fronta (priority queue) Podporuje
VíceRECURSION
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íce27. asové, kmitotové a kódové dlení (TDM, FDM, CDM). Funkce a poslání úzkopásmových a širokopásmových sítí.
Petr Martínek martip2@fel.cvut.cz, ICQ: 303-942-073 27. asové, kmitotové a kódové dlení (TDM, FDM, CDM). Funkce a poslání úzkopásmových a širokopásmových sítí. Multiplexování (sdružování) - jedná se o
VíceKonzistentnost. Pro a proti replikaci. Vztah ke škálovatelnosti (1)
Konzistentnost Pednášky z distribuovaných systém Pro a proti replikaci 1. Zvýšení spolehlivosti. 2. Zvýšení výkonnosti. 3. Nutnost zachování škálovatelnosti systému co do potu komponent i geografické rozlehlosti.
VíceIB002 Algoritmy a datové struktury I
IB002 Algoritmy a datové struktury I Ivana Černá Fakulta informatiky, Masarykova univerzita Jaro 2016 IB002 Algoritmy a datové struktury I () Jaro 2016 1 / 88 Informace o předmětu vyučující předmětu Ivana
VíceStromy. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.
Stromy Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol., 2018, B6B36DSA 01/2018, Lekce 9 https://cw.fel.cvut.cz/wiki/courses/b6b36dsa/start
Víceedokumentace: Simulátor investiního rozhodování
edokumentace: Simulátor investiního rozhodování Umístní hry Hru je možno sehrát na webu http://investice.wz.cz/, kde je k dispozici v php. Na webu je také k dipozici ke stažení tato dokumentace ve formátu
Více1. Predikátová logika jako prostedek reprezentace znalostí
1. Predikátová logika jako prostedek reprezentace znalostí 1.1 Historie výrokové logiky Problém explicitních znalostí a údaj, kterých je obrovské množství, vedl ke vzniku výrokové logiky. lovk si obecn
VíceVyhledá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íceStromy. 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íceDynamické programování
ALG 0 Dynamické programování zkratka: DP Zdroje, přehledy, ukázky viz https://cw.fel.cvut.cz/wiki/courses/a4balg/literatura_odkazy 0 Dynamické programování Charakteristika Neřeší jeden konkrétní typ úlohy,
Více1 Píklady popisu typických konstrukcí
1 Píklady popisu typických konstrukcí V tomto odstavci se pokusíme ilustrovat denotaní popis sémantiky ve funkcionálním modelu pro typické píklady jazykových konstrukcí. Popisované konstrukce budou fragmenty
Více1. Exponenciální rst. 1.1. Spojitý pípad. Rstový zákon je vyjáden diferenciální rovnicí
V tomto lánku na dvou modelech rstu - exponenciálním a logistickém - ukážeme nkteré rozdíly mezi chováním spojitých a diskrétních systém. Exponenciální model lze považovat za základní rstový model v neomezeném
VíceRekurzivní algoritmy
Rekurzivní algoritmy 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) ZS
VíceSlož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íceDMA Přednáška Rekurentní rovnice. takovou, že po dosazení odpovídajících členů do dané rovnice dostáváme pro všechna n n 0 + m pravdivý výrok.
DMA Přednáška Rekurentní rovnice Rekurentní rovnice či rekurzivní rovnice pro posloupnost {a n } je vztah a n+1 = G(a n, a n 1,..., a n m ), n n 0 + m, kde G je nějaká funkce m + 1 proměnných. Jejím řešením
VíceObecná 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íceRekurze. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.
Rekurze 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) Rekurze 161 / 344 Osnova přednášky
VíceInformatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A
Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A Každá úloha je hodnocena maximálně 25 body. Všechny své odpovědi zdůvodněte! 1. Postavte na stůl do řady vedle
VíceBiná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íceNÁVRH ALGORITMŮ. poznámky pro Algoritmickou matematiku 3. Petr Osička
NÁVRH ALGORITMŮ poznámky pro Algoritmickou matematiku 3 Petr Osička i Text obsahuje poznámky ke kurzu Algoritmická matematika 3. Petr Osička Olomouc, podzim 2017 Obsah 1 Úvod 1 2 Rozděl a panuj 6 3 Dynamické
VíceDigitá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íceRozvrhování na více procesorech
Rozvrhování na více procesorech Rozvrhování na více procesorech je složitjší úloha než na jednom procesoru. Uvažujeme m procesor. Rozlišujeme typy procesor - paralelní nebo dedikované a jejich rychlosti
VíceAnotace. pointery (pars prima). Martin Pergel,
Anotace Základní třídicí algoritmy, jednotky oddělený překlad, pointery (pars prima). Problém třídění jednoduché třídicí algoritmy Bublinkové třídění (BubbleSort), zatřid ování alias třídění přímým vkládáním
VíceVztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31
Vztah teorie vyčíslitelnosti a teorie složitosti IB102 Automaty, gramatiky a složitost, 2. 12. 2013 1/31 IB102 Automaty, gramatiky a složitost, 2. 12. 2013 2/31 Časová složitost algoritmu počet kroků výpočtu
VíceNá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íceNá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íceLineární algebra Petriho sítí
) Notace Lineární algebra Petriho sítí Definice: Neznaená PN je taková tveice Q = P Pre Post kde P = {P P n } je množina míst (konená nenulová) = { m } je množina pechod (konená nenulová) Pre: P {} vstupní
VíceFIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
FIT ČVUT MI-LOM Lineární optimalizace a metody Dualita Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Michal Černý, 2011 FIT ČVUT, MI-LOM, M. Černý, 2011: Dualita 2/5 Dualita Evropský
VíceKMI/ALM3 Mgr. Petr Osička, Ph.D. Update: 15. listopadu 2016
Algoritmická matematika 3 KMI/ALM3 Mgr. Petr Osička, Ph.D. Update: 15. listopadu 2016 Algoritmický problém Přednáška 1 Definice 1. Abeceda Σ je konečná neprázdná množina. Prvkům Σ říkáme symboly. Slovo
VíceVYTVÁENÍ VÝBROVÝCH DOTAZ
VYTVÁENÍ VÝBROVÝCH DOTAZ V PRODUKTECH YAMACO SOFTWARE PÍRUKA A NÁVODY PRO ÚELY: - VYTVÁENÍ VÝBROVÝCH SESTAV YAMACO SOFTWARE 2003-2004 1. ÚVODEM Standardní souástí všech produkt Yamaco Software jsou prostedky
VíceDefinice : Jsou li povrchové pímky kolmé k rovin, vzniká kolmá kruhová válcová plocha a pomocí roviny také kolmý kruhový válec.
3. EZY NA VÁLCÍCH 3.1. VÁLCOVÁ PLOCHA, VÁLEC Definice : Je dána kružnice k ležící v rovin a pímka a rznobžná s rovinou. Všechny pímky rovnobžné s pímkou a protínající kružnici k tvoí kruhovou válcovou
VíceDlitel, násobek Znak dlitelnosti Prvoíslo, íslo složené, rozklad na prvoinitele Nejvtší spolený dlitel, nejmenší spolený násobek
1.1. Základní pojmy V tomto uebním bloku budeme pracovat pouze s pirozenými ísly ( bez nuly ) a budeme studovat vztahy dlitelnosti mezi nimi. Seznámíme se s tmito základními pojmy: Název Dlitel, násobek
Více