přirozený algoritmus seřadí prvky 1,3,2,8,9,7 a prvky 4,5,6 nechává Metody řazení se dělí:
|
|
- Pavlína Slavíková
- před 9 lety
- Počet zobrazení:
Transkript
1 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. Operační a paměťová složitost algoritmů řazení. (A7B36ALG, A7B36DSA) Metody řazení se dělí: 1. vnitřní řazení - metody vycházejí z předpokladu, že všechna data se vejdou do paměti. V paměti jsou data uložena ve formě datového pole. Rychlost algoritmu je tak závislá na počtu porovnání a záměn. 2. Vnější řazení - používáme tehdy, když objem dat je tak veliký, že nestačí vnitřní paměť a musíme tedy využít i paměť vnější. Rychlost algoritmu je pak ovlivněna počtem přístupů k vnější paměti. Stabilní řazení - je stabilní tehdy, jestliže po seřazení zachovává vzájemné pořadí prvků se stejným klíčem. Stabilní algoritmus je takový, který po seřazení zachová pořadí stejných prvků. Například pokud máme seznam studentů seřazený abecedně a seřadíme ho stabilním algoritmem podle čísel kruhů, zůstanou lidé ze stejného kruhu abecedně seřazení. Nestabilní algoritmus by mohl studenty ve stejném kruhu zpřeházet. Nestabilní algoritmy bývají rychlejší! Příklad: Máme množinu prvků M. Pro každé dva prvky R a S o stejném klíči z této množiny platí, že pokud byl prvek R v neseřazené množině před prvkem S, pak je i v seřazené posloupnosti prvek R před prvkem S. Pokud tato vlastnost platí pro všechny možné množiny M, pak je algoritmus stabilní. Přirozené řazení Algoritmus se chová přirozeně, je-li doba seřazení již částečně uspořádané posloupnosti menší, než doba seřazení posloupnosti neuspořádané. 1, 2, 3, 4, 5, 6, 7, 8, 9 uspořádaná posloupnost 1, 3, 6, 2, 7, 4, 9, 5, 8 neuspořádaná posloupnost 1, 3, 2, 4, 5, 6, 8, 9, 7 částečné uspořádaná posloupnost přirozený algoritmus seřadí prvky 1,3,2,8,9,7 a prvky 4,5,6 nechává
2 Algoritmy řazení s kvadratickou složitost Selection sort (zkráceně Selectsort) je jednoduchý algoritmus uspořádávání s časovou složitostí O(N 2 ). Pro svou jednoduchou implementaci bývá často používán pro uspořádávání malých množství dat. 1. Najdeme prvek s nejmenší hodnotou v posloupnosti dat 2. Zaměníme ho s prvkem na první pozici 3. Na první pozici se nyní nachází správný prvek, zbytek posloupnosti se uspořádá opakováním těchto kroků pro zbylých n-1 prvků, dokud je n > 1 Bubble sort - Řazení záměnou Algoritmus opakovaně prochází seznam, přičemž porovnává každé dva sousedící prvky, a pokud nejsou ve správném pořadí, prohodí je. Porovnávání prvků běží do té doby, dokud není seznam seřazený. Pro praktické účely je neefektivní, využívá se hlavně pro výukové účely či v nenáročných aplikacích. Algoritmus je univerzální (pracuje na základě porovnávání dvojic prvků), pracuje lokálně (nevyžaduje pomocnou paměť), je stabilní (prvkům se stejným klíčem nemění vzájemnou polohu), patří mezi přirozené řadicí algoritmy (částečně seřazený seznam zpracuje rychleji než neseřazený). Název vyjadřuje průběh zpracování, při kterém prvky s vyšší hodnotou probublávají na konec seznamu.
3 Insertion sort je jednoduchý řadicí algoritmus založený na porovnávání. Algoritmus Insert Sort pracuje tak, že prochází prvky postupně a každý další nesetříděný prvek zařadí na správné místo do již setříděné posloupnosti. Je to jeden z nejrychlejších algoritmů s kvadratickou časovou složitostí. jednoduchá implementace efektivní na malých množinách efektivní na částečně seřazených množinách (běží v čase O(N + d), kde d je počet transpozic prvků množiny) efektivnější než většina ostatních O(N2) algoritmů (selection sort, bubble sort), průměrný čas je N2/4 a v nejlepším případě je dokonce lineární Algoritmy řazení s logaritmickou složitostí. Řadící algoritmy, které mají tzv. logaritmickou složitost, jsou již velmi dobře použitelné v praxi při řazení velkého množství dat Algoritmy Quick Sort a Merge Sort využívá při řešení metodu rozděl a panuj. Tato metoda spočívá v tom, že řešený problém rozdělíme na dva nebo i více menších problémů, které jsou podobné původnímu problému. Dílčí problémy pak řešíme nezávisle na sobě a z jejich výsledků složíme výsledek celkový. Dělení původního problému na dílčí problémy musí někdy skončit dělení končí ve chvíli, kdy k vyřešení zbývají malé snadno řešitelné problémy, které již zpracujeme přímo. Tato metoda obvykle vede k použití rekurze.
4 Quick sort - řazení opakovaným tříděním je nejrychlejší univerzální řadící algoritmus. Nevýhodou je, že se jedná o rekurzívní algoritmus, a proto má veliké nároky na paměť. Pro větší objemy dat je třeba s touto skutečností počítat. Tento algoritmus je typickým představitelem algoritmu založeném na principu rozděl a panuj. Základní myšlenka: Rozdělíme pole na dvě části hodnotu dělícího prvku pole nazveme X (pivot) a prvky pole přerovnáme v poli tak, aby v levé části pole byly pouze prvky menší nebo rovné X a v pravé části prvky větší nebo rovné X. Po tomto rozdělení platí, že prvky ležící v levé části pole tam zůstanou i po úplném setřídění celého pole. Totéž platí i pravou část pole. Pak stačí samostatně setřídit levý a pravý úsek pole, jedná se dvě dílčí menší úlohy naprosto stejného typu, jako byla úloha původní - řešíme je naprosto stejným způsobem. Pole postupně dělíme tak dlouho, dokud nezískáme úseky délky 1- ty jsou samy o sobě již seřazené a nemusíme s nimi nic dělat Volba hodnoty X (pivota): Na vhodné volbě X závisí rychlost algoritmu. Pokud bychom za X zvolili pokaždé nejmenší (největší) prvek zpracovávaného úseku, rozdělí se pole v prvním kroku na úseky délky 1 a N-1, ve druhém kroku by se větší z nich opět dělil na úseky délek 1 a N-2 atd. Časová složitost by v tomto případě byla O(N 2 ). Nejlepší by bylo zvolit za číslo X pokaždé tzv. medián právě zpracovávaného úseku. Medián je číslo s prostřední hodnotou ze všech čísel úseku, např. medián z dvaceti čísel je desáté největší číslo z nich. Přesné vyhledávání mediánu je dosti pracné a v Quick Sortu se nepoužívá! V Quick Sortu je X stanoveno jako prostřední prvek úseku: (L + R) div 2 Základní kroky algoritmu: volba pivotu přesun prvků menších než pivot před něj přesun prvků větších nebo rovných pivotu za něj spuštění algoritmu na část pole obsahující menší prvky spuštění algoritmu na část pole obsahující větší prvky (prvky stejné jako pivot je možné přeskočit)
5 Merge sort je řadící algoritmus, jehož průměrná i nejhorší možná časová složitost je (O(N log N)). Algoritmus je velmi dobrým příkladem programátorské metody rozděl a panuj. Základní princip: Rozdělíme řazené pole na dvě poloviny Seřadíme každou polovinu zvlášť Obě seřazené poloviny sloučíme do jednoho seřazeného pole Algoritmus slučování dvou seřazených posloupností S1 a S2 je jednoduchý: Oba slučované úseky se pomocí 2 pracovních indexů procházejí a prvky se porovnávají. Vždy menší z nich se přesune do cílové posloupnosti. Nakonec zkopírujeme do cílové posloupnosti zbytek S1 nebo S2. Při slučování se vytvářejí sloučením dvou prvků nejprve uspořádané dvojice, sloučením dvojic uspořádané čtveřice, atd. Velkou nevýhodou oproti algoritmům stejné rychlostní třídy (např. heapsort) je, že Mergesort pro svou práci potřebuje navíc pole o velikosti N. Řazení sekvenčních souborů Používá se Merge-sort. U ostatních algoritmů se předpokládal přímý přístup => přístup k poli. Disperze souboru (Soubor A rozdělen na soubory B a C). Potřebujeme tedy 3 soubory označováno také jako 3-souborové slučování.
6 Heapsort - neboli řazení haldou (Řazení výběrem z binárního stromu) je jeden z nejlepších obecných algoritmů řazení založených na porovnávání prvků. Byť je v průměru o něco pomalejší než quicksort, je jeho zaručená časová náročnost O(N log N) a dokáže řadit data na původním místě (má pouze konstantní nároky na paměť). Heapsort není stabilní řadící algoritmus. Binární strom - jedná se o datovou strukturu, pro kterou platí tato pravidla: - binární strom se skládá z uzlů, které obsahují nějakou hodnotu a mohou mít nanejvýše dva následníky rozlišené jako levý a pravý - uzel, který není následníkem žádného uzlu, se nazývá kořen stromu - uzel, který nemá následníky, se nazývá list - uzly tvoří hladiny Halda je binární strom, ve kterém musí být v každém okamžiku splněny následující podmínky: pro každý uzel platí, že hodnota v něm uložená je menší než hodnota uložená v jeho libovolném následníkovi v každé hladině od první až do předposlední je maximální možný počet uzlů, tzn. v k-té hladině je 2k-1 uzlů. v poslední hladině jsou všechny uzly umístěny co možná nejvíce "vlevo", tzn. procházíme-li uzly předposlední hladiny zleva doprava, nejprve má několik z nich (popř. žádný) dva následníky, pak může být (ale nemusí) jeden uzel s jedním následníkem a zbývající uzly předposlední hladiny následníky nemají. Pokud binární strom splňuje tyto tři uvedené vlastnosti, říkáme že je to regulérní binární strom. Pokud uděláme nějakou změnu v stromě, musíme následně zajistit regulérnost binárního stromu.
7 Algoritmy řazení s lineární složitostí O(N) RADIX SORT - Přihrádkové řazení Tento algoritmus není univerzální, jeho omezení spočívá v tom, že: Je použitelný pro řazení pouze celých čísel (resp. záznamů, kde třídícím klíčem je celé číslo) Hodnoty, které budeme řadit musí být z předem známého, ne příliš velkého rozmezí. K práci použijeme pole indexované přímo tříděnými čísly. Maximální přípustný rozsah tříděných hodnot proto závisí na tom, jak velké pole si můžeme dovolit vymezit v paměti počítače pro tento účel. Základní princip: Předpoklad: D a H jsou konstanty takové, že všechna tříděná čísla jsou z intervalu <D,H>. Připravíme si H-D+1 "přihrádek". Postupně budeme zpracovávat tříděné záznamy a každý z nich zařadíme vždy do té přihrádky, jejíž označení se shoduje s klíčem záznamu. Záznamy zařazené do téže přihrádky mají stejný klíč a na jejich vzájemné pořadí v principu nezáleží. Jestliže však budeme přihrádky realizovat jako seznamy a budeme v nich zachovávat pořadí jednotlivých záznamů, docílíme toho, že algoritmus bude tzv. stabilní. Po rozmístění všech záznamů do přihrádek pak už jenom stačí obsah přihrádek vypsat jednu po druhé.
8 Víceprůchodové přihrádkové třídění (řazení podle řádů). Přihrádkové řazení lze použít i v situaci, jestliže je rozsah hodnot klíčů příliš velký. Je-li například : klíčem až šesticiferné číslo, nebudeme moci deklarovat pole C o milionu prvcích. Použijeme pak tzv. víceprůchodové přihrádkové třídění (řazení podle řádů). Základní princip: Nejprve utřídíme posloupnost čísel podle nejnižšího řádu, potom celou posloupnost najednou utřídíme podle vyšších řádů atd. až k řádům nejvyšším. Na závěr posledního průchodu budou hodnoty seřazeny. Po skončení třetího průchodu bychom pak vybrali obsah jednotlivých přihrádek (počínaje přihrádkou 0) a dostali bychom seřazenou posloupnost čísel. Počet průchodů závisí na řádu řazených hodnot. V našem příkladě jsme měli nejvíce čísla třímístná, proto řazení končí po třetím průchodu
9 Vnější řazení Algoritmy vnějšího řazení slouží k uspořádání rozsáhlých souborů dat. Řeší situaci, kdy se všechna data nevejdou najednou do operační paměti počítače. Data jsou pak umístěna na vnějších médiích. Při takovém uložení dat je velmi nevhodné řadit data některou z metod vnitřního řazení. Podstatou vnějšího řazení je přesouvání řazených údajů mezi sekvenčními soubory dat uloženými na vnějších paměťových mediích. Při tomto přesouvání se data řadí po částech, postupně se z nich vytvářejí delší a delší seřazené úseky, až budou nakonec všechna data seřazená v jednom souboru. Základní operací, kterou provádíme se seřazenými úseky dat, je tzv. slučování. Jde v principu o stejný postup jako u vnitřního třídění slučováním. Rozdíl spočívá v tom, že slučované úseky nyní nejsou uloženy v poli, nýbrž jsou v souborech. Existuje řada různých algoritmů vnějšího řazení. Vůbec nejjednodušší postup se nazývá přímé slučování. Přímé slučování Předpokládáme, že na začátku práce jsou všechna tříděná data uložena v jednom souboru. Neznáme jejich počet a nevíme ani nic o jejich počátečním uspořádání. Ze všech řazených čísel vytvoříme nejdříve uspořádané dvojice, z nich pak slučováním vzniknou čtveřice, z nich pak osmice atd., až budou všechna čísla seřazena. Každý krok výpočtu se skládá ze dvou fází. V první, tzv. rozdělovací fázi rozdělíme setříděné úseky vstupního souboru do dvou pomocných souborů P1 a P2. Do každého z nich překopírujeme polovinu úseků ze vstupního souboru. Protože předem nevíme, kolik úseků vstupní soubor obsahuje, provádíme rozdělování tak, že čteme vstupní soubor a jednotlivé uspořádané úseky zapisujeme střídavě do P1 a P2. Je-li počet všech úseků lichý, bude P2 obsahovat o jeden úsek méně než P1. V druhé fázi, tzv. slučovací fázi pak ze souborů P1 a P2 vytváříme výsledný výstupní soubor. Nejprve sloučíme první úseky ze souborů P1 a P2 do jednoho uspořádaného úseku dvojnásobné délky a ten zapíšeme do výstupního souboru, potom totéž uděláme s druhými úseky souborů P1 a P2 atd. až do konce souborů. Pokud obsahuje P1 o jeden úsek více než P2, překopírujeme tento úsek do výstupního souboru. Časová složitost: U vnějšího řazení jsou z hlediska časových nároků nejvýznamnější vstupně výstupní operace, tj. operace čtení dat ze souboru a zápis dat do souboru. Doba porovnání dvou čísel je oproti nim zanedbatelná.
10
11 Stručný popis postupu řazení vnější metodou Merge Sort: V 1. kroku se provede přepis do pomocných souborů tak, že jedno číslo ze vstupního souboru se uloží do P1, druhé do P2, třetí do P1 a tak až do konce souboru C Pak se z pomocných souborů vytvoří soubor C tak, že se vezme první číslo v P1 a první číslo v P2, porovnají se a nejdříve se zapíše číslo menší, pak číslo větší. Totéž se udělá s dalšími čísly. V soboru C tak vzniknou uspořádané dvojice. Ve 2. kroku se do pomocných souborů P1 a P2 přepisují ze vstupního souboru C vždy dvojice čísel. Pak se z pomocných souborů vytvoří nový soubor C tak, že se vezmou první dvě čísla z P1 a první dvě čísla z P2, porovnávají se a do C se zapíší tak, aby byla ve správném pořadí. Pak se stejným způsobem zpracují další dvojice z P1 a P2. V souboru C tak vzniknou uspořádané čtveřice. Ve 3. kroku se do pomocných souborů P1 a P2 přepisují ze vstupního souboru C vždy čtveřice čísel. Pak se z pomocných souborů vytvoří nový soubor C tak, že se vezmou první čtyři čísla z P1 a první čtyři čísla z P2, porovnávají se a do C se zapíší tak, aby byla ve správném pořadí. Pak se stejným způsobem zpracují další čtveřice z P1 a P2. V souboru C tak vzniknou uspořádané osmice. Ve 4. kroku se do pomocných souborů P1 a P2 přepisují ze vstupního souboru C vždy osmice čísel. Pak se z pomocných souborů vytvoří nový soubor C tak, že se vezme prvních osm čísel z P1 a prvních osm čísel z P2, porovnávají se a do C se zapíší tak, aby byla ve správném pořadí. Pak se stejným způsobem zpracují další skupiny osmi čísel z P1 a P2. Soubor C v našem případě je již uspořádan
12 Podklady Wikipedie Stránky předmětu
13. Třídící algoritmy a násobení matic
13. Třídící algoritmy a násobení matic Minulou přednášku jsme probírali QuickSort, jeden z historicky prvních třídících algoritmů, které překonaly kvadratickou složitost aspoň v průměrném případě. Proč
Algoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Třídění, vyhledávání Daniela Szturcová
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
Intervalové 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
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
DobSort. Ú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),
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ě
Na 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ší
NPRG030 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í
8. Geometrie vrací úder (sepsal Pavel Klavík)
8. Geometrie vrací úder (sepsal Pavel Klavík) Když s geometrickými problémy pořádně nezametete, ony vám to vrátí! Ale když užzametat,takurčitěnepodkoberecamístosmetákupoužijtepřímku.vtéto přednášce nás
NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk
NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk Pavel Töpfer Katedra softwaru a výuky informatiky MFF UK MFF Malostranské nám., 4. patro, pracovna 404 pavel.topfer@mff.cuni.cz http://ksvi.mff.cuni.cz/~topfer
Základy řazení. Karel Richta a kol.
Základy řazení Karel Richta a kol. Přednášky byly připraveny s pomocí materiálů, které vyrobili Marko Berezovský, Petr Felkel, Josef Kolář, Michal Píše a Pavel Tvrdík Katedra počítačů Fakulta elektrotechnická
3 Algoritmy řazení. prvku a 1 je rovněž seřazená.
Specifikace problému řazení (třídění): A... neprázdná množina prvků Posl(A)... množina všech posloupností prvků z A ... prvky množiny Posl(A) q... délka posloupnosti Posl(A), přičemž Delka()
ˇ 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
Maturitní téma: Programovací jazyk JAVA
Maturitní téma: Programovací jazyk JAVA Insert Sort (třídění vkládáním) 1. Jako setříděnou část označíme první prvek pole. Jako nesetříděnou část označíme zbytek pole. 2. Vezmeme první (libovolný) prvek
Prioritní 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
Algoritmizace řazení Bubble Sort
Algoritmizace řazení Bubble Sort Cílem této kapitoly je seznámit studenta s třídícím algoritmem Bubble Sort, popíšeme zde tuto metodu a porovnáme s jinými algoritmy. Klíčové pojmy: Třídění, Bubble Sort,
Tabulka. Datová struktura, která umožňuje vkládat a později vybírat informace podle identifikačního klíče. Mohou být:
ADT Tabulka Datová struktura, která umožňuje vkládat a později vybírat informace podle identifikačního klíče. Mohou být: pevně definované (LUT Look Up Table) s proměnným počtem položek Konvence: Tabulka
Select 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
Praktická cvičení algoritmů
UČEBNÍ TEXTY OSTRAVSKÉ UNIVERZITY Přírodovědecká fakulta Praktická cvičení algoritmů Hashim Habiballa Ostravská Univerzita 2006 Praktická cvičení algoritmů KIP/XPOP1 distanční studijní opora RNDr. PaedDr.
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ý
PROGRAMOVÁNÍ. Cílem předmětu Programování je seznámit posluchače se způsoby, jak algoritmizovat základní programátorské techniky.
Cílem předmětu Programování je seznámit posluchače se způsoby, jak algoritmizovat základní programátorské techniky. V průběhu budou vysvětlena následující témata: 1. Dynamicky alokovaná paměť 2. Jednoduché
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á
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
Rekurze - tvorba a zápis algoritmů v jazyce Pascal
Rekurze - tvorba a zápis algoritmů v jazyce Pascal 1 Autor kurzu Zbyněk Hamerník 2 Vyučovací předmět (volitelný) seminář z IVT 3 Ročník maturitní ročník gymnázia 4 Téma Vysvětlení myšlenky rekurze, užití
Amortizovaná složitost. Prioritní fronty, haldy (binární, d- regulární, binomiální, Fibonacciho), operace nad nimi a jejich složitost
Amortizovaná složitost. Prioritní fronty, haldy binární, d- regulární, binomiální, Fibonacciho), operace nad nimi a jejich složitost 1. Asymptotické odhady Asymptotická složitost je deklarována na základě
Bubble sort. příklad. Shaker sort
Bubble sort pseudokód function bubblesort(array a) for i in 1 -> a.length - 1 do for j in 1 -> a.length - i - 1 do if a[j] < a[j+1] prohoď(a[j], a[j+1]); //razeni od nejvyssiho function bubblesort(int[]
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
Elegantní algoritmus pro konstrukci sufixových polí
Elegantní algoritmus pro konstrukci sufixových polí 22.10.2014 Zadání Obsah Zadání... 3 Definice... 3 Analýza problému... 4 Jednotlivé algoritmy... 4 Algoritmus SA1... 4 Algoritmus SA2... 5 Algoritmus
Algoritmizace I. Ak. rok 2015/2016 vbp 1. ze 132
Ak. rok 2015/2016 vbp 1. ze 132 Ing. Vladimír Beneš, Ph.D. vedoucí katedry Petrovický K101 katedra informatiky a kvantitativních metod E-mail: vbenes@bivs.cz Telefon: 251 114 534, 731 425 276 Konzultační
Implementace seznamů do prostředí DELPHI pomocí lineárního seznamu
Implementace seznamů do prostředí DELPHI pomocí lineárního seznamu Ukazatel a dynamické datové struktury v prostředí DELPHI Důležitým termínem a konstrukčním programovým prvkem je typ UKAZATEL. Je to vlastně
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;
Prohledávání do šířky = algoritmus vlny
Prohledávání do šířky = algoritmus vlny - souběžně zkoušet všechny možné varianty pokračování výpočtu, dokud nenajdeme řešení úlohy průchod stromem všech možných cest výpočtu do šířky, po vrstvách (v každé
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
ALGORITMY A DATOVÉ STRUKTURY
Název tématického celku: Cíl: ALGORITMY A DATOVÉ STRUKTURY Metodický list č. 1 Časová složitost algoritmů Základním cílem tohoto tematického celku je vysvětlení potřebných pojmů a definic nutných k popisu
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
Matice se v některých publikacích uvádějí v hranatých závorkách, v jiných v kulatých závorkách. My se budeme držet zápisu s kulatými závorkami.
Maticové operace Definice Skalár Představme si nějakou množinu, jejíž prvky lze sčítat a násobit. Pěkným vzorem jsou čísla, která už známe od mala. Prvky takové množiny nazýváme skaláry. Matice Matice
Algoritmy I. Třídění ALGI 2010/2011
Algoritmy I Třídění 1 ALGI 2010/2011 Třídící problém Je dána množina A = {a 1,a 2,...,a n }. Je potřebné najít permutaci π těchto n prvků, která zobrazuje danou posloupnost do neklesající posloupnosti
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í
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
Třídící algoritmy. Insert Sort. Bubble Sort. Select Sort. Shell Sort. Quick Sort. Merge Sort. Heap Sort.
Třídící algoritmy. Insert Sort. Bubble Sort. Select Sort. Shell Sort. Quick Sort. Merge Sort. Heap Sort. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká
Rekurze a rychlé třídění
Rekurze a rychlé třídění Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2017 1 / 54 Rekurze Rychlé třídění 2 / 54 Rekurze Recursion Rekurze = odkaz na sama sebe, definice za pomoci sebe
KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d
KMA/PDB Prostorové spojení Karel Janečka Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d Obsah Prostorové spojení pomocí hnízděných cyklů. Prostorové spojení pomocí R-stromů.
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
Robert Haken [MVP ASP.NET/IIS, MCT] software architect, HAVIT, Základní algoritmy v praxi
Robert Haken [MVP ASP.NET/IIS, MCT] software architect, HAVIT, s.r.o. haken@havit.cz, @RobertHaken Základní algoritmy v praxi Agenda Intro Řazení Vyhledávání Datové struktury LINQ to Objects Intro Asymptotická
Algoritmus 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í
GRAFY A GRAFOVÉ ALGORITMY
KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO GRAFY A GRAFOVÉ ALGORITMY ARNOŠT VEČERKA VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ
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ů
Pole a kolekce. v C#, Javě a C++
Pole a kolekce v C#, Javě a C++ C# Deklarace pole typ_prvku_pole[] jmeno_pole; Vytvoření pole jmeno_pole = new typ_prvku_pole[pocet_prvku_pole]; Inicializace pole double[] poled = 4.8, 8.2, 7.3, 8.0; Java
N-trophy. kvalifikace KVÍK! Soòa Dvoøáèková - Kristýna Fousková - Martin Hanžl. Gymnázium, Brno-Øeèkovice. http://kvik.wz.cz
N-trophy kvalifikace KVÍK! Gymnázium, Brno-Øeèkovice http://kvik.wz.cz KVÍK! O svíèce a plamínku Svíèky jsou vyrábìny z velkého množství rùzných látek, resp. smìsí. Zhruba mùžeme svíèky rozdìlit na parafínové,
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í
5 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í
Stromy. Jan Hnilica Počítačové modelování 14
Stromy Jan Hnilica Počítačové modelování 14 1 Základní pojmy strom = dynamická datová struktura, složená z vrcholů (uzlů, prvků) propojených hranami hrany chápeme jako orientované, tzn. vedou z uzlu A
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í
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)
Sada 1 - Základy programování
S třední škola stavební Jihlava Sada 1 - Základy programování 17. Řadící algoritmy Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona: III/2
Příloha č. 4. Obchodních podmínek Operátora trhu s elektřinou, a.s. Revize 10 leden 2009. Příloha č. 4 červenec 2009
Příloha č. 4 Obchodních podmínek Operátora trhu s elektřinou, a.s. Revize 10 leden 2009 ALGORITMUS VYHODNOCENÍ DENNÍHO TRHU Příloha č. 4 červenec 2009 Obchodní podmínky Platné od: 30.6.2009 1 OBSAH 1 OBSAH...
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
zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.
Kapitola Ohodnocené grafy V praktických aplikacích teorie grafů zpravidla graf slouží jako nástroj k popisu nějaké struktury. Jednotlivé prvky této struktury mají často přiřazeny nějaké hodnoty (může jít
Kapitola 10: Diskové a souborové struktury. Klasifikace fyzických médií. Fyzická média
- 10.1 - Kapitola 10: Diskové a souborové struktury Přehled fyzických ukládacích médií Magnetické disky RAID (Redundant Array of Inexpensive Disks) Terciární úložiště Přístup k médiu Souborové organizace
Anotace. 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
autoři: Rudolf Bayer, Ed McCreight všechny vnější uzly (listy) mají stejnou hloubku ADS (abstraktní datové struktury)
definice ( tree) autoři: Rudolf Bayer, Ed McCreight vyvážený strom řádu m ( ) každý uzel nejméně a nejvýše m potomků s výjimkou kořene každý vnitřní uzel obsahuje o méně klíčů než je počet potomků (ukazatelů)
Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Třídění dat. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_26 04
Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Třídění dat Autor:
Dynamické 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é
Přidělování paměti I Mgr. Josef Horálek
Přidělování paměti I Mgr. Josef Horálek = Paměť = operační paměť je paměť, kterou přímo využívají procesory při zpracováni instrukci a dat; Paměť Funkce modulu přidělování paměti = Sledování stavu každého
A0M15EZS Elektrické zdroje a soustavy ZS 2011/2012 cvičení 1. Jednotková matice na hlavní diagonále jsou jedničky, všude jinde nuly
Matice Matice typu (m, n) je uspořádaná m-tice prvků z řádky matice.. Jednotlivé složky této m-tice nazýváme Matice se zapisují Speciální typy matic Nulová matice všechny prvky matice jsou nulové Jednotková
STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta
STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach vlož do fronty kořen opakuj, dokud není fronta prázdná 1. vyber uzel z fronty a zpracuj jej 2. vlož do fronty levého následníka
DYNAMICKÉ PROGRAMOVÁNÍ A PROBLÉM BATOHU
ČVUT V PRAZE FAKULTA INFORMAČNÍCH TECHNOLOGIÍ JAN SCHMIDT A PETR FIŠER MI-PAA DYNAMICKÉ PROGRAMOVÁNÍ A PROBLÉM BATOHU EVROPSKÝ SOCIÁLNÍ FOND PRAHA A EU: INVESTUJEME DO VAŠÍ BUDOUCNOSTI Dynamické programování
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 +
Paměti a jejich organizace
Kapitola 5 Paměti a jejich organizace 5.1 Vnitřní a vnější paměti, vlastnosti jednotlivých typů Vnější paměti Jsou umístěny mimo základní jednotku. Lze je zařadit mezi periferní zařízení. Zápis a čtení
Jarníkův algoritmus. Obsah. Popis
1 z 6 28/05/2015 11:44 Jarníkův algoritmus Z Wikipedie, otevřené encyklopedie Jarníkův algoritmus (v zahraničí známý jako Primův algoritmus) je v teorii grafů algoritmus hledající minimální kostru ohodnoceného
Obsah. KAPITOLA 1 Dříve než začneme 19 Kdysi dávno aneb střípky z historie algoritmických strojů 20 1801 21 1833 21 1890 22 třicátá léta 22
Předmluva 11 Čím se tato kniha liší od jiných příruček? 11 Proč C++? 12 Jak číst tuto knihu? 12 Čím se budeme zabývat? 13 Kapitola 1: Dříve než začneme 13 Kapitola 2: Rekurze 13 Kapitola 3: Analýza složitosti
Složitost UPR 2008/09 1
Složitost UPR 2008/09 1 Ohodnocení algoritmu Jak porovnávat efektivitu algoritmů? Požadavky na paměť Požadavky na rychlost výpočtu Asymptotická složitost UPR 2008/09 2 Měření algoritmu Dvě míry: čas x
Anotace. Dynamické programování, diskrétní simulace.
Anotace Dynamické programování, diskrétní simulace. Problémy, které byly Přednášející jde tentokrát do M1, počet platných uzávorkování pomocí n párů závorek, počet rozkladů přirozeného čísla na součet
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
Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C
Hanojské věže - 3 kolíky A, B, C - na A je N disků různé velikosti, seřazené od největšího (dole) k nejmenšímu (nahoře) - kolíky B a C jsou prázdné - úkol: přenést všechny disky z A na B, mohou se odkládat
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á??
AVL stromy. pro každý uzel u stromu platí, že rozdíl mezi výškou jeho levého a pravého podstromu je nejvýše 1 stromy jsou samovyvažující
Stromy 2 AVL AVL stromy jména tvůrců stromů: dva Rusové Adelson-Velskii, Landis vyvážené binární stromy pro každý uzel u stromu platí, že rozdíl mezi výškou jeho levého a pravého podstromu je nejvýše 1
Architektury CISC a RISC, uplatnění v personálních počítačích
Architektury CISC a RISC, uplatnění v personálních počítačích 1 Cíl přednášky Vysvětlit, jak pracují architektury CISC a RISC, upozornit na rozdíly. Zdůraznit, jak se typické rysy obou typů architektur
1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10
Úlohy- 2.cvičení 1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10 2. Převeďte dané desetinné číslo do dvojkové soustavy (DEC -> BIN): a) 0,8125 10 b) 0,35 10
TGH05 - 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í
Techniky návrhu algoritmů
Techniky návrhu algoritmů Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta, 2018 Datové struktury a algoritmy, B6B36DSA 01/2018, Lekce 2 https://cw.fel.cvut.cz/wiki/courses/b6b36dsa/start
Připojení systému A3600 k aplikaci DDS2000
" Uživatelský manuál Připojení systému A3600 k aplikaci DDS2000 Aplikace :! Přenos a archivace dat naměřených systémem A3600 z COMPACT FLASH karty! Formátování nebo mazání dat z COMPACT FLASH karty! Tvorba
Předmět: Algoritmizace praktické aplikace
Předmět: Algoritmizace praktické aplikace Vytvořil: Roman Vostrý Zadání: Vytvoření funkcí na stromech (reprezentace stromu haldou). Zadané funkce: 1. Počet vrcholů 2. Počet listů 3. Součet 4. Hloubka 5.
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
2 HRA V EXPLICITNÍM TVARU
2 HRA V EXPLICITNÍM TVARU 59 Příklad 1 Hra Nim. Uvažujme jednoduchou hru, kdy dva hráči označme je čísly 1, 2 mají před sebou dvě hromádky, z nichž každá je tvořena dvěma fazolemi. Hráč 1 musí vzít z jedné
IAJCE Přednáška č. 9. int[] pole = new int[pocet] int max = pole[0]; int id; for(int i =1; i< pole.length; i++) { // nikoli 0 if (Pole[i] > max) {
Vyhledání extrému v poli použito v algoritmech řazení hledání maxima int[] pole = new int[pocet] int max = pole[0]; int id; for(int i =1; i< pole.length; i++) // nikoli 0 if (Pole[i] > max) max = pole[i];
IB111 Úvod do programování 1 / 62
Vyhledávání, řazení, složitost IB111 Úvod do programování 2016 1 / 62 Výpočet odmocniny vstup: číslo x výstup: přibližná hodnota x Jak na to? 2 / 62 Výpočet odmocniny vstup: číslo x výstup: přibližná hodnota
Aplikovaná informatika
Vysoká škola polytechnická Jihlava Katedra elektrotechniky a informatiky Tematické okruhy pro státní závěrečné zkoušky oboru Aplikovaná informatika Tyto okruhy jsou platné pro studenty, kteří započali
Vícekriteriální hodnocení variant metody
Katedra aplikované matematiky a informatiky Jihočeská Univerzita v Českých Budějovicích, Ekonomická fakulta 2010 Metody vícekriteriální hodnocení variant (VHV) Jak jsme již zmiňovali, VHV obecně neposkytuje
Pokroč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,
Rozmístěte na šachovnici 6 6 čtyři tchýně 1 tak, aby se navzájem neohrožovaly a právě jedno volné pole zůstalo neohrožené.
Úlohy na šachovnici 3. podzimní série Vzorové řešení Úloha 1. Rozmístěte na šachovnici 6 6 čtyři tchýně 1 tak, aby se navzájem neohrožovaly a právě jedno volné pole zůstalo neohrožené. (Martin Töpfer)
Rekurzivní 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
Č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á
TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů
TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů Číslo otázky : 16. Otázka : Funkční a dynamická analýza informačního systému. Obsah : 1. Úvod 2. Funkční
bfs, 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ší
Umělá inteligence I. Roman Barták, KTIML. roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak
Umělá inteligence I Roman Barták, KTIML roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Na úvod Agent s reflexy pouze převádí současný vjem na jednu akci. Agent s cílem umí plánovat několik akcí
Reprezentace 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)
Mgr. Karel Pazourek. online prostředí, Operační program Praha Adaptabilita, registrační číslo CZ.2.17/3.1.00/31165.
Mnohočleny z různých stran Mgr. Karel Pazourek Kurz vznikl v rámci projektu Rozvoj systému vzdělávacích příležitostí pro nadané žáky a studenty v přírodních vědách a matematice s využitím online prostředí,
8 A (strana 1) Soubory a složky, procházení, orientace
8 A (strana ) Logické členění dat v počítači: V počítači je uloženo velmi mnoho dat. Některá jsou důležitá pro běh Windows, tedy tzv. operačního systému, což je základ naší práce s počítačem. Jiná data