Algoritmy komprese dat
|
|
- Tomáš Staněk
- před 8 lety
- Počet zobrazení:
Transkript
1 Algoritmy komprese dat Slovníkové metody Phillip Walter Katz ( ) NSWI072-10
2 Slovníkové metody komprese dat Idea opakující se fráze uloženy do slovníku výskyty fráze v textu ukazatel do slovníku Problémy a v praxi používaná řešení: NP-těžký problém konstrukce optimálního slovníku hladový algoritmus slovník musí znát i dekodér dynamické metody Jacob Ziv, Abraham Lempel [LZ77] A universal algorithm for data compression. IEEE Trans. Inform. Theory, IT-23(3): , [LZ78] A compression of individual sequences via variable-rate coding. IEEE Trans. Inform. Theory, IT-24(5): ,
3 LZ77 Posuvné okno Inicializace prohlížecí okno (search buffer) 3 aktuální okno (look-ahead buffer) prohlížecí okno vyplníme mezerami do aktuálního okna načteme začátek vstupu V posuvném okně vyhledáme co nejdelší slovo S takové, že S začíná v prohlížecím okně S je shodné s nějakou předponou slova v aktuálním okně
4 LZ77 Posuvné okno Slovo S je zakódováno trojicí i,j,z, kde i je vzdálenost začátku slova S od začátku aktuálního okna j = S z je znak následující S 7,4,r prohlížecí okno Celé okno je posunuto o 4 aktuální okno j+1 znaků doprava
5 LZ77 Posuvné okno prohlížecí okno aktuální okno Velikosti posuvného okna 2 12 až 2 16 gzip 2 15 B Velikost aktuálního okna desítky až stovky B gzip 256 B 5
6 Příklad 0,0,d 7,4,r 3,5,d 6
7 Příklad: dekódování 0,0,d, 7,4,r, 3,5,d 7,4,r, 3,5,d 7
8 Příklad: dekódování 3,5,d 8
9 Analýza Pomalá komprese, rychlá dekomprese Rychlost komprese lze zvýšit použitím speciálních datových struktur současně však rostou paměťové nároky Typická aplikace jedna komprese vícenásobná dekomprese 9
10 Varianta LZSS Storer, Szymanski (1982) místo trojice (i,j,z) buďto (i,j) nebo z bitový indikátor k rozlišení: dvojice ukazatelů znak dvojice ukazatelů potřebuje stejnou paměť jako p znaků kóduj dvojicemi jen fráze délky >p» jinak kopíruj na výstup jednotlivé znaky prohlížecí okno cyklická fronta [0..N] N=10 Možná implementace kódové slovo 16b, i = 11, j =5 bitové indikátory vždy po 8 v 1B 10
11 Variace na téma LZ77 LZB (Bell, 1987) LZSS s úspornějším kódováním ukazatelů (i,j) i binární kód rostoucí délky - nejprve 1b - po načtení 2. znaku 2b - po načtení 4. znaku 3b atd. j kód γ 11
12 Variace na téma LZ77 LZH (Brent, 1987) LZSS s Huffmanovým kódem pro ukazatele 1. průchod: LZSS + výpočet četností 2. průchod: statický Huffmanův kód Problém velké tabulky četností číslo i ve dvojici (i,j) je rozděleno na dvě části (každá s max hodnotou N) jedna tabulka četností pro položky všech 4 typů 12
13 Co mají společné?.zip.gz.jar.cab.png Metoda Deflate autor Phil Katz, 1991 původně pro PKZIP 2 kombinace slovníkové metody LZ77 a Huffmanova kódování 13
14 Metoda Deflate Phil Katz (1991) Jean-loup Gailly, Mark Adler: zlib (1996) LZSS + Huffmanův kód velikost posuvného okna N = 32kB velikost aktuálního okna F = 258B» délka shody Vstup rozdělen do bloků, 3b hlavička 1 bit: poslední blok ANO/NE 2 bity: typ bloku 14
15 Deflate (pokračování) 3 typy bloků 1: bez komprese 2: fixní kódovací tabulky pro Huffmanův kód 3: Huffmanův kód dle statistiky ze vstupních dat Blok typu 3 na začátku bloku 2 Huffmanovy stromy jeden pro literály (0..255) a délky shody (3..258)» jediná abeceda » pro literály, 256 = end-of-block» pro délku shody (+ extra bity) druhý pro posunutí 15
16 Deflate: kódování délky shody Extra Extra Extra Code Bits Length(s) Code Bits Lengths Code Bits Length(s) , , , ,
17 Deflate: kódování posunutí Extra Extra Extra Code Bits Dist Code Bits Dist Code Bits Distance , ,
18 Deflate (pokračování) Vyhledávání řetězců v prohlížecím okně -> hašování tabulka obsahuje řetězce délky 3 řetězce ve spojových seznamech uspořádány dle stáří parametr omezující max délku seznamu Rozšíření hladové strategie nejprve se hledá primární shoda posun okna o 1 znak, sekundární shoda, je-li výhodnější, kóduje se literál + sekundární shoda rychlý režim: je-li primární shoda dostatečná, sekundární se neprovádí Kompresní poměr % pro textové soubory 18
19 Phillip Walter Katz ? archivační program ARC (SEA) shareware distribuce včetně zdrojového kódu v C Katz: shareware PKARC stejný formát jako ARC rychlejší, kritické funkce v asembleru SEA podává žalobu Katz použil zdrojový kód ARC včetně komentářů a chyb uživatelé stranili Katzovi jeho software rychlejší 19
20 Phillip Walter Katz 1989 PKZip 1993 PKZip 2 = Deflate otevřený formát standard pro kompresi souborů na různých platformách U 2000 (alkohol) 2004 PKWARE: SecureZIP PKZIP Bit AES Encryption 20
21 Datové struktury pro posuvné okno trie (information retrieval) stromová reprezentace slovníku sufixový trie pro slovo x reprezentuje všechny přípony slova x x = tata$ x = tata $ a 1 t a 3 t 5 a 4 t a 2 21 a t $ 1 a t $ 3 a t 5 $ zarážka zajistí, aby každý list reprezentoval příponu slova x a 4 $ 2
22 Patricia kompaktní trie Nevýhoda trie: kvadratická prostorová složitost Practical Algorithm to Retrieve Information Coded in Alphanumeric (D.R.Morrison, 1968) obdržíme eliminací všech vrcholů různých od kořene, které mají jediného syna a t $ 1 a t $ 3 $ a t 5 $ a 4 $ 2 Sufixový strom pro slovo x = kompaktní sufixový trie pro x 22 ta $ 1 ta $ 3 $ a 5 $ 4 ta$ 2
23 Sufixový strom T(abaabaab) 1 abaabaab$ 2 baabaab$ 3 aabaab$ 4 abaab$ 5 baab$ 6 aab$ 7 ab$ 8 b$ 9 $ 1,1 9,9 a b 2,2 $ 9 4,5 9,9 ab b 2,2 $ 3,5 aab 6,9 8 9,9 aab$ $ 3,5 9,9 9,9 6,9 3 aab $ 6 $ aab$ ,9 aab$ 9,9 $ a b a a b a a b $ 23
24 Sufixový strom v posuvném okně Reprezentace textu v posuvném okně sufixový strom Ukkonen (1992) z T(x) vytvoří T(xa) pro a Σ v amortizovaném čase O(log α) Fiala, Greene (1989) z T(ax) vytvoří T(x) pro a Σ v amortizovaném čase O(1) vyžaduje ukazatele z dětí na rodiče M.Senft (2005) komprese řízená sufixovým stromem 24
25 LZP (prediction, C.Bloom, 1996) hašovací funkce prohlížecí okno kontext délky N aktuální okno 25
26 Komprese P:= hash(c); hash(c):= Q; L :=0; hašovací funkce P Q if P nil then L := max. délka shodné předpony řetězců P a Q fi if L = 0 then output znak Q jako literál; posuň okno o 1 políčko doprava else output(l); posuň okno o L políček doprava fi 26
27 Problémy Start: prohlížecí okno:= prvních N znaků na vstupu for i:=1 to N do read(z); output(z) Co když se řetězec P neshoduje s kontextem C? Posun okna nutná aktualizace všech ukazatelů v hašovací tabulce (a) vstup rozdělen do bloků, délka okna = délka bloku (b) okno = cyklická fronta C.Bloom: LZP: A new data compression algorithm, DCC 96, p
28 LZP1 kontext délky N = 3 H = ((C>>11)^C) & 0xFFF velikost tabulky = 2 12, 14b položky délka okna = 2 14 příznak literál délka L 1 dva literály 01 literál, L 00 L příznaky a délky v 1B, následují literály literál - 8b ASCII délka L - kód v tabulce 28
29 LZP1 - příklad vstup: xyabcabcabxy výstup: "x""y""a""b""c""a""b"3"x""y" "xyabcabxy" LZP2 Literály kódovány statickým Huffmanovým kódem 29
30 LZP3 kontext délky N = 4, 16b hodnota hašovací funkce H = ((C >> 15)^C) & 0xFFFF velikost tabulky = 2 16, položka tabulky = (ukazatel P, kontext C) while N>1 and (H(C) = nil or kontext H(C) C) do H(C) := nil; N-- if N=1 then output(literál) 30
31 LZP4 kontext C délky N = 5 I := kontext délky 4 H = ((I>>15)^I) & 0xFFFF bcde nopq a P H 31
32 Nevýhody LZ77 Omezený výhled prohlížecího okna větší délka =>» lepší komprese» náročnější prohledávání Omezená délka aktuálního okna => omezení délky shody 32
Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky
Komprese dat Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky Slovníkové metody Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen 2016 1 / 23 Slovníkové
VíceKomprese dat (Komprimace dat)
Komprese dat (Komprimace dat) Př.: zakódovat slovo ARARAUNA K K 2 četnost absolutní relativní A 4,5 N,25 R 2,25 U,25 kód K : kód K 2 :... 6 bitů... 4 bitů prefixový kód: žádné kódové slovo není prefixem
VíceKomprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky
Komprese dat Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky Statistické metody Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen 2016 1 / 23 Tunstallův
VíceKomprese a dotazování nad XML dokumenty
Komprese a dotazování nad XML dokumenty Prezentace diplomové práce Lukáš Skřivánek České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů květen 2007 Vedoucí práce: Ing. Miroslav
VíceKompresní techniky. David Bařina. 15. února David Bařina Kompresní techniky 15. února / 37
Kompresní techniky David Bařina 15. února 2013 David Bařina Kompresní techniky 15. února 2013 1 / 37 Obsah 1 Pojmy 2 Jednoduché techniky 3 Entropická kódování 4 Slovníkové metody 5 Závěr David Bařina Kompresní
VíceInformační systémy ve zdravotnictví
Informační systémy ve zdravotnictví ZS 2008/2009 Zoltán Szabó Tel.: (+420) 312 608 207 E-mail: szabo@fbmi.cvut.cz č.dv.: 504, 5.p Dnešní přednáška Kódování, komprese 2 1 Komprese dat Cíl komprese: redukovat
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íceTGH07 - Chytré stromové datové struktury
TGH07 - Chytré stromové datové struktury Jan Březina Technical University of Liberec 1. dubna 2014 Prioritní fronta Datová struktura s operacemi: Odeber Minum (AccessMin, DeleteMin) - vrat prvek s minimálním
VíceVyhledávání v textu. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava
Vyhledávání v textu doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 9. března 209 Jiří Dvorský (VŠB TUO) Vyhledávání v textu 402
VíceGrafové algoritmy. Programovací techniky
Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být
VícePokročilá algoritmizace amortizovaná složitost, Fibonacciho halda, počítačová aritmetika
amortizovaná složitost, Fibonacciho halda, počítačová aritmetika Jiří Vyskočil, Marko Genyg-Berezovskyj 2009 Amortizovaná složitost Asymptotická složitost často dostatečně nevypovídá o složitosti algoritmů,
VíceZáklady algoritmizace. Pattern matching
Základy algoritmizace Pattern matching 1 Pattern matching Úloha nalézt v nějakém textu výskyty zadaných textových vzorků patří v počítačové praxi k nejfrekventovanějším. Algoritmy, které ji řeší se používají
VíceMetodický koncept k efektivní podpoře klíčových odborných kompetencí s využitím cizího jazyka ATCZ62 - CLIL jako výuková strategie na vysoké škole
Pattern matching Metodický koncept k efektivní podpoře klíčových odborných kompetencí s využitím cizího jazyka ATCZ62 - CI jako výuková strategie na vysoké škole Pattern matching porovnávání vzorů Hledání
VíceZÁPADOČESKÁ UNIVERZITA V PLZNI
ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA PEDAGOGICKÁ KATEDRA VÝPOČETNÍ A DIDAKTICKÉ TECHNIKY KOMPONENTY PRO VÝUKOVÝ ELEKTRONICKÝ MATERIÁL - KOMPRESE V OBLASTI POČÍTAČŮ BAKALÁŘSKÁ PRÁCE Lukáš Smutný Přírodovědná
VíceLZ77 KNIHOVNA PRO KOMPRESI A DEKOMPRESI DAT POMOCÍ ALGORITMU LZ77. Příručka uživatele a programátora
KNIHOVNA PRO KOMPRESI A DEKOMPRESI DAT POMOCÍ ALGORITMU Příručka uživatele a programátora SofCon spol. s r.o. Střešovická 49 162 00 Praha 6 tel/fax: +420 220 180 454 E-mail: sofcon@sofcon.cz www: http://www.sofcon.cz
VíceGrafové algoritmy. Programovací techniky
Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být
VíceADT prioritní fronta. Haldy. Další operace nad haldou. Binární halda. Binomické stromy. Časová složitost jednotlivých operací.
ADT prioritní fronta Haldy množina M operace Přidej(M,x) přidá prvek x do množiny M Odeber(M) odeber z množiny M prvek, který je na řadě Zásobník (LIFO), Fronta (FIFO) Prioritní fronta: Přidej(M,x) přidá
VíceReprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz
Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz (2 + 5) * (13-4) * + - 2 5 13 4 - listy stromu obsahují operandy (čísla) - vnitřní uzly obsahují operátory (znaménka)
Více1 2 3 4 5 6 součet cvičení celkem. známka. Úloha č.: max. bodů: skut. bodů:
Úloha č.: max. bodů: skut. bodů: 1 2 3 4 5 6 součet cvičení celkem 20 12 20 20 14 14 100 známka UPOZORNĚNÍ : a) Písemná zkouška obsahuje 6 úloh, jejichž řešení musí být vepsáno do připraveného formuláře.
VíceSuffixové stromy. Osnova:
Suffixové stromy http://jakub.kotrla.net/suffixtrees/ Osnova: Motivační příklad Přehled možných řešení Definice suffixového stromu Řešení pomocí suffixových stromů Konstrukce suffixového stromu Další použití,
VíceSTRUKTURA RASTROVÝCH DAT
STRUKTURA RASTROVÝCH DAT dva typy rastrové vrstvy v GIS 1) Digitální obraz TV, počítač, mobil - obrazovka obraz z bodů mapa - mřížka s barevnými plochami 2) Rastrová data data pro analýzu a) binární -
VíceKódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP
Kódy pro odstranění redundance, pro zabezpečení proti chybám Demonstrační cvičení 5 INP Princip kódování, pojmy Tady potřebujeme informaci zabezpečit, utajit apod. zpráva 000 111 000 0 1 0... kodér dekodér
VíceKomprese videa Praha 2010 Účel komprese Snížení zátěže přenosového média Zmenšení objemu dat pro uložení Metody komprese obrazu Redundance Irelevance Redundantní složka část informace, po jejíž odstranění
VíceStručně o XML (výhody, nevýhody) Proč komprimovat XML? Metody komprese XML XMill. Optimalizace komprese XML. Závěr
Pavel Hruška Stručně o XML (výhody, nevýhody) Proč komprimovat XML? Metody komprese XML XMill Představení, princip, výsledky Analýza XML (možná úskalí) Optimalizace komprese XML Přeskládání kontejnerů
VíceUNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky
UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Bezztrátová komprimace dat Josef Haken Bakalářská práce 2008 SOUHRN Práce se zabývá bezztrátovou komprimací dat. Popisuje základní principy
VíceKomprese dat Obsah. Komprese videa. Radim Farana. Podklady pro výuku. Komprese videa a zvuku. Komprese MPEG. Komprese MP3.
Komprese dat Radim Farana Podklady pro výuku Obsah Komprese videa a zvuku. Komprese MPEG. Komprese MP3. Komprese videa Velký objem přenášených dat Typický televizní signál - běžná evropská norma pracuje
VíceTGH07 - Chytré stromové datové struktury
TGH07 - Chytré stromové datové struktury Jan Březina Technical University of Liberec 5. dubna 2017 Prioritní fronta Datová struktura s operacemi: Odeber Minum (AccessMin, DeleteMin) - vrat prvek s minimálním
VíceZobrazování barev. 1995-2015 Josef Pelikán CGG MFF UK Praha. pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/
Zobrazování barev 1995-2015 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ ColorRep 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 18 Barevné schopnosti HW True-color
VíceDIPLOMOVÁ PRÁCE. Petr Uzel Entropické kodéry
Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE Petr Uzel Entropické kodéry Katedra softwarového inženýrství Vedoucí diplomové práce: Mgr. Jan Lánský, Ph.D. Studijní program: Informatika,
VíceInterpret jazyka IFJ2011
Dokumentace projektu Interpret jazyka IFJ2011 Tým číslo 093, varianta b/3/i: 20 % bodů: Cupák Michal (xcupak04) vedoucí týmu 20 % bodů: Číž Miloslav (xcizmi00) 20 % bodů: Černá Tereza (xcerna01) 20 % bodů:
VícePoužití dalších heuristik
Použití dalších heuristik zkracování cesty při FIND-SET UNION podle hodností Datové struktury... p[x] - předchůdce uzlu x MAKE-SET(x) p[x] := x hod[x] := 0 hod[x] - hodnost (aprox. výšky) UNION(x,y) LINK(FIND-SET(x),
VíceSpojová implementace lineárních datových struktur
Spojová implementace lineárních datových struktur doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB
VíceReprezentace dat. INP 2008 FIT VUT v Brně
Reprezentace dat INP 2008 FIT VUT v Brně Pojem kód a typy kódů Definice: Kód je vzájemně jednoznačné přiřazení mezi symboly dvou množin. (Tedy tabulka.) Přehled kódů pro reprezentaci dat: Data můžeme rozdělit
VíceNeuronální kódování a přenos informace
Neuronální kódování a přenos informace Lubomír Košťál Fyziologický ústav AV ČR Matematické modely a aplikace, Podlesí 2013 Problém neuronálního kódování Problém neuronálního kódování čas [s] t i 1 t i
VíceAlgoritmy komprese dat
Algoritmy komprese dat Úvod do teorie informace Claude Shannon (1916 2001) 5.11.2014 NSWI072-7 Teorie informace Informace Co je to informace? Můžeme informaci měřit? Existují teoretické meze pro délku
VíceUniverzita Karlova v Praze. Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE. Bc. Lukáš Unger. Vylepšení víceproudé komprese
Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE Bc. Lukáš Unger Vylepšení víceproudé komprese Katedra softwarového inženýrství Vedoucí diplomové práce: RNDr. Michal Žemlička, Ph.D.
VíceJan Ondruš LZPXj - vylepšení LZP algoritmu
Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE Jan Ondruš LZPXj - vylepšení LZP algoritmu Katedra softwarového inženýrství Vedoucí bakalářské práce: Mgr. Jan Lánský Studijní
VíceArchivační a komprimační programy
Archivační a komprimační programy Komprese Nejběžnější archivační a komprimační programy Stručný popis algoritmů bezztrátové komprese I když paměťová média mají stále větší kapacitu a neustále klesá cena
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íceAlgoritmy na ohodnoceném grafu
Algoritmy na ohodnoceném grafu Dvě základní optimalizační úlohy: Jak najít nejkratší cestu mezi dvěma vrcholy? Dijkstrův algoritmus s t Jak najít minimální kostru grafu? Jarníkův a Kruskalův algoritmus
VíceKomprese dat (KOD) Semestrální projekt Implementace RLE, BWT a LZW
Komprese dat (KOD) Semestrální projekt Implementace RLE, BWT a LZW Autor: Bc. Petr Kašpar Login: KAS265 Datum: 8. května 2009 Úvod Úkolem tohoto projektu bylo implementovat nějaký komprimační algoritmus.
VíceVyhodnocování dotazů slajdy k přednášce NDBI001. Jaroslav Pokorný MFF UK, Praha
Vyhodnocování dotazů slajdy k přednášce NDBI001 Jaroslav Pokorný MFF UK, Praha pokorny@ksi.mff.cuni.cz Časová a prostorová složitost Jako dlouho trvá dotaz? CPU (cena je malá; snižuje se; těžko odhadnutelná)
VíceNPRG030 Programování I, 2018/19 1 / :03:07
NPRG030 Programování I, 2018/19 1 / 20 3. 12. 2018 09:03:07 Vnitřní třídění Zadání: Uspořádejte pole délky N podle hodnot prvků Měřítko efektivity: * počet porovnání * počet přesunů NPRG030 Programování
VíceObsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15
Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové
Více2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.
Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus
VíceAplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu
1 Podklady předmětu pro akademický rok 2006/2007 Radim Farana Obsah 2 Obsah předmětu, Požadavky kreditového systému, Datové typy jednoduché, složené, Programové struktury, Předávání dat. Obsah předmětu
VíceTechnická kybernetika. Obsah. Principy zobrazení, sběru a uchování dat. Měřicí řetězec. Principy zobrazení, sběru a uchování dat
Akademický rok 2016/2017 Připravil: Radim Farana Technická kybernetika Principy zobrazení, sběru a uchování dat 2 Obsah Principy zobrazení, sběru a uchování dat strana 3 Snímač Měřicí řetězec Měřicí obvod
VíceAlgoritmy výpočetní geometrie
Algoritmy výpočetní geometrie 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ícePaměťový podsystém počítače
Paměťový podsystém počítače typy pamětových systémů počítače virtuální paměť stránkování segmentace rychlá vyrovnávací paměť 30.1.2013 O. Novák: CIE6 1 Organizace paměťového systému počítače Paměťová hierarchie...
VíceDatové typy a struktury
atové typy a struktury Jednoduché datové typy oolean = logická hodnota (true / false) K uložení stačí 1 bit často celé slovo (1 byte) haracter = znak Pro 8-bitový SII kód stačí 1 byte (256 možností) Pro
VíceDIPLOMOVÁ PRÁCE. Efektivní ukládání html stránek
Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE Václav Matouš Efektivní ukládání html stránek Katedra softwarového inženýrství Vedoucí diplomové práce: RNDr. Michal Žemlička, PhD.
VíceAlgoritmy II. Otázky k průběžnému testu znalostí
Algoritmy II Otázky k průběžnému testu znalostí Revize ze dne 19. února 2018 2 Lineární datové struktury 1 1. Vysvětlete co znamená, že zásobník představuje paměť typu LIFO. 2. Co je to vrchol zásobníku?
Více1. Databázové systémy (MP leden 2010)
1. Databázové systémy (MP leden 2010) Fyzickáimplementace zadáníaněkterářešení 1 1.Zkolikaajakýchčástíseskládáčasprovstupněvýstupníoperaci? Ze tří částí: Seektime ječas,nežsehlavadiskudostanenadsprávnou
Více- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku
Znaky - standardní typ char var Z, W: char; - znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku - v TP (často i jinde) se používá kódová
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íceTECHNICKÁ UNIVERZITA V LIBERCI
TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky a mezioborových inženýrských studií Komprese měřených dat v 0.1 Liberec 2007 Viktor Bubla Obsah 1 Proč komprimace? 2 2 Filosofie základních komprimačních
VíceKódy a kódování dat. Binární (dvojkové) kódy. Kód Aikenův
Kódy a kódování dat Kódování je proces, při kterém se každému znaku nebo postupnosti znaků daného souboru znaků jednoznačně přiřadí znak nebo postupnost znaků z jiného souboru znaků. Kódování je tedy transformace
Vícebfs, dfs, fronta, zásobník, prioritní fronta, halda
bfs, dfs, fronta, zásobník, prioritní fronta, halda Petr Ryšavý 19. září 2017 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší
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ícePorovnání komprimačních metod grafických formátů z hlediska míry kvality obrazu
Porovnání komprimačních metod grafických formátů z hlediska míry kvality obrazu Comparison of compression methods for graphic formats in term of picture quality Michal Sládek Bakalářská práce 2010 UTB
VíceKompresní algoritmy grafiky. Jan Janoušek F11125
Kompresní algoritmy grafiky Jan Janoušek F11125 K čemu je komprese dobrá? Pokud je třeba skladovat datově náročné soubory. Např. pro záznam obrazu, hudby a hlavně videa je třeba skladovat překvapivě mnoho
VíceIII/ 2 Inovace a zkvalitnění výuky prostřednictvím ICT
Metodický list k didaktickému materiálu Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět
VíceProgramovací jazyk Pascal
Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce
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íceDnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT
Dnešní téma Oblasti standardizace v ICT Případové studie standardizace v ICT: 1) Znakové sady 2) Jazyk 1. technická infrastruktura transfer a komunikace informací, přístup k informacím, sdílení zdrojů
VíceHranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek
Hranová konzistence Arc consistency AC Nejprve se zabýváme binárními CSP podmínka odpovídá hraně v grafu podmínek Hrana (V i, V j ) je hranově konzistentní, právě když pro každou hodnotu x z aktuální domény
VíceVYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÝCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS VÝUKOVÁ APLIKACE
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ícePA152. Implementace databázových systémů
PA152 Implementace databázových systémů RAID level 1 zrcadlení disku výpočet MTTF 2 stejné disky, MTTF 3 roky výměna vadného 3,5 dne výpadek oba disky během 3,5 dne p(výpadku disku za rok) = 1/6 p(výp.
VíceDatové 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íce2 Datové struktury. Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky
Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky 25 Pole Datová struktura kolekce elementů (hodnot či proměnných), identifikovaných jedním nebo více indexy, ze kterých
VíceIntervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.
Intervalové stromy Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme průběžně provádět tyto dvě operace: 1. Změna jednoho čísla v posloupnosti. 2. Zjištění součtu čísel
VíceMatice sousednosti NG
Matice sousednosti NG V = [ v ij ] celočíselná čtvercová matice řádu U v ij = ρ -1 ( [u i, u j ] )... tedy počet hran mezi u i a u j?jaké vlastnosti má matice sousednosti?? Smyčky, rovnoběžné hrany? V
Vícebfs, dfs, fronta, zásobník, prioritní fronta, halda
bfs, dfs, fronta, zásobník, prioritní fronta, halda Petr Ryšavý 20. září 2016 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší
VíceVyhledá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í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íceVýhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.
Kapitola Reprezentace grafu V kapitole?? jsme se dozvěděli, co to jsou grafy a k čemu jsou dobré. rzo budeme chtít napsat nějaký program, který s grafy pracuje. le jak si takový graf uložit do počítače?
VíceInformatika Datové formáty
Informatika Datové formáty Radim Farana Podklady předmětu Informatika pro akademický rok 2007/2008 Obsah Datové formáty (datové typy). Textové formáty, vlastnosti zdroje zpráv. Číselné formáty, číselné
VícePřednáška. Systémy souborů. FAT, NTFS, UFS, ZFS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška Systémy souborů. FAT, NTFS, UFS, ZFS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem
VíceVyhledávání řetězců. a b a c a a b. a b a c a b. a b a c a b
Vyhledávání řetězců (Pattern Matching) T: P: a b a c a a b a b a c a b 4 1 3 2 a b a c a b Přehled 1. Co je vyhledávání řetězců 2. Algoritmus hrubé síly (Brute force) 3. Algoritmus Boyer Moore 4. Knuth
VíceNeztrátové komprimační algoritmy v počítačové grafice
Neztrátové komprimační algoritmy v počítačové grafice Lossless Compression Algorithms in Computer Graphics Bc. Tomáš Vogeltanz Diplomová práce 2012 UTB ve Zlíně, Fakulta aplikované informatiky, 2012
VíceFaculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
1 / 23 Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 2 / 23 biologové často potřebují najít často se opakující sekvence DNA tyto sekvence bývají relativně krátké,
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í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ícePohled do nitra mikroprocesoru Josef Horálek
Pohled do nitra mikroprocesoru Josef Horálek Z čeho vycházíme = Vycházíme z Von Neumannovy architektury = Celý počítač se tak skládá z pěti koncepčních bloků: = Operační paměť = Programový řadič = Aritmeticko-logická
VíceBinární Vyhledávací Stromy, u kterých je. složitost operací v nejhorším. rovná O(log n)
Stromy Binární Vyhledávací Stromy, u kterých je č asová složitost operací v nejhorším případě rovná O(log n) Vlastnosti Red-Black Stromů Vlastnosti Red-Black stromů Každý uzel stromu je obarven červenou
VíceJak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické
Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean
VíceRed Black strom (Red Black Tree) Úvod do programování. Rotace. Red Black strom. Rotace. Rotace
Ú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 Red Black strom je binární strom s jedním dvouhodnotovým příznakem
VíceTeorie informace: řešené příklady 2014 Tomáš Kroupa
Teorie informace: řešené příklady 04 Tomáš Kroupa Kolik otázek je třeba v průměru položit, abychom se dozvěděli datum narození člověka (den v roce), pokud odpovědi jsou pouze ano/ne a tázaný odpovídá pravdivě?
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íceTest 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ícePokročilé haldy. prof. Ing. Pavel Tvrdík CSc. Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010
Pokročilé 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í algoritmy (I-EFA) ZS 2010/11,
VíceOptimalizace & soft omezení: algoritmy
Optimalizace & soft omezení: algoritmy Soft propagace Klasická propagace: eliminace nekonzistentních hodnot z domén proměnných Soft propagace: propagace preferencí (cen) nad k-ticemi hodnot proměnných
Více1. Formáty grafických dat
1. Formáty grafických dat Studijní cíl Tento blok kurzu je věnován problematice grafických formátů, kompresi grafických dat a odlišností u rastrových a vektorových souborů. Doba nutná k nastudování 2 hodiny
VíceCílem kapitoly je seznámit studenta se seznamem a stromem. Jejich konstrukci, užití a základní vlastnosti.
Seznamy a stromy Cílem kapitoly je seznámit studenta se seznamem a stromem. Jejich konstrukci, užití a základní vlastnosti. Klíčové pojmy: Seznam, spojový seznam, lineární seznam, strom, list, uzel. Úvod
VíceStruktura a architektura počítačů (BI-SAP) 11
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 11 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii
VícePOPIS STANDARDU CEN TC278/WG4. 1 z 5. Oblast: TTI. Zkrácený název: Zprávy přes CN 4. Norma číslo:
POPIS STANDARDU CEN TC278/WG4 Oblast: TTI Zkrácený název: Zprávy přes CN 4 Norma číslo: 14821-4 Norma název (en): Traffic and Traveller Information (TTI) TTI messages via cellular networks Part 4: Service-independent
VíceZadání druhého zápočtového projektu Základy algoritmizace, 2005
Zadání druhého zápočtového projektu Základy algoritmizace, 2005 Jiří Dvorský 2 května 2006 Obecné pokyny Celkem je k dispozici 8 zadání příkladů Každý student obdrží jedno zadání Vzhledem k tomu, že odpadly
VíceKatedra počítačů FEL
TIS 311 1. Navrhněte KMP vyhledávací stroj pro vzorek v = kakadu, 2. Pro stejný vzorek navrhněte deterministický konečný automat. 3. Simulujte činnost obou strojů na textu T = dukakakaduka, porovnejte
Víceaneb jak se to tam všechno vejde?
768 576 KOMPRIMACE aneb jak se to tam všechno vejde? Položme si hned na začátku zdánlivě nepodstatnou otázku: Kolik místa zabere dvouhodinový film na CD nebo DVD? Uvažujme následující příklad: rozlišení
Více