1. Vyhledávací stromy
|
|
- Sára Mašková
- před 8 lety
- Počet zobrazení:
Transkript
1 1. Vyledávací stromy V této kapitole budeme postaveni před následující problém. Je dáno nějaké univerzum prvků U a naším úkolem bude navrnout datovou strukturu, která udržuje konečnou množinu prvků X U. Pod univerzem si můžeme představit například přirozená čísla, tedy univerzum může být nekonečné na rozdíl od X. Na našic datec budeme ctít provádět následující operace: Insert vložit novou položku Delete smazat položku Find najít položku Způsob realizace jednotlivýc operací a jejic časová složitost se bude zjevně odvíjet od vlastností prvků univerza. V našem případě budeme ctít udržovat slovník, tedy množinu dvojic (k, v) kde k U se nazývá klíč a v odnota. Dále předpokládejme, že univerzum U je lineárně uspořádané (důležitá vlastnost!) a s klíči i odnotami pracujeme v konstantním čase. Po slovníku budeme ctít: Insert(k, v) vložit novou odnotu spolu s klíčem (předpokládáme, že ve struktuře dosud tento klíč není přítomen) Delete(k) smazat položku podle klíče Find(k) najít položku podle klíče Tyto operace je možné realizovat nad množstvím různýc datovýc struktur, od jednoducýc po značně složité. Věříme, že čtenáři nedělá větší problém vymyslet, jak by požadované operace realizoval například nad setříděnýc čí nesetříděným polem, setříděným či nesetříděným spojovým seznamem. Hlavním cílem této kapitoly je popsat datovou strukturu vyledávacío stromu, nicméně než se pustíme do bližšío vysvětlování, uvedeme ještě srovnání časovýc složitostí operací nad vyledávacími stromy a nad jednoducými datovými strukturami. Insert Delete Find pole Θ(1) Θ(n) Θ(n) setříděné pole Θ(n) Θ(n) Θ(log n) spojový seznam Θ(1) Θ(n) Θ(n) setříděný seznam Θ(n) Θ(n) Θ(n) vyledávací stromy Θ(log n) Θ(log n) Θ(log n) 1.1. Denice binárnío vyledávacío stromu Zavzpomínáme nyní, jak funguje algoritmus vyledávání prvku půlením intervalů nad setříděným polem. Zvolíme prvek uprostřed pole, porovnáme s ledaným a podle výsledku porovnání se zaměříme buďto na levý nebo na pravý interval, kde opakujeme stejný algoritmus
2 Stejnou myšlenku je možné zopakovat s jiným uložením dat než je pole. Představme si, že máme binární strom s prvky uloženými ve vrcolec, jeož jednotlivé podstromy ztotožníme s intervaly, nad kterými pracuje půlící vyledávání, a vrcoly stromu ztotožníme se zvolenými prvky pole, se kterými půlící algoritmus porovnává ledaný prvek. Jeden průbě půlícío vyledávání potom odpovídá průcodu tímto stromem z kořene dolů do nějakéo listu. Dále si povšimněme, že pro správnou funkci vyledávacío algoritmu nebylo potřeba volit vždy prostředky intervalů, stačí volit libovolný vnitřní prvek intervalu. Tato volba se projeví pouze na čase, v jakém bude vyledávání probíat. ni příslušný ztotožněný strom tedy nemusí být stejné pravidelný jako Tyto postřey nyní přetavíme do přesné definice binárníc vyledávacíc stromů. Definice: Strom T nazveme binární, pokud je zakořeněný a každý vrcol v V (T ) má nejvýše dva syny, u nicž rozlišujeme, který je levý a který pravý. Definice: Pro vrcol v binárnío stromu T značíme: l(v) a r(v) levý a pravý syn vrcolu v L(v) a R(v) levý a pravý podstrom vrcolu v p(v) otec vrcolu v (pokud eistuje) T (v) příslušný podstrom s kořenem v d(v) loubka stromu T (v) délka nejdelší cesty z kořene do listu Definice: Binární strom T nazveme binární vyledávací strom (BVS), pokud v každém vrcolu T je uložena dvojice (klíč, odnota) [ztotožníme vrcol s klíčem] a pro každý vrcol v V (T ) platí: ( u L(v) : u < v) & ( u R(v) : u > v). Poznamenejme ještě, že právě zavedená podmínka na uspořádání prvků uvnitř binárnío vyledávacío stromu je velmi silná, neboť dává kompletní informaci o uspořádání prvků reprezentované množiny. Pro lepší ilustraci definice BVS uveďme na obr. 1.1 několik příkladů Obr. 1.1: Příklady binárníc vyledávacíc stromů
3 1.2. Operace nad BVS Nyní popíšeme operace nad binárním vyledávacím stromem. Operaci vyledávání prvku jsme už nastínili v neformálním úvodu. Začneme v kořeni, klíč v něm uložený porovnáme s ledaným prvek. Buďto jsme měli štěstí a klíč našli, nebo víme, že se klíč může být jen v levém nebo naopak pravém podstromu, kde celý postup zopakujeme. lgoritmus Find Vstup: kořen BVS v, vyledávaný klíč Výstup: ukazatel na vrcol obsaující (nebo ) 1. Pokud v =, vrať. 2. Pokud v =, vrať v. 3. Pokud v <, vrať Find(r(v), ). 4. Pokud v >, vrať Find(l(v), ). Vkládání novéo prvku funguje velmi podobně jako vyledávání, s tím rozdílem, že v okamžiku, kdy by vyledávací algoritmus měl přejít do neeistujícío vrcolu, tento nový vrcol vytvoříme a vložíme do něj vkládaný prvek. lgoritmus Insert Vstup: kořen BVS v, vkládaný klíč 1. Pokud v =, skonči. (Případně nějak vyřeš duplicitu prvků.) 2. Pokud v <, s r(v), jinak s l(v). 3. Jestliže s =, vytvoř nový vrcol s klíčem, napoj o pod p(s) a skonči. 4. Jinak zavolej Insert(s, ). lgoritmus Delete Vstup: ukazatel na mazaný vrcol v 1. Pokud v je list, jednoduše list utrni. 2. Pokud v má jednoo syna s, napojíme s pod p(v) namísto v a vrcol v zrušíme. 3. Jinak má v oba syny, potom do vrcolu v vložíme minimum z R(v) nacázející se ve vrcolu m. Vrcol m umíme smazat protože je to buď list nebo má jen pravéo syna. Poznámka: Pokud má vrcol v při operaci Delete oba syny, je vložení minima z R(v) ekvivalentní s vložením maima z L(v). Příklady operací Insert a Delete aplikovanýc na BVS ilustrujeme na obr Čtenáři ponecáváme ve cvičeni k rozmyšlení, jak všecny výše uvedené operace realizovat i bez použití rekurze. To je ve většině imperativníc programovacíc jazyků i podstatně ryclejší a jednodušší implementace. Zároveň si však povšimněme, že rekurzivní povaa BVS i operací nad ním z něj činí přirozenou datovou strukturu k použití v čistě funkcionálníc programovacíc jazycíc
4 5 5 2 Insert Delete Delete Delete Obr. 1.2: Příklad operací Insert a Delete aplikovanýc na strom vlevo V průběu všec tří operací se kráčí od kořene v nejorším případě až do nejlubšío listu. Hloubka N-prvkovéo stromu může být Θ(N), když strom bude (téměř) lineární spojový seznam. Takovéto degenerované stromy vzniknou snadno, například přidáváním setříděné posloupnosti. Naopak když bude strom pěkně vyváženě vystavěný, dostaneme složitost Θ(log N). Vidíme tedy, že složitost operací stojí a padá s loubkou stromu. Srneme tedy složitost v následujícím tvrzení. Důsledek: Pro N-prvkový binární vyledávací strom T je časová složitost operací Find, Insert a Delete Θ(loubka T ). Uvedeme nyní podmínku, která zajišťuje dobrou loubku stromu. Definice: Binární vyledávací strom T nazveme dokonale vyvážený, pokud pro každý jeo vrcol v platí L(v) P (v) 1. Dokonale vyvážený binární strom bude mít určitě logaritmickou loubku. Jak lze takový strom konstruovat nebo dokonce průběžně udržovat při mazání a vkládání prvků? Odpověď není snadná; buďto strom zkonstruujeme naráz staticky, anebo se smíříme s tím, že operace na něm budou pomalejší než Θ(log N). lgoritmus pro postavení dokonale vyváženéo BVS ze setříděnéo pole ponecáme čtenáři jako cvičení. Lemma: Buď operace vkládání nebo operace mazání v dokonale vyváženém BVS trvá Ω(N). Důkaz: Necť N = 2 k 1 je počet vrcolů BVS T. Pak má dokonale vyvážený BVS T určený tvar a je jednoznačné, která odnota je ve kterém vrcolu. Necť nejmenší číslo v T je a největší je + N 1. Proveďme posloupnost operací Insert( + N), Delete(), Insert( + N + 1), Delete( + 1),
5 Za každou dvojicí operací se aspoň polovina listů posune o patro výš. Víme, že listů ve stromě T je (N + 1)/2. Tedy aspoň jedna z operací Insert nebo Delete trvá Ω(N). Poznamenejme ještě, že ve skutečnosti obě operace Insert i Delete současně musí trvat Ω(N), ale důkaz je o trocu obtížnější. vičení: 1. Operace Find, Insert a Delete jsme popsali rekurzivně. Navrněte, jak je dělat bez použití rekurze. 2. Navrněte algoritmus, který ze setříděnéo pole vyrobí v lineárním čase dokonale vyvážený BVS. 3. Navrněte algoritmus, který ze setříděnéo pole vyrobí v lineárním čase dokonale vyvážený BVS. 4. Navrněte algoritmus, který dostane dva BVS T 1 a T 2 sloučí jejic obsa do jedinéo BVS. lgoritmus by měl pracovat v čase O( T 1 + T 2 ). 5. Navrněte operaci Split, která dostane BVS T a odnotu s, a rozdělí strom na dva BVS T 1 a T 2 takové, že odnoty v T 1 jsou menší než s a odnoty v T 2 jsou větší než s Zavedení VL stromù Vidíme tedy, že dokonale vyvážené stromy nejsou vodné. Potřebovali bycom totiž, aby se strom dal také efektivně udržovat. Zavedeme proto slabší podmínku. Definice: Binární vyledávací strom T nazveme loubkově vyvážený, pokud pro každý jeo vrcol v V (T ) platí (L(v)) (P (v)) 1. Stromům s loubkovým vyvážením se říká VL stromy 1. Důležitou vlastností VL stromů je jejic logaritmická loubka. Tvrzení: VL strom na N vrcolec má loubku Θ(log N). Důkaz: Definujme čísla k = minimální počet vrcolů VL stromu loubky k. Stačí nyní ukázat, že posloupnost k roste eponenciálně. Jak bude vypadat minimální VL strom o k ladinác? S počtem ladin určitě poroste počet vrcolů, proto pro každý vrcol budeme ctít, aby se loubky jeo synů lišily. Tedy kořen v bude mít syna a loubky k 1 a syna b loubky k 2 1 Navrli je ruští matematikové G. M. děľson-veľskij a E. M. Landis, podle nicž jsou také pojmenovány
6 takové, že stromy T (a) a T (b) jsou minimální VL stromy o počtu ladin k 1 a k 2. Pro malá k dokážeme určit k ručně, pro větší k jsme právě sestrojili rekurentní vzta. 0 = 1 1 = 2 2 = 4 3 = 7. k = 1 + k 1 + k 2. Rekurentní vzorec jsme dostali rekurzivním stavěním stromu loubky k: nový kořen a 2 podstromy o loubkác k 1 a k 2. Lze poměrně snadno dokázat, že n = F n+2 1 (kde F n je n-té Fibonaccio číslo). My se však bez analýzy Fibonaccio posloupnosti obejdeme, protože nám stačí dokázat, že k rostou eponenciálně a nepotřebujeme přesný vzorec pro odnotu k. Tento fakt přenecáme čtenáři do cvičení Indukcí dokážeme, že k 2 k 2. První indukční krok jsme již ukázali. Pro k 2 platí k = 1 + k 1 + k 2 > 2 k k 2 2 = 2 k 2 ( ) = 2 k > 2 k 2. Tímto jsme dokázali, že na každé ladině je minimálně eponenciálně vrcolů, což nám zaručuje loubku O(log N). Druou nerovnost nalédneme zkoumáním B k maimálnío počtu vrcolů VL stromu loubky k. Ta je však sora omezena počtem vrcolů v dokonale vyváženém stromě, který je Θ(log N), z čeož vyplývá výsledná loubka VL stromů Θ(log N) Operace nad VL stromy Operace vyledání prvku je naprosto stejná jako Find v binárníc stromec. Důraz klademe na operace Insert a Delete, protože při nic musíme ošetřit udržení struktury VL stromů. První nutnou podmínkou je pro návr těcto operací je, že v každém vrcolu VL stromu budeme udržovat informaci o vyvážení loubky jeo podstromů. Protože definice VL stromů povoluje v rozdíly loubek pouze o 1, vystačíme s třemi symboly. Dostaneme tedy tři typy vrcolů VL stromu, pro které budeme používat následující značení: Vrcol typu, pokud je pravý podstrom lubší Vrcol typu, pokud je levý podstrom lubší a Vrcol typu (nula), který má oba podstromy sodné loubky
7 Stromové rotace V průběu algoritmů vkládání a mazání prvku bude nějak třeba průběžně udržovat vyváženost VL stromů. Dosáneme too tzv. rotacemi. Jde v zásadě o převrácení rany mezi původním otcem (kořenem podstromu) a nevyváženým vrcolem tak, aby byli i po přeskupení synové vzledem k otcům správně uspořádáni. My budeme používat dva typy rotací: jednoducou a dvojitou. Namísto slovnío popisu tentokrát čtenáře odkážeme na popis obrázkem. Jednoducá rotace je na obr. 1.3 a dvojitá na obr y y B B Obr. 1.3: Jednoducá rotace z y D y z B D B Obr. 1.4: Dvojitá rotace Vkládání do VL stromu Nový prvek vložíme jako list. Nový list má vždy znaménko nula. Předpokládáme, že patří nalevo od poslednío otce. Podíváme se na znaménko jeo otce: měl (neměl syna) teď má, po struktuře stromu naoru posíláme informaci, že se podstrom proloubil o 1, což může mít samozřejmě vliv na znaménka vrcolů na cestě ke kořeni. měl (měl pravéo syna, který je listem) teď má, loubka podstromu se nemění měl nenastane, protože v binární struktuře nemoou být dva leví synové Připadne-li přidaný list napravo, řešíme zrcadlově
8 + y 0 z 0 y 0 z 0 + Proloubil-li se strom vložením novéo listu, musíme pracovat s vyvážením: Informace o proloubení přišla zleva do vrcolu typu mění jej na vrcol se znaménkem a informace o proloubení je třeba poslat o úroveň výš. Informace o proloubení přišla zleva do vrcolu typu mění jej na vrcol se znaménkem, loubka je vyrovnána, dál nic neposíláme. Informace o proloubení přišla zleva do vrcolu s rozebereme na tři případy podle znaménka vrcolu, ze kteréo přišla informace o proloubení: Informace přišla z vrcolu typu provedeme rotaci doprava tak, že novým kořenem se stane vrcol y, ze kteréo přišla informace o proloubení. [ + 1] [] + 1 y 1 B y 0 B 1 1 Pozorování 1: znaménko vrcolů y a je Pozorování 2: loubka před vkládáním byla + 1 a nyní je také + 1, tedy nemusíme dále posílat informaci o proloubení a můžeme skončit Informace přišla z vrcolu typu uvažme ješte vrcol z jako pravéo syna vrcolu y, ze kteréo prišla informace o proloubení, a jeo podstromy B a vrcoly B a mají loubku nebo 1 označme ji tedy (to zřejmě protože vrcol y má znaménko, tedy jeo pravý podstrom s kořenem z má loubku + 1 )
9 provedeme dvojrotaci tak, že novým kořenem se stane vrcol z [ + 1] + 2 [ + 2] y + B z z 0 D y + 1 B D + 1 Pozorování 1: znaménko vrcolu z bude Pozorování 2: znaménka vrcolu a y se dopočítají v závislosti na loubce B a Pozorování 3: rozdíl loubky pravéo a levéo podstromu bude u těcto vrcolů 0 nebo 1 Pozorování 4: loubka před vkládáním byla + 2 a nyní je také + 2, tedy nemusíme dále posílat informaci o proloubení a můžeme skončit informace přišla z vrcolu typu to nemůže nastat, protože v tom případě by nešlo o proloubení Delete odebrání vrcolu z VL stromu který měl nějaké syny. Buď mažeme list nebo mažeme vrcol, pokud mažeme list, podíváme se na typ otce. Předpokládáme mazání levéo syna. byl typu (neměl pravéo syna) změní se na (vrcol teď nemá žádné syny) byl typu (měl oba syny) změní se na (mažeme-li pravý list, řešíme zrcadlově) mažeme vrcol s jedním (levým nebo pravým) synem syn nastupuje na místo otce a získává typ V obou případec posílame informaci o změně loubky stromu... mazaný vrcol měl oba syny (listy) vybereme jednoo ze synů na místo smazanéo otce. Hloubka se nemění. mazaný vrcol měl syny podstromy na jeo místo vezmeme největší prvek levéo podstromu (nebo nejmenší prvek pravéo podstromu) a od odebranéo (narazujícío) listu kontrolujeme vyvážení podstromu. Úprava vyvážení stromu po odebrání listu z podstromu
10 informace o změně loubky přišla z levéo podstromu do vrcolu typu vrcol se změní na a dál se loubka nemění informace přišla zleva do vrcolu s mění se na a posíláme informaci o změně loubky. y y 0 + problémová situace nastává, když informace o změně přišla zleva do vrcolu se znaménkem Rozebereme na tři případy podle znaménka pravéo syna nevyváženéo vrcolu pravý syn je typu provedeme rotaci vlevo, novým kořenem se stává y (pravý syn), oba vrcoly změní typ na a posíláme informaci o změně loubky. [ + 3] [ + 1] + 2 y 0 y B B + 1 pravý syn je typu provedeme opět rotaci vlevo, kořenem se stává y, následně se u y změní typ na, u vrcolu se typ nemění. Hloubka stromu se nemění, tudíž není třeba posílat informaci. [ + 3] [ + 1] + 2 y y B B pravý syn je typu v tomto případě uvažujeme ještě vrcol z jako levéo syna vrcolu y, s podstromy B a, podstromy B a
11 vičení: mají loubku nebo 1. Provedeme dvojrotaci, napřed vpravo rotujeme vrcoly z a y, potom vlevo vrcoly a z tak, že se z stane novým kořenem, typ vecolu bude potom nebo, typ y nebo (podle too, jaké znaménko měl původně vrcol z), typ z bude a opět posíláme informaci o změně loubky stromu. [ + 3] z [ + 1] y + 1 y P z Q P Q 1. Dokažte, že pro minimální velikost k VL stromu loubky k platí vzta k = F k+2 1 (kde F n je n-té Fibonaccio číslo)
Programování 3. hodina. RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015
Programování 3. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Umíme z minulé hodiny Implementace zásobníku a fronty pomocí
VíceVyvažování a rotace v BVS, všude se předpokládá AVL strom
Vyvažování a rotace v BVS, všude se předpokládá AVL strom 1. Jednoduchá levá rotace v uzlu u má operační složitost a) závislou na výšce levého podstromu uzlu u b) mezi O(1) a Θ(n) c) závislou na hloubce
VíceDatové struktury Úvod
Datové struktury Úvod Navrhněte co nejjednodušší datovou strukturu, která podporuje následující operace: 1. Insert a Delete v O(n), Search v O(log n); Datové struktury Úvod Navrhněte co nejjednodušší datovou
Více1. Vyhledávací stromy
1. Vledávací strom V minulé kapitole jsme se vdali po stopě datovýc struktur pro efektivní reprezentaci množin a slovníků. To nás nní dovede k různým variantám vledávacíc stromů. Začneme těmi binárními,
Vícebin arn ı vyhled av an ı a bst Karel Hor ak, Petr Ryˇsav y 23. bˇrezna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT
binární vyhledávání a bst Karel Horák, Petr Ryšavý 23. března 2016 Katedra počítačů, FEL, ČVUT Příklad 1 Naimplementujte binární vyhledávání. Upravte metodu BinarySearch::binarySearch. 1 Příklad 2 Mysĺım
VíceBinární vyhledávací stromy pokročilé partie
Binární vyhledávací stromy pokročilé partie KMI/ALS lekce Jan Konečný 30.9.204 Literatura Cormen Thomas H., Introduction to Algorithms, 2nd edition MIT Press, 200. ISBN 0-262-5396-8 6, 3, A Knuth Donald
Ví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íceRadek Mařík
2012-03-20 Radek Mařík 1. Pravá rotace v uzlu U a) v podstromu s kořenem U přemístí pravého syna U.R uzlu U do kořene. Přitom se uzel U stane levým synem uzlu U.R a levý podstrom uzlu U.R se stane pravým
VícePQ-stromy a rozpoznávání intervalových grafů v lineárním čase
-stromy a rozpoznávání intervalových grafů v lineárním čase ermutace s předepsanými intervaly Označme [n] množinu {1, 2,..., n}. Mějme permutaci π = π 1, π 2,..., π n množiny [n]. Řekneme, že množina S
VíceZákladní datové struktury III: Stromy, haldy
Základní datové struktury III: Stromy, haldy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní
VíceAlgoritmy a datové struktury
Algoritmy a datové struktury Stromy 1 / 32 Obsah přednášky Pole a seznamy Stromy Procházení stromů Binární stromy Procházení BS Binární vyhledávací stromy 2 / 32 Pole Hledání v poli metodou půlení intervalu
Ví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íceStromy. 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
Víceprioritu a vždy je třeba začít pracovat na úkolu, který ma v daný okamžik
1. Binární halda Uvažme následující problém ze života: jsme velmi vytíženým manažerem, kterému se plánovací diář stále plní obrovským množstvím úkolů. Každý úkol má předepsanou prioritu a vždy je třeba
VíceZáklady algoritmizace c2005, 2007 Michal Krátký, Jiří Dvorský1/39
Základy algoritmizace Michal Krátký 1, Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Základy algoritmizace, 2006/2007 Základy algoritmizace c2005, 2007 Michal Krátký, Jiří Dvorský1/39
VíceVolné 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ícea) b) c) Radek Mařík
2012-03-20 Radek Mařík 1. Čísla ze zadané posloupnosti postupně vkládejte do prázdného binárního vyhledávacího stromu (BVS), který nevyvažujte. Jak bude vypadat takto vytvořený BVS? Poté postupně odstraňte
VíceADT STROM Lukáš Foldýna
ADT STROM Lukáš Foldýna 26. 05. 2006 Stromy mají široké uplatnění jako datové struktury pro různé algoritmy. Jsou to matematické abstrakce množin, kterou v běžném životě používáme velice často. Příkladem
Vícezejmé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
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íceVýroková a predikátová logika - II
Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2017/2018 1 / 17 Předběžnosti Základní pojmy n-ární relace a funkce
VíceZpracoval: hypspave@fel.cvut.cz 7. Matematická indukce a rekurse. Řešení rekurentních (diferenčních) rovnic s konstantními koeficienty.
Zpracoval: hypspave@fel.cvut.cz 7. Matematická indukce a rekurse. Řešení rekurentních (diferenčních) rovnic s konstantními koeficienty. (A7B01MCS) I. Matematická indukce a rekurse. Indukční principy patří
VíceAVL 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
VíceBinární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620
Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620 1. Vymezení pojmů Strom: Strom je takové uspořádání prvků - vrcholů, ve kterém lze rozeznat předchůdce - rodiče a následovníky - syny.
VíceMaturitní 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
Více5 Rekurze a zásobník. Rekurzivní volání metody
5 Rekurze a zásobník Při volání metody z metody main() se do zásobníku uloží aktivační záznam obsahující - parametry - návratovou adresu, tedy adresu, kde bude program pokračovat v metodě main () po skončení
Více4 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet.
4 Stromy a les Jedním ze základních, a patrně nejjednodušším, typem grafů jsou takzvané stromy. Jedná se o souvislé grafy bez kružnic. Přes svou (zdánlivou) jednoduchost mají stromy bohatou strukturu a
VíceUkážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní. stromový rozklad. Poznamenejme, že je-li k součástí vstupu, pak rozhodnout
Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní graf má stromovou šířku nejvýše k, a je-li tomu tak, také vrátí příslušný stromový rozklad. Poznamenejme, že je-li k součástí vstupu,
Více1. Vyhledávací stromy
1. Vledávací strom V kapitole?? jsme se vdali po stopě datovýc struktur pro efektivní reprezentaci množin a slovníků. To nás nní dovede k různým variantám vledávacíc stromů. Začneme těmi binárními, ale
Více1. Binomiální haldy. 1.1. Zavedení binomiální haldy
1. Binomiální haldy V této kapitole popíšeme datovou strukturu zvanou binomiální halda. Základní funkcionalita binomiální haldy je podobná binární haldě, nicméně jí dosahuje jinými metodami a navíc podporuje
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íceAdresní vyhledávání (přímý přístup, zřetězené a otevřené rozptylování, rozptylovací funkce)
13. Metody vyhledávání. Adresní vyhledávání (přímý přístup, zřetězené a otevřené rozptylování, rozptylovací funkce). Asociativní vyhledávání (sekvenční, binárním půlením, interpolační, binární vyhledávací
Více1 Linearní prostory nad komplexními čísly
1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)
VíceNechť je číselná posloupnost. Pro všechna položme. Posloupnost nazýváme posloupnost částečných součtů řady.
Číselné řady Definice (Posloupnost částečných součtů číselné řady). Nechť je číselná posloupnost. Pro všechna položme. Posloupnost nazýváme posloupnost částečných součtů řady. Definice (Součet číselné
VíceAmortizovaná 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ě
VícePŘEDNÁŠKA 2 POSLOUPNOSTI
PŘEDNÁŠKA 2 POSLOUPNOSTI 2.1 Zobrazení 2 Definice 1. Uvažujme libovolné neprázdné množiny A, B. Zobrazení množiny A do množiny B je definováno jako množina F uspořádaných dvojic (x, y A B, kde ke každému
VíceDiferencovatelné funkce
Přednáška 5 Diferencovatelné funkce Jak jsme se zmínili v minulé přednášce, je lavní myšlenkou diferenciálnío počtu naradit danou funkci y = f) v okolí bodu a polynomem V této přednášce se budeme podrobně
VíceModely Herbrandovské interpretace
Modely Herbrandovské interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 8 1 Uvedli jsme termové interpretace a termové modely pro logické programy a také nejmenší
Vícekteré je z různých pohledů charakterizují. Několik z nich dokážeme v této kapitole.
Kapitola 7 Stromy Stromy jsou jednou z nejdůležitějších tříd grafů. O tom svědčí i množství vět, které je z různých pohledů charakterizují. Několik z nich dokážeme v této kapitole. Představíme také dvě
VíceBinární vyhledávací stromy
Binární vyhledávací stromy Definice: Binární vyhledávací strom (po domácku BVS) je buďto prázdná množina nebo kořen obsahující jednu hodnotu a mající dva podstromy (levý a pravý), což jsou opět BVS, ovšem
VícePrincipy indukce a rekurentní rovnice
Principy indukce a rekurentní rovnice Jiří Velebil: X01DML 22. října 2010: Indukce 1/15 Příklad Místností rozměru n budeme rozumět šachovnici rozměru 2 n 2 n, ze které je jedno (libovolné) pole vyjmuto.
VíceVýroková a predikátová logika - IV
Výroková a predikátová logika - IV Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IV ZS 2018/2019 1 / 17 Tablo metoda Tablo Tablo - příklady F (((p q)
VíceStromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,
Stromové rozklady Zdeněk Dvořák 25. října 2017 Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom, β je funkce přiřazující každému vrcholu T podmnožinu vrcholů v G, pro každé
Více1. Vyhledávací stromy
1. Vledávací strom V minulé kapitole jsme se vdali po stopě datovýc struktur pro efektivní reprezentaci množin a slovníků. To nás nní dovede k různým variantám vledávacíc stromů. Začneme těmi binárními,
VíceLineární algebra : Polynomy
Lineární algebra : Polynomy (2. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 15. dubna 2014, 11:21 1 2 2.1 Značení a těleso komplexních čísel Značení N := {1, 2, 3... }... množina
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íce1 Lineární prostory a podprostory
Lineární prostory a podprostory Přečtěte si: Učebnice AKLA, kapitola první, podkapitoly. až.4 včetně. Cvičení. Které z následujících množin jsou lineárními prostory s přirozenými definicemi operací?. C
VíceTěleso racionálních funkcí
Těleso racionálních funkcí Poznámka. V minulém semestru jsme libovolnému oboru integrity sestrojili podílové těleso. Pro libovolné těleso R je okruh polynomů R[x] oborem integrity, máme tedy podílové těleso
VíceLineární algebra : Násobení matic a inverzní matice
Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda frantisek.stampach@fit.cvut.cz, karel.klouda@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních
VíceKapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...
Kapitola 1 Úvod 1.1 Značení N... přirozená čísla (1, 2, 3,...). Z... celá čísla ( 3, 2, 1, 0, 1, 2,...). Q... racionální čísla ( p, kde p Z a q N) q R... reálná čísla C... komplexní čísla 1.2 Výroky -
Víceα β ) právě tehdy, když pro jednotlivé hodnoty platí β1 αn βn. Danou relaci nazýváme relace
Monotónní a Lineární Funkce 1. Relace předcházení a to Uvažujme dva vektory hodnot proměnných α = α,, 1 αn ( ) a β = ( β β ) 1,, n x,, 1 xn. Říkáme, že vekto r hodnot α předchází vektor hodnot β (značíme
VíceZáklady matematické analýzy
Základy matematické analýzy Spojitost funkce Ing. Tomáš Kalvoda, Ph.D. 1, Ing. Daniel Vašata 2 1 tomas.kalvoda@fit.cvut.cz 2 daniel.vasata@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních
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íceLineární algebra : Násobení matic a inverzní matice
Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 17. března 2014, 12:42 1 2 0.1 Násobení matic Definice 1. Buďte m, n, p N, A
VíceVyhledávací stromy. Slouží jako pomůcka pro organizaci dat umožňující efektivní vyhledávání.
Vyhledávací stromy Slouží jako pomůcka pro organizaci dat umožňující efektivní vyhledávání. Vytvářejí se vždy nad již existující datovou strukturou (zpravidla tabulkou). Vyhledávací stromy můžeme rozdělit
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íce4 Pojem grafu, ve zkratce
Petr Hliněný, FI MU Brno, 2014 1 / 24 FI: IB000: Pojem grafu 4 Pojem grafu, ve zkratce Třebaže grafy jsou jen jednou z mnoha struktur v matematice a vlastně pouze speciálním případem binárních relací,
Víceautoř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ů)
VíceStromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy
Stromy úvod Stromy Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy Neorientovaný strom Orientovaný strom Kořenový orientovaný
Více5 Orientované grafy, Toky v sítích
Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost
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íceDiskrétní matematika. DiM /01, zimní semestr 2015/2016
Diskrétní matematika Petr Kovář petr.kovar@vsb.cz Vysoká škola báňská Technická univerzita Ostrava DiM 470-2301/01, zimní semestr 2015/2016 O tomto souboru Tento soubor je zamýšlen především jako pomůcka
Více6 Lineární geometrie. 6.1 Lineární variety
6 Lineární geometrie Motivace. Pojem lineární varieta, který budeme v této kapitole studovat z nejrůznějších úhlů pohledu, není žádnou umělou konstrukcí. Příkladem lineární variety je totiž množina řešení
VíceBáze a dimenze vektorových prostorů
Báze a dimenze vektorových prostorů Buď (V, +, ) vektorový prostor nad tělesem (T, +, ). Nechť u 1, u 2,..., u n je konečná posloupnost vektorů z V. Existují-li prvky s 1, s 2,..., s n T, z nichž alespoň
Více1 Kardinální čísla. množin. Tvrzení: Necht X Cn. Pak: 1. X Cn a je to nejmenší prvek třídy X v uspořádání (Cn, ),
Pracovní text k přednášce Logika a teorie množin 4.1.2007 1 1 Kardinální čísla 2 Ukázali jsme, že ordinální čísla reprezentují typy dobrých uspořádání Základy teorie množin Z minula: 1. Věta o ordinálních
VíceFREDHOLMOVA ALTERNATIVA
FREDHOLMOVA ALTERNATIVA Pavel Jirásek 1 Abstrakt. V tomto článku se snažíme shrnout dosavadní výsledky týkající se Fredholmovy alternativy (FA). Postupně zmíníme FA na prostorech konečné dimenze, FA pro
VícePřednáška 3: Limita a spojitost
3 / 1 / 17, 1:38 Přednáška 3: Limita a spojitost Limita funkce Nejdříve je potřeba upřesnit pojmy, které přesněji popisují (topologickou) strukturu množiny reálných čísel, a to zejména pojem okolí 31 Definice
VícePredik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16
Predikátová logika - přednáška 3 6. 1. 2015 () Predikátová logika - přednáška 3 6. 1. 2015 1 / 16 Věta (o dedukci) Bud L jazyk, T teorie pro L, ϕ L-sentence a ψ L-formule. Pak Věta (o kompaktnosti) T ϕ
VíceDijkstrův algoritmus
Dijkstrův algoritmus Hledání nejkratší cesty v nezáporně hranově ohodnoceném grafu Necht je dán orientovaný graf G = (V, H) a funkce, která každé hraně h = (u, v) H přiřadí nezáporné reálné číslo označované
VíceAlgoritmizace složitost rekurzivních algoritmů. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
složitost rekurzivních algoritmů Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Vyjádřen ení složitosti rekurzivního algoritmu rekurentním m tvarem Příklad vyjádření složitosti rekurzivního algoritmu rekurencí:
VíceVrcholová barevnost grafu
Vrcholová barevnost grafu Definice: Necht G = (V, E) je obyčejný graf a k N. Zobrazení φ : V {1, 2,..., k} nazýváme k-vrcholovým obarvením grafu G. Pokud φ(u) φ(v) pro každou hranu {u, v} E, nazveme k-vrcholové
Vícekopci a tuto představu přetavit do náčrtku celé situace, viz. obr.1. Aby však tento náčrt nebyl
Určete rovnici tečny ke grafu funkce f x x x v bodě dotyku [,?] Řešení: Protože máme zadánu složenou funkci, může být docela obtížné popsat její vlastnosti či nakreslit si její graf Nicméně vlastnosti
Více9 Kolmost vektorových podprostorů
9 Kolmost vektorových podprostorů Od kolmosti dvou vektorů nyní přejdeme ke kolmosti dvou vektorových podprostorů. Budeme se zabývat otázkou, kdy jsou dva vektorové podprostory na sebe kolmé a jak to poznáme.
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íceRiemannův určitý integrál
Riemannův určitý integrál 1. Motivační příklad Příklad (Motivační příklad pro zavedení Riemannova integrálu). Nechť,. Vypočtěme obsah vybarvené oblasti ohraničené grafem funkce, osou a svislými přímkami
VíceAlgoritmizace 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á
Více7 Ortogonální a ortonormální vektory
7 Ortogonální a ortonormální vektory Ze vztahu (5) pro výpočet odchylky dvou vektorů vyplývá, že nenulové vektory u, v jsou na sebe kolmé právě tehdy, když u v =0. Tato skutečnost nám poslouží k zavedení
VíceLineární algebra : Lineární prostor
Lineární algebra : Lineární prostor (3. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 17. dubna 2014, 14:43 1 2 3.1 Aximotické zavedení lineárního prostoru Číselné těleso Celou lineární
VíceHledání v textu algoritmem Boyer Moore
Zápočtová práce z Algoritmů a Datových Struktur II (NTIN061) Hledání v textu algoritmem Boyer Moore David Pěgřímek http://davpe.net Algoritmus Boyer Moore[1] slouží k vyhledání vzoru V v zadaném textu
VícePrincipy indukce a rekursivní algoritmy
Principy indukce a rekursivní algoritmy Jiří Velebil: A7B01MCS 19. září 2011: Indukce 1/20 Příklad Místností rozměru n budeme rozumět šachovnici rozměru 2 n 2 n, ze které je jedno (libovolné) pole vyjmuto.
VíceNMAF 051, ZS Zkoušková písemná práce 16. ledna 2009
Jednotlivé kroky při výpočtech stručně, ale co nejpřesněji odůvodněte. Pokud používáte nějaké tvrzení, nezapomeňte ověřit splnění předpokladů. Jméno a příjmení: Skupina: Příklad 3 5 Celkem bodů Bodů 8
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íceMatematická analýza pro informatiky I. Limita posloupnosti (I)
Matematická analýza pro informatiky I. 3. přednáška Limita posloupnosti (I) Jan Tomeček tomecek@inf.upol.cz http://aix-slx.upol.cz/ tomecek/index Univerzita Palackého v Olomouci 25. února 2011 tomecek@inf.upol.cz
VíceV každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2
Euklidův algoritmus Doprovodný materiál pro cvičení Programování I. NPRM044 Autor: Markéta Popelová Datum: 31.10.2010 Euklidův algoritmus verze 1.0 Zadání: Určete největšího společného dělitele dvou zadaných
VíceSložitosti základních operací B + stromu
Složitosti základních operací B + stromu Radim Bača VŠB Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky ŠKOMAM 2010-1- 28/1/2010 Složitosti základních operací B +
VíceTOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA.
TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA. PAVEL RŮŽIČKA 4.1. (Kvazi)kompaktnost a sub-báze. Buď (Q, ) uspořádaná množina. Řetězcem v Q budeme rozumět lineárně
VíceSTACK
Níže uvedené úlohy představují přehled otázek, které se vyskytly v tomto nebo v minulých semestrech ve cvičení nebo v minulých semestrech u zkoušky. Mezi otázkami semestrovými a zkouškovými není žádný
VíceBINARY SEARCH TREE
Níže uvedené úlohy představují přehled otázek, které se vyskytly v tomto nebo v minulých semestrech ve cvičení nebo v minulých semestrech u zkoušky. Mezi otázkami semestrovými a zkouškovými není žádný
VíceBezkontextové jazyky. Bezkontextové jazyky 1 p.1/39
Bezkontextové jazyky Bezkontextové jazyky 1 p.1/39 Jazyky typu 2 Definice 4.1 Gramatika G = (N, Σ, P, S) si nazývá bezkontextovou gramatikou, jestliže všechna pravidla z P mají tvar A α, A N, α (N Σ) Lemma
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íceLimita a spojitost funkce a zobrazení jedné reálné proměnné
Přednáška 4 Limita a spojitost funkce a zobrazení jedné reálné proměnné V několika následujících přednáškách budeme studovat zobrazení jedné reálné proměnné f : X Y, kde X R a Y R k. Protože pro každé
VíceKonstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,
[161014-1204 ] 11 2.1.35 Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i, kde i = 0, 1,..., takto: p 0 q právě tehdy, když bud p, q F nebo p, q F. Dokud i+1 i konstruujeme p
VíceMatematická logika. Rostislav Horčík. horcik
Matematická logika Rostislav Horčík horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 1 / 15 Splnitelnost množin Definice Množina
VíceMatematická logika. Miroslav Kolařík
Matematická logika přednáška třetí Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika
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íceVýroková a predikátová logika - II
Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2015/2016 1 / 18 Základní syntax Jazyk Výroková logika je logikou
VíceVlastnosti regulárních jazyků
Vlastnosti regulárních jazyků Podobně jako u dalších tříd jazyků budeme nyní zkoumat následující vlastnosti regulárních jazyků: vlastnosti strukturální, vlastnosti uzávěrové a rozhodnutelné problémy pro
VíceDefinice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují
Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),
Více3. Prohledávání grafů
3. Prohledávání grafů Prohledání do šířky Breadth-First Search BFS Jde o grafový algoritmus, který postupně prochází všechny vrcholy v dané komponentě souvislosti. Algoritmus nejprve projde všechny sousedy
VíceNumerická matematika 1
Numerická matematika 1 Obsah 1 Řešení nelineárních rovnic 3 1.1 Metoda půlení intervalu....................... 3 1.2 Metoda jednoduché iterace..................... 4 1.3 Newtonova metoda..........................
Více