Algoritmy a datové struktury

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Algoritmy a datové struktury"

Transkript

1 Algoritmy a datové struktury Stromy 1 / 32

2 Obsah přednášky Pole a seznamy Stromy Procházení stromů Binární stromy Procházení BS Binární vyhledávací stromy 2 / 32

3 Pole Hledání v poli metodou půlení intervalu najít Vkládání do pole vložit / 32

4 Seznamy Vyhledávání v seznamu lineárním vyhledáváním najít Vkládání do seznamu vložit x 4 / 32

5 Porovnání Získat obě výhody rychlé vyhledávání snadné vkládání S polem moc nadějí nemáme Vylepšit seznam upravit seznam tak, aby místo na sousedy ukazovaly prvky na poloviny intervalů / 32

6 Finální úprava / 32

7 Co je strom? Strom je množina uzlů Existuje jeden startovací uzel kořen stromu Každý uzel kromě kořenu má rodiče Uzel může mít libovolné množství dětských uzlů pokud nemá děti, je to list 7 / 32

8 Co je strom? Přirozená rekurzivní datová struktura Zachycuje vztahy mezi prvky stromu Velké množství aplikací souborový systém dědičnost v OOP hokejová extraliga rodokmen... 8 / 32

9 Cesta k uzlu Posloupnost uzlů: kořen, u1, u2,... kde u1 je potomkem kořene, u2 potomkem u1,... Ke každému uzlu existuje právě jedna cesta kdyby ne, nebyl by to strom Délka cesty od kořene k uzlu určuje jeho hloubku 9 / 32

10 Implementace Pomocí referencí - podobně jako seznamy u obecných stromů mohou být i odkazy na děti spojový seznam Hodnota Hodnota Hodnota Hodnota Hodnota Hodnota Hodnota 10 / 32

11 Procházení stromů Pre-order Vypíše kořen stromu, rekurzivně pokračuje pro všechny podstromy Preorder ( uzel v) vypis (v); foreach ( detskyuzel u in v) Preorder (u); Aplikace: strukturované dokumenty (XML) Kniha Kapitola 1 Kapitola 2 Kapitola 3 Podkapitola 1.1 Podkapitola 1.2 Podkapitola / 32

12 Procházení stromů Post-order Vypíše rekurzivně všechny podstromy, nakonec vypíše kořen Postorder ( uzel v) foreach ( detskyuzel u in v) Postorder (u); vypis (v); Aplikace: zjištění velikosti podadresářů na disku c:\ Temp Windows Program data.txt win.com win.bmp Kresleni Psani 12 / 32

13 Procházení stromů Level-order Vypíše všechny uzly se stejnou hloubkou Aplikace: hledání nejkratší cesty A C B D B 13 / 32

14 Prohledávání stromů do hloubky Depth-First Search (DFS) Nejprve se navštíví všechny děti, potom rodič Příklad / 32

15 Prohledávání stromů do šířky Ekvivalent level-order Breadth-First Search (BFS) Navštíví všechny uzly se stejnou hloubkou Příklad / 32

16 Definice Rekurzivní definice binární strom je prázdný strom, nebo uzel obsahující klíč, data, a levý a pravý binární podstrom Rekurzivní přístup s výhodou využijeme i při práci se stromem 16 / 32

17 Příklad class BinarniUzel public Klic klic; public BinarniUzel levy,pravy; public BinarniUzel(Klic klic) this.klic = klic; levy = null; pravy = null; class BinarniStrom public BinarniUzel koren; public BinarniStrom(Klic klic) koren = new BinarniUzel(klic); 17 / 32

18 Procházení stromů In-order Vypíše rekurzivně všechny podstromy, nakonec vypíše kořen Inorder ( uzel v) Inorder (v. levy ); vypis (v); Inorder (v. pravy ); Aplikace: výpis aritmetických operací a (b + c). a + b c 18 / 32

19 Binární vyhledávací stromy Binary Search Tree (BST) Binární strom s vlastnostmi uzly obsahují klíče, u kterých lze určit relace <,>,= klíče uzlů U ležících nalevo od kořene K jsou menší než klíč kořene K klíče uzlů U ležících napravo od kořene K jsou větší než klíč kořene K / 32

20 Vyhledávání v BST Začátek v kořenu stromu Porovnáme hodnotu klíče pokud se rovná hledané hodnotě, nalezli jsme pokud je menší, pokračujeme v levém podstromu pokud je větší, pokračujeme v pravém podstromu Dojdeme-li do listu, který je jiný než hledaná hodnota, strom hledaný prvek neobsahuje Příklad najít / 32

21 Vyhledávání v BST public BinarniUzel Najdi ( Klic klic ) return Najdi ( koren, klic ); public BinarniUzel Najdi ( BinarniUzel uzel, Klic klic ) if( uzel == null ) return null ; if(klic < uzel. klic ) return Najdi ( uzel.levy, klic ); else if(klic > uzel. klic ) return Najdi ( uzel. pravy, klic ); else return uzel ; Složitost vyhledávání? Jak se změní když zvýšíme počet dětí? Jak se změní když snížíme počet dětí? 21 / 32

22 Nalezení nejmenšího/největšího prvku Rekurzivně dojít k nejlevějšímu/nejpravějšímu uzlu stromu public BinarniUzel Min () BinarniUzel min = null ; for ( BinarniUzel u= koren ; u!= null ; u=u. levy ) min =u; return min ; 22 / 32

23 Vkládání prvku do BST Nalezení místa vhodného pro prvek Pokud už prvek existuje pak nedělat nic Pokud neexistuje, vložit prvek na nalezené místo Příklad vložit / 32

24 Vkládání prvku do BST public void Pridej ( Klic klic ) BinarniUzel aktualni, rodic ; aktualni = koren ; rodic = null ; while ( aktualni!= null ) rodic = aktualni ; if(klic < rodic. klic ) aktualni = aktualni. levy ; if(klic > rodic. klic ) aktualni = aktualni. pravy ; if( klic == rodic. klic ) break ; if( rodic == null ) koren = new BinarniUzel ( klic ); if(klic < rodic. klic ) rodic. levy = new BinarniUzel ( klic ); if(klic > rodic. klic ) rodic. pravy = new BinarniUzel ( klic ); 24 / 32

25 Mazání prvku Při mazání je nutné postarat se o děti Musí být zachovány vlastnosti BST Jaké situace mohou nastat? mazaný uzel nemá žádné potomky mazaný uzel má pouze jednoho potomka mazaný uzel má oba potomky Nebo mazaný uzel nemá levého potomka mazaný uzel nemá pravého potomka mazaný uzel má oba potomky 25 / 32

26 Nalezení mazaného prvku BinarniUzel aktualni, rodic ; aktualni = koren ; rodic = null ; while (( aktualni!= null )&&( aktualni. klic!= klic )) rodic = aktualni ; if(klic < rodic. klic ) aktualni = aktualni. levy ; if(klic > rodic. klic ) aktualni = aktualni. pravy ; if( klic == rodic. klic ) break ; if( aktualni == null ) prvek_ nenalezen 26 / 32

27 Uzel nemá levého potomka Rodičovskému uzlu přiřadíme místo mazaného prvku jeho pravého potomka if( aktualni. levy == null ) if(klic < rodic. klic ) rodic. levy = aktualni. pravy ; else rodic. pravy = aktualni. pravy ; 5 x / 32

28 Uzel nemá pravého potomka Rodičovskému uzlu přiřadíme místo mazaného prvku jeho levého potomka else if( aktualni. pravy == null ) if(klic < rodic. klic ) rodic. levy = aktualni. levy ; else rodic. pravy = aktualni. levy ; 28 / 32

29 Uzel má oba potomky Rodičovskému uzlu přiřadíme nejlevější prvek z pravého potomka else BinarniUzel nejlevejsi = aktualni. pravy. levy, nejlevejsirodic = aktualni. pravy ; while ( nejlevejsi. levy!= null ) nejlevejsirodic = nejlevejsi ; nejlevejsi = nejlevejsi. levy ; nejlevejsirodic. levy = nejlevejsi. pravy ; nejlevejsi. levy = aktualni. levy ; nejlevejsi. pravy = aktualni. pravy ; if(klic < rodic. klic ) rodic. levy = nejlevejsi ; else rodic. pravy = nejlevejsi ; 8 x / 32

30 Líné mazání prvku Pro velké stromy může být mazání poměrně náročné Místo fyzického smazání označit uzel jako neplatný, ale ponechat ho ve stromu Problémy? zvyšuje se hloubka stromu (nebo spíš nesnižuje se při mazání) pro velké stromy u kterých je počet smazaných prvků srovnatelný s počtem stávajících prvků to není kritické 30 / 32

31 Všechno funguje pěkně ale... Co se stane když budou vrcholy vkládány v nešikovném pořadí Příklad: jaká je složitost hledání? co se s tím dá vymyslet? / 32

32 Konec 32 / 32

Volné stromy. Úvod do programování. Kořenové stromy a seřazené stromy. Volné stromy

Volné stromy. Úvod do programování. Kořenové stromy a seřazené stromy. Volné stromy Volné stromy Úvod do programování Souvislý, acyklický, neorientovaný graf nazýváme volným stromem (free tree). Často vynecháváme adjektivum volný, a říkáme jen, že daný graf je strom. Michal Krátký 1,Jiří

Více

2 Datové struktury. Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky

2 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íce

ABSTRAKTNÍ DATOVÉ TYPY

ABSTRAKTNÍ DATOVÉ TYPY Jurdič Radim ABSTRAKTNÍ DATOVÉ TYPY Veškeré hodnoty, s nimiž v programech pracujeme, můžeme rozdělit do několika skupin zvaných datové typy. Každý datový typ představuje množinu hodnot, nad kterými můžeme

Více

Algoritmy I, složitost

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

Více

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10

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

Více

Datové struktury. alg12 1

Datové struktury. alg12 1 Datové struktury Jedna z klasických knih o programování (autor prof. Wirth) má název Algorithms + Data structures = Programs Datová struktura je množina dat (prvků, složek, datových objektů), pro kterou

Více

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

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

Více

Kolekce, cyklus foreach

Kolekce, cyklus foreach Kolekce, cyklus foreach Jen informativně Kolekce = seskupení prvků (objektů) Jednu již známe pole (Array) Kolekce v C# = třída, která implementuje IEnumerable (ICollection) Cyklus foreach ArrayList pro

Více

Základní datové struktury

Základní datové struktury Základní datové struktury Martin Trnečka Katedra informatiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci 4. listopadu 2013 Martin Trnečka (UPOL) Algoritmická matematika 1 4. listopadu 2013

Více

Z. Kotala, P. Toman: Java ( Obsah )

Z. Kotala, P. Toman: Java ( Obsah ) Z. Kotala, P. Toman: Java ( Obsah ) 13. Výjimky Výjimka (exception) je definována jako událost, která nastane během provádění programu a která naruší normální běh instrukcí. Výjimka je vyvolána například

Více

Výčtový typ strana 67

Výčtový typ strana 67 Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce

Více

1. Téma 12 - Textové soubory a výjimky

1. Téma 12 - Textové soubory a výjimky 1. Téma 12 - Textové soubory a výjimky Cíl látky Procvičit práci se soubory s využitím výjimek. 1.1. Úvod Program, aby byl programem, my mít nějaké výstupy a vstupy. Velmi častým případem je to, že se

Více

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Využití OOP v praxi -- Knihovna PHP -- Interval.cz Page 1 of 6 Knihovna PHP Využití OOP v praxi Po dlouhé teorii přichází na řadu praxe. V následujícím textu si vysvětlíme možnosti přístupu k databázi pomocí různých vzorů objektově orientovaného programování

Více

Složitější domény. Petr Štěpánek. S využitím materialu Krysztofa R. Apta

Složitější domény. Petr Štěpánek. S využitím materialu Krysztofa R. Apta Složitější domény Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 11 1 V této části se budeme zabývat seznamy a binárními stromy. Naším cílem není tyto datové struktury podrobně

Více

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39 Programování v C# Hodnotové datové typy, řídící struktury Petr Vaněček 1 / 39 Obsah přednášky Referenční datové typy datové položky metody přístupové metody accessory, indexery Rozhraní Pole 2 / 39 Třídy

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

Pro kontrolu správného formátu hodnoty N použijeme metodu try-catch.

Pro kontrolu správného formátu hodnoty N použijeme metodu try-catch. 1. ŘEŠENÉ PŘÍKLADY 1.2 PŘÍKLAD 24-2-8-2_DOKONALÉ ČÍSLO Napište program, který má na vstupu přirozené číslo N > 1. Výstupem je informace o tom, zda toto číslo je/není dokonalé. (Dokonalé číslo je takové

Více

TÉMATICKÝ OKRUH TZD, DIS a TIS

TÉMATICKÝ OKRUH TZD, DIS a TIS TÉMATICKÝ OKRUH TZD, DIS a TIS Číslo otázky : 13. Otázka : Základní datové struktury (pole, zásobník, binární strom atd.), datové struktury vhodné pro fyzickou implementaci relačních dat v SŘBD (hašovací

Více

Definice. B-stromu. B-strom řádu m je strom, kde každý uzel má maximálně m následníků a ve kterém platí:

Definice. B-stromu. B-strom řádu m je strom, kde každý uzel má maximálně m následníků a ve kterém platí: B-Strom Definice B-stromu B-strom řádu m je strom, kde každý uzel má maximálně m následníků a ve kterém platí: 1. Počet klíčů v každém vnitřním uzlu, je o jednu menší než je počet následníků (synů) 2.

Více

Práce se soubory v Javě

Práce se soubory v Javě Práce se soubory v Javě Cílem kapitoly je naučit pracovat se soubory a adresáři v Javě. Na jednoduchých příkladech ukázat procházení adresáře, čtení z textového souboru a zápis do textového souboru. Klíčové

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

1. Téma 03 - Rozhodování

1. Téma 03 - Rozhodování 1. Téma 03 - Rozhodování Cíl látky Seznámit se a prakticky si vyzkoušet zápis rozhodování v jazyce Java 1.1. Úvod Jednou z nejčastěji používanou konstrukcí při programování je rozhodování. Právě této problematice

Více

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Bridge. Známý jako. Účel. Použitelnost. Handle/Body Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době

Více

1. Programování proti rozhraní

1. Programování proti rozhraní 1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní

Více

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice) - 7.1 - Kapitola 7: Návrh relačních databází Nástrahy návrhu relačních databází Dekompozice (rozklad) Normalizace použitím funkčních závislostí Nástrahy relačního návrhu Návrh relačních databází vyžaduje

Více

7. Dynamické datové struktury

7. Dynamické datové struktury 7. Dynamické datové struktury Java poskytuje několik možností pro uložení většího množství dat (tj. objektů či primitivních datových typů) v paměti. S nejjednodušší z nich, s polem, jsme se již seznámili.

Více

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Vzdělávací oblast Informatika a informační a komunikační technologie pro vzdělávací obor Programování

Více

Texty k Programování na VŠFS. Petr Kučera () Texty k Programování na VŠFS 29. května 2006 1 / 117

Texty k Programování na VŠFS. Petr Kučera () Texty k Programování na VŠFS 29. května 2006 1 / 117 Texty k Programování na VŠFS Petr Kučera 29. května 2006 Petr Kučera () Texty k Programování na VŠFS 29. května 2006 1 / 117 Obsah Základní informace k předmětu Dynamicky alokovaná paměť Jednoduché dynamicky

Více

Ukládání a vyhledávání XML dat

Ukládání a vyhledávání XML dat XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2014/12/04 19:41:24 $ Obsah Ukládání XML dokumentů... 3 Ukládání XML do souborů... 4 Nativní XML databáze... 5 Ukládání

Více

Ošetřování chyb v programech

Ošetřování chyb v programech Ošetřování chyb v programech Úvod chyba v programu = normální záležitost typy chyb: 1) programátorská chyba při návrhu každých 10 000 řádek 1 chyba lze jen omezeně ošetřit (před pádem aplikace nabídnout

Více

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem

Více

Objektově orientované programování v jazyce Python

Objektově orientované programování v jazyce Python Objektově orientované programování v jazyce Python Co to je objektově orientované programování Python není přímo objektově orientovaný jazyk, ale podporuje nejdůležitější části objektově orientovaného

Více

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Autor: Radek Vystavěl Díl 12: Algebra Lineární transformace MATEMATIKA Lineární transformace, neboli přeet hodnoty x podle

Více

Vysvětlete funkci a popište parametry jednotlivých komponent počítače a periferních zařízení.

Vysvětlete funkci a popište parametry jednotlivých komponent počítače a periferních zařízení. 1 Struktura osobního počítače Zakreslete základní schéma počítače podle Johna von Neumanna. Popište základní strukturu osobního počítače. Vysvětlete funkci a popište parametry jednotlivých komponent počítače

Více

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus Pracovní listy - programování (algoritmy v jazyce Visual Basic) Předmět: Seminář z informatiky a výpočetní techniky Třída: 3. a 4. ročník vyššího stupně gymnázia Algoritmus Zadání v jazyce českém: 1. Je

Více

Modely vyhledávání informací 4 podle technologie. 1) Booleovský model. George Boole 1815 1864. Aplikace booleovské logiky

Modely vyhledávání informací 4 podle technologie. 1) Booleovský model. George Boole 1815 1864. Aplikace booleovské logiky Modely vyhledávání informací 4 podle technologie 1) Booleovský model 1) booleovský 2) vektorový 3) strukturní 4) pravděpodobnostní a další 1 dokumenty a dotazy jsou reprezentovány množinou indexových termů

Více

RELAČNÍ DATABÁZE ACCESS

RELAČNÍ DATABÁZE ACCESS RELAČNÍ DATABÁZE ACCESS 1. Úvod... 2 2. Základní pojmy... 3 3. Vytvoření databáze... 5 4. Základní objekty databáze... 6 5. Návrhové zobrazení tabulky... 7 6. Vytváření tabulek... 7 6.1. Vytvoření tabulky

Více

17. Projekt Trojúhelníky

17. Projekt Trojúhelníky Projekt Trojúhelníky strana 165 17. Projekt Trojúhelníky 17.1. Základní popis, zadání úkolu Pracujeme na projektu Trojúhelníky, který je ke stažení na java.vse.cz. Aplikace je napsána s textovým uživatelským

Více

Projekt Obrázek strana 135

Projekt Obrázek strana 135 Projekt Obrázek strana 135 14. Projekt Obrázek 14.1. Základní popis, zadání úkolu Pracujeme na projektu Obrázek, který je ke stažení na http://java.vse.cz/. Po otevření v BlueJ vytvoříme instanci třídy

Více

Skriptovací jazyky. Obsah

Skriptovací jazyky. Obsah Skriptovací jazyky doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Co je to skriptovací jazyk? Výhody a nevýhody

Více

Stream API. Petr Krajča. Základy programovaní 4 (Java) Katedra informatiky Univerzita Palackého v Olomouci

Stream API. Petr Krajča. Základy programovaní 4 (Java) Katedra informatiky Univerzita Palackého v Olomouci Základy programovaní 4 (Java) Stream API Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/ZP4JV 5. listopad, 2014 1 / 10 Stream API Java 8 nový přístup k práci s kolekcemi

Více

Algoritmy a datové struktury

Algoritmy a datové struktury Algoritmy a datové struktury 1 / 34 Obsah přednášky Základní řídící struktury posloupnost příkazů podmínka cyklus s podmínkou na začátku cyklus s podmínkou na konci cyklus s pevným počtem opakování Jednoduchá

Více

Iterátory v C++. int pole[20]; for (int *temp = pole, temp!= &pole[20]; temp++) { *temp = 0;

Iterátory v C++. int pole[20]; for (int *temp = pole, temp!= &pole[20]; temp++) { *temp = 0; Iterátory v C++. Iterátor v C++ je vlastně taková obdoba ukazatelů pro kontejnery. Dříve, než se dostaneme k bližšímu vysvětlení pojmu iterátor, ukážeme si jednoduchý příklad, jak pracovat s obyčejným

Více

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v DSL manuál Ing. Jan Hranáč 27. října 2010 V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v současné době krátký) seznam vestavěných funkcí systému. 1 Vytvoření nového dobrodružství Nejprve

Více

Vstupní požadavky, doporučení a metodické pokyny

Vstupní požadavky, doporučení a metodické pokyny Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem

Více

4.4.2012. Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady

4.4.2012. Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady Základy programování (IZAPR, IZKPR) Přednáška 5 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky Příkazy cyklu -

Více

Pro úspěšné zvýšení návštěvnosti a dosažení předních pozic ve vyhledávačích provedeme nejdříve jednoduchou "SEO ANALÝZU WEBOVÉ PREZENTACE.

Pro úspěšné zvýšení návštěvnosti a dosažení předních pozic ve vyhledávačích provedeme nejdříve jednoduchou SEO ANALÝZU WEBOVÉ PREZENTACE. Pro úspěšné zvýšení návštěvnosti a dosažení předních pozic ve vyhledávačích provedeme nejdříve jednoduchou "SEO ANALÝZU WEBOVÉ PREZENTACE." 1. Provedeme kontrolu webové stránky a SEO analýzu 2. Zjistíme,

Více

Téma 11 Přístup k datům Obsah. Organizace ukládání dat

Téma 11 Přístup k datům Obsah. Organizace ukládání dat Téma 11 Přístup k datům Obsah 1. Organizace ukládání dat Záznamy pevné a proměnné délky Sekvenční organizace souborů Organizace "multi-table clustering" 2. Indexování Podstata indexování Hustéa řídkéindexy

Více

Složitost vybraných některých algoritmů

Složitost vybraných některých algoritmů Složitost vybraných některých algoritmů V celém tomto tématu budeme předpokládat, že pracujeme pouze s čísly omezeného rozsahu. Například s celými čísly, které lze representovat typem int nebo longint.

Více

24. XML. Aby se dokument XML vůbec zobrazil musí být well-formed (správně strukturovaný). To znamená, že splňuje formální požadavky specifikace XML.

24. XML. Aby se dokument XML vůbec zobrazil musí být well-formed (správně strukturovaný). To znamená, že splňuje formální požadavky specifikace XML. 24. XML Úvod Značkovací jazyk XML (extensible Markup Language) vznikl ze staršího a obecnějšího jazyku SGML (Standard Generalized Markup Language). XML byl vyvinut konsorciem W3C, aby poskytl standardní

Více

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

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

Více

DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS. (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat)

DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS. (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat) DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat) DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 62 Databáze a systémy pro uchování

Více

EndNote Web. Stručné informace THOMSON SCIENTIFIC

EndNote Web. Stručné informace THOMSON SCIENTIFIC THOMSON SCIENTIFIC EndNote Web Stručné informace Web je webový nástroj navržený tak, aby poskytoval studentům a výzkumníkům pomoc při psaní výzkumných prací. Databáze ISI Web of Knowledge a nástroje EndNote

Více

DoplněkCite While You Write pro aplikaci Microsoft Word

DoplněkCite While You Write pro aplikaci Microsoft Word DoplněkCite While You Write pro aplikaci Microsoft Word Díky doplňku Cite While You Write pro nástroj EndNote Web máte možnost reference a formátované citace či bibliografie při psaní vaší práce v aplikaci

Více

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Rozhodovací stromy Doc. RNDr. Iveta Mrázová, CSc.

Více

DATABÁZE MS ACCESS 2010

DATABÁZE MS ACCESS 2010 DATABÁZE MS ACCESS 2010 KAPITOLA 5 PRAKTICKÁ ČÁST TABULKY POPIS PROSTŘEDÍ Spuštění MS Access nadefinovat název databáze a cestu k uložení databáze POPIS PROSTŘEDÍ Nahoře záložky: Soubor (k uložení souboru,

Více

19. Projekt Adventura

19. Projekt Adventura Projekt Adventura strana 189 19. Projekt Adventura 19.1. Základní popis, zadání úkolu Pracujeme na projektu Adventura, který je ke stažení na java.vse.cz. Po otevření v BlueJ vytvoříme instanci třídy Hra.

Více

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou MySQL Typy tabulek Storage Engines MyISAM defaultní, neumí transakce, umí fulltext InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) MEMORY (HEAP) v paměti; neumí transakce ARCHIVE velké množství

Více

Lokální definice (1) plocha-kruhu

Lokální definice (1) plocha-kruhu Lokální definice (1) syntaxe: (local (seznam definic) výraz) definice jsou dostupné pouze uvnitř příkazu local příklad: (local ( (define Pi 3.1415926) (define (plocha-kruhu r) (* Pi r r)) ) (plocha-kruhu

Více

Masarykova ZŠ Klenčí pod Čerchovem OPERAČNÍ SYSTÉM

Masarykova ZŠ Klenčí pod Čerchovem OPERAČNÍ SYSTÉM Operační systém OPERAČNÍ SYSTÉM Masarykova MŠ a ZŠ Operační systém - zajišťuje komunikaci mezi hardwarem a softwarem organizuje přístup a využívání zdrojů počítače ( čas procesoru, přístup k datům na discích,

Více

Efektivní hledání nejkratších cest v sítích hromadné přepravy osob

Efektivní hledání nejkratších cest v sítích hromadné přepravy osob DIPLOMOVÁ PRÁCE Efektivní hledání nejkratších cest v sítích hromadné přepravy osob Autor: Vladislav Martínek Vedoucí: RNDr. Michal Žemlička, Ph.D. Motivace Jak se co nejrychleji dostat z bodu A do bodu

Více

Začínáme s vývojem pro Android

Začínáme s vývojem pro Android Pavel Petřek CTO Praha, 14. dubna 2010 Kdo je kdo Pavel Petřek Vývojář, přednášející, entusiasta světa chytrých telefonů (a velký jedlík) Spoluzakladatel Inmite Inmite Vývoj pro chytré telefony (Android:

Více

Abstraktní datové typy: zásobník

Abstraktní datové typy: zásobník Abstraktní datové typy: zásobník doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Abstraktní datové typy omezené rozhraní

Více

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů. Modely datové Existují různé úrovně pohledu na data. Nejvyšší úroveň je úroveň, která zachycuje pouze vztahy a struktury dat samotných. Konceptuální model - E-R model. Další úrovní je logická úroveň Databázové

Více

Základní pojmy teorie grafů [Graph theory]

Základní pojmy teorie grafů [Graph theory] Část I Základní pojmy teorie grafů [Graph theory] V matematice grafem obvykle rozumíme grafické znázornění funkční závislosti. Pro tento předmět je však podstatnější pohled jiný. V teorii grafů rozumíme

Více

7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů

7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů 7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů Verze dokumentu: 1.0 Autor: Jan Lávička, Microsoft Časová náročnost: 30 40 minut 1 Cvičení 1: Vyhledávání informací v

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Triangulace. Význam triangulace. trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy. příklad triangulace

Triangulace. Význam triangulace. trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy. příklad triangulace Význam triangulace trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy příklad triangulace Definice Triangulace nad množinou bodů v rovině představuje takové planární

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410

Více

Maturitní témata Školní rok: 2015/2016

Maturitní témata Školní rok: 2015/2016 Maturitní témata Školní rok: 2015/2016 Ředitel školy: Předmětová komise: Předseda předmětové komise: Předmět: PhDr. Karel Goš Informatika a výpočetní technika Mgr. Ivan Studnička Informatika a výpočetní

Více

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou

Více

PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory

PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory Výhody objektového řešení Nástroje pro IO operace jsou v C++ součástí knihoven Hierarchie objektových

Více

Dokumentace k semestrální práci z předmětu PT

Dokumentace k semestrální práci z předmětu PT Dokumentace k semestrální práci z předmětu PT Vypracovali: Eva Turnerová (A08B0176P) Martin Dlouhý (A08B0268P) Zadání Zadání: Firma Mistr Paleta, syn a vnuci rozváží palety po celé České republice. Počet

Více

XML terminologie a charakteristiky. Roman Malo

XML terminologie a charakteristiky. Roman Malo XML terminologie a charakteristiky Roman Malo XML extensible Markup Language (rozšiřitelný značkovací jazyk) Verze 1.0, 1.1 http://www.w3.org/xml Rozdíly v podpoře různých znakových sad a práci s řídícími

Více

Agenda. Docházka Návrat k minulému praktickému cvičení Zápočtové práce. Dokumentace. Dotazy, přání, stížnosti. Co, jak a proč dokumentovat

Agenda. Docházka Návrat k minulému praktickému cvičení Zápočtové práce. Dokumentace. Dotazy, přání, stížnosti. Co, jak a proč dokumentovat QA & Dokumentace Agenda Docházka Návrat k minulému praktickému cvičení Zápočtové práce QA opakování Dokumentace Co, jak a proč dokumentovat Dotazy, přání, stížnosti Kde je chyba? public static StringBuilder

Více

Informatika 5.ročník

Informatika 5.ročník Informatika 5.ročník vztahy,průř.témata září umí korektně zapnout a vypnout stanici a přihlásit se do a odhlásit ze sítě, využívá základní standartní funkce počítače a jeho nejběžnější periferie Postup

Více

Grafy (G) ρ(h) = [u,v]

Grafy (G) ρ(h) = [u,v] Grafy (G) Neorientované: (NG) H hrany, U-uzly, ρ-incidence (jestli k němu něco vede) ρ: H UΞU Ξ neuspořádaná dvojice ρ(h) = [u,v] Teoretická informatika Str.1 Izolovaný uzel neinciduje s ním žádná hrana

Více

1. Databázové systémy (MP leden 2010)

1. 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

3. Třídy. Základní pojmy objektového programování. Třídy

3. Třídy. Základní pojmy objektového programování. Třídy 3. Třídy Základní pojmy objektového programování Jak už víme, je Java objektovým programovacím jazykem. V úvodu této kapitoly si objasníme základní pojmy objektové teorie. Objekt představuje souhrn dat

Více

Uživatelská příručka. k publikačnímu systému nlogy nedit 4.2.4. 2003-2007 nlogy s.r.o. Stránka 1 z 30 www.nlogy.cz

Uživatelská příručka. k publikačnímu systému nlogy nedit 4.2.4. 2003-2007 nlogy s.r.o. Stránka 1 z 30 www.nlogy.cz Uživatelská příručka k publikačnímu systému nlogy nedit 4.2.4 2003-2007 nlogy s.r.o. Stránka 1 z 30 1 Obsah 1 OBSAH...2 2 POHLED NA PRACOVNÍ PLOCHU ADMINISTRACE...4 2.1 MENU...4 2.2 POSTRANNÍ MENU...5

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

Informatika 5.ročník

Informatika 5.ročník Informatika 5.ročník Období Ročníkový výstup Učivo Kompetence vztahy,průř.témata září umí korektně zapnout a vypnout stanici a přihlásit se do a odhlásit ze sítě, využívá základní standartní funkce počítače

Více

Pokročilé programování v jazyce C pro chemiky (C3220) Dědičnost tříd v C++

Pokročilé programování v jazyce C pro chemiky (C3220) Dědičnost tříd v C++ Pokročilé programování v jazyce C pro chemiky (C3220) Dědičnost tříd v C++ Dědičnost tříd Dědičnost umožňuje vytvářet nové třídy z tříd existujících tak, že odvozené třídy (tzv. potomci) dědí vlastnosti

Více

Tabulka. Často jde nejenom o dynamickou množinu, ale i statickou množinu. Matematické tabulky statická množina

Tabulka. Často jde nejenom o dynamickou množinu, ale i statickou množinu. Matematické tabulky statická množina Tabulka Často jde nejenom o dynamickou množinu, ale i statickou množinu Matematické tabulky statická množina x cos x 0,0 1,000 0,1 0,995 0,2 0,980 0,3 0,955 0,4 0,921 0,5 0,878 0,6 0,825 0,7 0,765 0,8

Více

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.

Vý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íce

Optimizing Limousine Service with AI. David Marek

Optimizing Limousine Service with AI. David Marek Optimizing Limousine Service with AI David Marek Airport Limousine Services Ltd. (ALS) Jedna z největších firem zajišťujících dopravu v Hong Kongu Luxusní limuzíny a kyvadlová doprava 24 hodin denně 2

Více

Microsoft Office. Excel vyhledávací funkce

Microsoft Office. Excel vyhledávací funkce Microsoft Office Excel vyhledávací funkce Karel Dvořák 2011 Vyhledávání v tabulkách Vzhledem ke skutečnosti, že Excel je na mnoha pracovištích používán i jako nástroj pro správu jednoduchých databází,

Více

Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný

Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný typem proměnné - ukazatel je tedy adresa společně s

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT

Více

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write(\nPrumerna teplota je {0}, tprumer); Pole (array) Motivace Častá úloha práce s větším množstvím dat stejného typu o Př.: průměrná teplota za týden a odchylka od průměru v jednotlivých dnech Console.Write("Zadej T pro.den: "); double t = Double.Parse(Console.ReadLine());

Více

CENTRÁLNÍ DATABÁZE. příručka pro práci s Centrální databází

CENTRÁLNÍ DATABÁZE. příručka pro práci s Centrální databází příručka 22 CENTRÁLNÍ DATABÁZE příručka pro práci s Centrální databází Každá příručka obsahuje informace k modulu, jehož název je uveden v záhlaví. Každý modul má svou příručku. Příručky jsou k dispozici

Více

RECEPTY. Práce s BIDVest recepty tvorba a správa vlastních receptů

RECEPTY. Práce s BIDVest recepty tvorba a správa vlastních receptů RECEPTY Práce s BIDVest recepty tvorba a správa vlastních receptů Obsah Recepty stručně... 2 Zařazení a zobrazení receptů... 2 Úprava BIDVest receptu... 3 Vyhledání položek receptu... 3 Uložení a tisk

Více

WR Reality. Web Revolution. Uživatelský manuál administračního rozhraní

WR Reality. Web Revolution. Uživatelský manuál administračního rozhraní WR Reality Web Revolution Uživatelský manuál administračního rozhraní Web Revolution s. r. o. 2010 WR Reality Administrace uživatelský manuál Praktický průvodce administrací webové aplikace WR Reality

Více

Kapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace

Kapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace - 3.1 - Struktura relačních databází Relační algebra n-ticový relační kalkul Doménový relační kalkul Rozšířené operace relační algebry Modifikace databáze Pohledy Kapitola 3: Relační model Základní struktura

Více

Pro úspěšné zvýšení návštěvnosti a dosažení předních pozic ve vyhledávačích provedeme nejdříve jednoduchou "SEO ANALÝZU WEBOVÉ PREZENTACE.

Pro úspěšné zvýšení návštěvnosti a dosažení předních pozic ve vyhledávačích provedeme nejdříve jednoduchou SEO ANALÝZU WEBOVÉ PREZENTACE. Pro úspěšné zvýšení návštěvnosti a dosažení předních pozic ve vyhledávačích provedeme nejdříve jednoduchou "SEO ANALÝZU WEBOVÉ PREZENTACE." 1. Provedeme kontrolu webové stránky a SEO analýzu 2. Zjistíme,

Více

Jazyk C++ II. Šablony a implementace

Jazyk C++ II. Šablony a implementace Jazyk C++ II Šablony a implementace AR 2013/2014 Jazyk C++ II Úvod Dědičnost a kompozice nejsou vždy tou správnou odpovědí na požadavky znovupoužitelnosti kódu. Proto máme možnost definování určité třídy

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více