STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

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

Download "STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta"

Transkript

1 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 3. vlož do fronty pravého následníka Prohledavani do hloubky (pre-order) De dohloubky kam az to de a pak se vraci vlož kořen na zásobník dokud není zásobník prázdný, opakuj vyber uzel z vrcholu zásobníku a zpracuj jej vlož na zásobník pravého potomka vlož na zásobník levého potomka Post-order Bere nejdriv levy a obe vetve a az pak rodice vlož kořen na zásobník dokud není zásobník prázdný, opakuj vyber uzel z vrcholu zásobníku pokud je neoznačkovaný o označkuj jej a ulož jej zpět na zásobník o ulož na zásobník pravého potomka o ulož na zásobník levého potomka pokud je označkovaný o zpracuj jej In-order Po vertikalnich carach zleva vlož kořen na zásobník dokud není zásobník prázdný, opakuj v := uzel na vrcholu zásobníku dokud má v nezpracovaného levého potomka, opakuj o vlož levého potomka uzlu v na zásobník o v := uzel na vrcholu zásobníku opakuj o vyber uzel z vrcholu zásobníku a zpracuj jej dokud vybraný uzel nemá pravého potomka a zásobník není prázdný má-li vybraný uzel pravého potomka, vlož tohoto potomka na zásobník

2 Vlozeni prvku do AVL stromu Vložíme uzel jako v BVS Aktualizujeme koeficienty vyváženosti Provedeme vyvážení pomocí cyklických záměn ukazatelů levá nebo pravá rotace: novým kořenem se stává kořen vyššího podstromu maximálně dvě (protisměrné) rotace na jedno vložení Vkládání do prioritního stromu Vložíme nový uzel na nejbližší volnou pozici tak, aby strom zůstal zleva úplný Dokud má vkládaný uzel větší prioritu, než jeho rodič, vyměníme je o probubláváme s uzlem směrem nahoru na správné místo Maximální počet výměn je h = log2n Vybírání z prioritního stromu Vždy vybíráme kořen o protože má nejvyšší prioritu Na jeho místo vložíme nejpravější list (L) maximální výšky o kvůli zachování levé kompletnosti stromu Dokud má L nižší prioritu než některý z jeho potomků, vyměníme jej s potomkem vyšší priority o probubláváme s uzlem směrem dolů Maximální počet výměn je h = log2n KLASICKE GRAFY Obecny algoritmus prohledavani Vstup: Souvislý graf G Výstup: Posloupnost všech uzlů grafu G Inicializace: Libovolný uzel označkuj a vlož do D Dokud je D neprázdné, opakuj Vyber uzel, který je na řadě Zpracuj / vypiš jej Všechny jeho neoznačkované následovníky označkuj a vlož do D D = fronta / zásobník podle způsobu prohledávání Díky značkování zpracujeme každý uzel právě jednou

3 Počet koster obecného artikulacemi rozdělíme graf na části, které vždy obsahují všechny hrany mezi danými uzly jsou buď stromy, cykly nebo úplné grafy určíme počty koster jednotlivých podgrafů vynásobíme počty koster mezi sebou MINIMALNI KOSTRY Jarníkův-Primův-Dijkstrův algoritmus Vyber libovolný uzel Dokud existují nevybrané uzly Vyber nejkratší hranu spojující některý vybraný uzel s nevybraným Přidej vybranou hranu a nevybraný incidentní uzel Kruskalův hladový algoritmus Množinu hran seřadíme vzestupně podle hranového ohodnocení Postupně budujeme nový graf začínáme pouze s uzly (tj. diskrétní faktor ) přidáváme hrany dle pořadí délek pokud by přidáním hrany vznikla kružnice, hranu nepřidáváme spojujeme tedy jen uzly ležící v různých komponentách pokusíme se přidat všechny hrany Borůvkův-Sollinův algoritmus Je dán souvislý graf G = (U, H) s hranami různé délky T := Dokud (U, T) není souvislý graf, opakuj: E := Pro všechny komponenty (U, T) Do E přidej nejkratší hranu spojující uzel dané komonenty s uzlem mimo komponentu T := T E (U, T) je minimální kostra grafu G

4 Hledani mostu Vstup: Souvislý graf G Výstup: Seznam mostů v grafu G Inicializace: Nastav H := G Opakuj dokud U H > 1 buduj DFS-cestu tak dlouho, dokud nedosáhne dokončeného vrcholu t jestliže stupeň t je roven 1 označ hranu incidentní s t jako most H := H t jinak (uzel t a všichni jeho sousedé leží na cyklu C) Proveď kontrakci cyklu C Terryho algoritmus (cesta z bludiste) Založen na značkování dveří podle následujících pravidel: vstoupíš-li do místnosti, kde žádné dveře nejsou označeny, označkuj vstupní dveře IN jsi-li v místnosti s alespoň jedněmi neoznačkovanými dveřmi, vyber si libovolné, označ je OUT a projdi chodbou za nimi do následující místnosti jsi-li v místnosti, kde jsou všechny dveře označeny, vstup do dveří označených IN vstoupíš-li do místnosti, kde jsou všechny dveře označeny OUT, z bludiště není východ NEJKRATSI CESTA Moorův algoritmus Prohledávání grafu do šířky Každý uzel má značku (p,d), kde d je délka cesty (počet hran) a p je předcházející uzel Počáteční uzel s dostane značku (-,0), ostatní (-,nekonecno). V0 = {s}, k=0 Pro kazde i z Vk uděláme každého neoznačkovaného následníka uzlu i označkujeme (i, k+1) a vložíme jej do množiny Vk+1 Zvýšíme k o 1 a pokud Vk není prazdna mnozina, opakujeme Výsledkem je distanční rozklad množiny uzlů Dijkstrův algoritmus Každý uzel má značku (p,d), kde d je délka cesty (součet délek hran) a p je předcházející uzel Značky jsou trvalé (množina S) a netrvalé (množ. Š) Počáteční uzel s dostane trvalou značku (-,0), jeho následníci (s, d), ostatní (-,nekonecno). S = {s}, Š=U-S Dokud Š není prazdna mnozina V množině Š vybereme uzel k s nejmenší vzdáleností od množiny S Přesuneme jej do S Prověříme značky všech následníků uzlu k z množiny Š a v případě potřeby je aktualizujeme

5 Bellman-Fordův algoritmus Každý uzel dostává značku (a, p, d), kde a je počet hran nejkratší cesty, d její délka a p předposlední uzel Počátek s dostane značku (0, -, 0), ostatní uzly (0, - Dokud je k< U Pro každý uzel j, kde a=k Prověříme značky všech následníků i uzlu j a v případě potřeby je aktualizujeme di = dj + dij pj = i aj = ai+1 Zvýšíme k o 1 Floyd-Warshallův algoritmus Graf zadaný maticí sousednosti (D(0)) obsahující délky hran nebo nekonecno; na diagonále nuly Výstupem je matice, z níž lze zjistit nejkratší cesty mezi všemi uzly Konstruujeme posloupnost matic D(1), D(2), D(n) tak, že Každý prvek matice obsahuje délku nejkratší cesty z i do j, obsahující vnitřní uzly 1..k Pro všechna k = 1.. U konstruujeme k-tou matici z k-1-ní po řádcích, k-tý řádek se nemění Cestu z i do j pak rekonstruujeme rekurzivně, hledajíce postupně taková l, kde dij=dil+dlj Záporné číslo na diagonále znamená existenci záporného cyklu Algoritmus hledání uzavřeného eulerovského tahu Vstup: Souvislý graf G s uzly jen sudého stupně Inicializace vyber libovolný uzel a najdi kružnici T, která jím prochází Iterace: dokud existují hrany nepoužité v tahu T najdi libovolný uzel u ležící v T obsahující nepoužité hrany vytvoř kružnici D z nepoužitých hran obsahující uzel u lze využít modifikovaný algoritmus prohledávání do hloubky přidej k T odbočku D

6 OBCHODNI CESTUJICI Hladová strategie nejbližšího souseda z každého města se vydáme tam, kam to máme nejblíže velmi rychlý algoritmus mnohdy poskytující velmi špatná řešení Algoritmus zdvojení stromu Vstup: úplný graf G s hranovým ohodnocením splňujícím trojúhelníkovou nerovnost Výstup: HC maximálně 2x delší,než nejkratší Příprava Najdi minimální kostru T grafu G Zdvoj každou hranu a sestroj eulerovský tah E kostrou T Konstrukce HC H začni v libovolném uzlu sleduj tah E a přidávej navštívené uzly do H, dokud následující hrana nevede do již navštíveného uzlu najdi nejbližší nenavštívený uzel na E a přidej jej do H tím vyrobíme zkratku obcházející již navštívené uzly opakuj poslední dva kroky, dokud nedosáhneš počátečního uzlu Algoritmus párování ve stromu Vstup: úplný graf G s hranovým ohodnocením splňujícím trojúhelníkovou nerovnost Výstup: HC maximálně 1,5x delší,než nejkratší Najdi minimální kostru T grafu G Nechť O je množina uzlů lichého stupně v kostře T Najdi minimální perfektní párování M v O Najdi eulerovský tah v grafu E Najdi hamiltonovskou kružnici stejně jako v algoritmu zdvojení stromu (pomocí zkratek)

7 MAXIMALNI TOK V SITI Fordův-Fulkersonův algoritmus U každé hrany udržujeme dvojici (tok, kapacita) Nalezneme rezervní polocestu ze zdroje do stoku Identifikujeme nejmenší rezervu d hrany na této cestě to je rezerva polocesty Na hranách ve směru cesty zvýšíme tok o d Na hranách proti směru cesty snížíme tok o d Opakujeme tak dlouho, dokud existuje rezervní cesta Edmonds-Karpův algoritmus Inicializace nastav tok ve všech hranách na nulu Iterace Najdi nejkratší rezervní cestu Moorovým algoritmem Každý uzel dostane značku (p,+-,d, s) p = předchůdce + = hrana je ve směru cesty (následník) = hrana je proti směru cesty (předchůdce) d = vzdálenost od zdroje s = rezerva cesty Při zpracování uzlu i dostane každý neoznačkovaný následník j značku (i,+,di+1,min(s,cij-fij)) předchůdce j značku (i,-,di+1,min(s,fij)) Zvyš/sniž tok všech hran rezervní cesty o její rezervu Opakuj, dokud existuje rezervní cesta Dinicův algoritmus Začneme s libovolným tokem f (např. prázdným) Dokud to jde, zlepšujeme tok opakováním: Vytvoříme rezervní síť uzly jsou tytéž, kapacity hran jsou dány rezervami Najdeme nejkratší s-t cestu pomocí prohledávání do šířky => distanční rozklad uzlů => vrstvy Pročistíme síť odstraníme hrany spojující uzly ve stejné vrstvě odstraníme hrany vedoucí zpět Najdeme blokující tok fb v pročištěné síti alespoň jedna hrana se nasytí zlepšíme původní tok f podle fb

8 Goldbergův algoritmus I. U každého uzlu udržujeme jeho výšku Ke každé hraně přidáme protisměrnou hranu s nulovou kapacitou Vždy platí, že f(u,v) = -f(v,u) Vlna splňuje kapacitní omezení hran, nemusí splňovat zákon zachování toku v uzlech jsou povoleny přebytky uzel s přebytkem je aktivní Dvě operace zvednutí uzlu = zvýšení výšky tak, aby byl o 1 výš než nejnižší z následníků na rezervních hranách protlačení vlny = zvýšení toku hrany o minimum z rezervní kapacity a přebytku počátku postup: Nastav v(s) = U, výšku ostatních uzlů na 0 Nasyť všechny hrany vedoucí ze zdroje koncové uzly se stávají aktivními přidej je do fronty Dokud není fronta aktivních uzlů prázdná odeber uzel z fronty existuje-li nižší následník na rezervní hraně, protlač vlnu po této hraně jinak zvedni uzel je-li uzel stále aktivní, přidej jej na konec fronty HLEDANI PAROVANI Algoritmus hledání maximálního párování pomocí střídavých cest najdeme zlepšující cestu C začínající ve volném vrcholu z A a končící ve volném vrcholu z B opakujeme dokud existuje zlepšující cesta Algoritmus hledání zlepšující cesty Iterace: Dokud jsou v S neoznačené uzly, opakuj neobsažené v párování je-li y nepokrytý, našli jsme zlepšující cestu tuto cestu zrekonstruujeme pomocí značek u každého uzlu přidej y do T, zaznamenej k němu x označ uzel x Nejsou-li v S S) minimální uzlové pokrytí

9 Největší párování pomocí toku Předpokládejme bipartitní graf G = ((A,B),H) orientace hran je vždy z uzlu ležícího v A do uzlu ležícího v B Graf G rozšíříme na síť přidáním nových uzlů s a t pro každé u z A přidáme hranu (s,u) o kapacitě 1 pro každé v z B přidáme hranu (v,t) o kapacitě 1 pro každou hranu h z H nastavíme c(h)=l kde L je libovolné velké číslo najdeme maximální tok z s do t tok jednoznačně určuje maximální párování BARVENI GRAFU Sekvenční barvení grafu Položme K=0 počet dosud použitých barev Dokud existuje neobarvený uzel Vybereme neobarvený uzel Určíme nejnižší přirozené číslo b, které může být obarvením uzlu a obarvíme jej Je-li b>k, aktualizujeme K pravidla pro výběr uzlu Náhodně Nerostoucí posloupnost podle velikosti stupňů nejdříve barvíme uzly s nejvyšším stupněm nakonec barvíme uzly s nejnižším stupněm Pro každý uzel určíme počet barev, které již byly použity k obarvení jeho sousedů vybereme uzel s nejvyšší hodnotou v případě rovnosti volíme ten, který má více neobarvených sousedů Smyslem je zbavit se nejprve nejobtížnějších uzlů Barvení grafu pomocí nezávislých množin Množina uzlů A se nazývá nezávislá právě tehdy, když neexistuje hrana, která by spojovala dva uzly ležící v množině A Pro dané obarvení grafu je každá barevná třída nezávislá Algoritmus barvení grafu zvolíme neobarvený uzel u (podobně jako u sekvenčního barvení) určíme největší nezávislou množinu N(u) uzlů obsahující u obarvíme uzly z množiny N(u) novou barvou opakujeme tak dlouho, dokud existují neobarvené uzly

10 Barvení grafu slepováním uzlů Dokud graf není úplný vyber dva nesousední uzly u a v vybrané uzly nahraď jedním, který bude sousedit se všemi, s nimiž sousedily uzly u a v Obarvi každý uzel úplného grafu jinou barvou Uzly znovu rozděl Nedokonalé barvení v hranově ohodnoceném grafu Problém: Sestavování rozvrhu hodin uzly = předměty hrany = požadavky na umístění v různou hodinu ohodnocení hran = vážnost požadavku stejný vyučující počet studentů registrujících stejný předmět obarvení = umístění do časových slotů H(G) Kolize = hrana spojující uzly obarvené stejnou barvou Hledáme obarvení grafu s nejmenším součtem kolizí Algoritmy založené na sekvenčním barvení grafu nejprve se zbavujeme uzlů spojených hranami s nejvyšší váhou

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest Obsah prezentace Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest 1 Základní pojmy Vrchol grafu: {množina V} Je to styčná vazba v grafu, nazývá se též uzlem, prvkem

Více

07 Základní pojmy teorie grafů

07 Základní pojmy teorie grafů 07 Základní pojmy teorie grafů (definice grafu, vlastnosti grafu, charakteristiky uzlů, ohodnocené grafy) Definice grafu množina objektů, mezi kterými existují určité vazby spojující tyto objekty. Uspořádaná

Více

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

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

Více

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být

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

Úvod do teorie grafů

Úvod do teorie grafů Úvod do teorie grafů Neorientovaný graf G = (V,E,I) V množina uzlů (vrcholů) - vertices E množina hran - edges I incidence incidence je zobrazení, buď: funkce: I: E V x V relace: I E V V incidence přiřadí

Více

5 Rekurze a zásobník. Rekurzivní volání metody

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í

Více

Vzdálenost uzlů v neorientovaném grafu

Vzdálenost uzlů v neorientovaném grafu Vzdálenosti a grafy Vzdálenost uzlů v neorientovaném grafu Je dán neorientovaný neohodnocený graf G = (V,E,I) vzdálenost uzlů u a v v neorientovaném souvislém grafu G je délka nejkratší cesty spojující

Více

Teoretická informatika Tomáš Foltýnek Barvení grafů Platónská tělesa

Teoretická informatika Tomáš Foltýnek Barvení grafů Platónská tělesa Tomáš Foltýnek foltynek@pef.mendelu.cz Barvení grafů Platónská tělesa strana 2 Opakování z minulé přednášky Co je to prohledávání grafu? Jaké způsoby prohledávání grafu známe? Jak nalézt východ z bludiště?

Více

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být

Více

Kapitola 11. Vzdálenost v grafech. 11.1 Matice sousednosti a počty sledů

Kapitola 11. Vzdálenost v grafech. 11.1 Matice sousednosti a počty sledů Kapitola 11 Vzdálenost v grafech V každém grafu lze přirozeným způsobem definovat vzdálenost libovolné dvojice vrcholů. Hlavním výsledkem této kapitoly je překvapivé tvrzení, podle kterého lze vzdálenosti

Více

TGH05 - aplikace DFS, průchod do šířky

TGH05 - aplikace DFS, průchod do šířky TGH05 - aplikace DFS, průchod do šířky Jan Březina Technical University of Liberec 31. března 2015 Grafová formulace CPM (critical path method) Orientovaný acyklický graf (DAG) je orientovaný graf neobsahující

Více

TGH05 - aplikace DFS, průchod do šířky

TGH05 - aplikace DFS, průchod do šířky TGH05 - aplikace DFS, průchod do šířky Jan Březina Technical University of Liberec 28. března 2017 Grafová formulace CPM (critical path method) Orientovaný acyklický graf (DAG) je orientovaný graf neobsahující

Více

GRAFY A GRAFOVÉ ALGORITMY

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É

Více

Algoritmy a datové struktury

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

bfs, dfs, fronta, zásobník, prioritní fronta, halda

bfs, dfs, fronta, zásobník, prioritní fronta, halda bfs, dfs, fronta, zásobník, prioritní fronta, halda Petr Ryšavý 20. září 2016 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší

Více

Jarníkův algoritmus. Obsah. Popis

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

Více

Drsná matematika III 10. demonstrovaná cvičení Kostry grafů

Drsná matematika III 10. demonstrovaná cvičení Kostry grafů Drsná matematika III 10. demonstrovaná cvičení Kostry grafů Martin Panák Masarykova univerzita Fakulta informatiky 21.11. 2006 1 Domácí úlohy z minulého týdne Příklad 1 Příklad 2 Příklad 3 2 Borůvkův algoritmus

Více

bfs, dfs, fronta, zásobník, prioritní fronta, halda

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ší

Více

Algoritmizace prostorových úloh

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 Grafové úlohy Daniela Szturcová Tento

Více

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

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

Teorie grafů a diskrétní optimalizace 1

Teorie grafů a diskrétní optimalizace 1 KMA/TGD1 Teorie grafů a diskrétní optimalizace 1 Pracovní texty přednášek Obsahem předmětu KMA/TGD1 jsou základy algoritmické teorie grafů a výpočetní složitosti Kapitoly 1 5 rozšiřují a prohlubují předchozí

Více

Prohledávání do šířky = algoritmus vlny

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é

Více

Kostry. 9. týden. Grafy. Marie Demlová (úpravy Matěj Dostál) 16. dubna 2019

Kostry. 9. týden. Grafy. Marie Demlová (úpravy Matěj Dostál) 16. dubna 2019 Grafy 16. dubna 2019 Tvrzení. Je dán graf G, pak následující je ekvivalentní. 1 G je strom. 2 Graf G nemá kružnice a přidáme-li ke grafu libovolnou hranu, uzavřeme přesně jednu kružnici. 3 Graf G je souvislý

Více

Algoritmizace I. Ak. rok 2015/2016 vbp 1. ze 132

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í

Více

Metody síťové analýzy

Metody síťové analýzy Metody síťové analýzy Řeší problematiku složitých systémů, zejména pak vazby mezi jejich jednotlivými prvky. Vychází z teorie grafů. Základní metody síťové analýzy: CPM (Critical Path Method) deterministický

Více

řádově různě rostoucí rostou řádově stejně rychle dvě funkce faktor izomorfismus neorientovaných grafů souvislý graf souvislost komponenta

řádově různě rostoucí rostou řádově stejně rychle dvě funkce faktor izomorfismus neorientovaných grafů souvislý graf souvislost komponenta 1) Uveďte alespoň dvě řádově různě rostoucí funkce f(n) takové, že n 2 = O(f(n)) a f(n) = O(n 3 ). 2) Platí-li f(n)=o(g 1 (n)) a f(n)=o(g 2 (n)), znamená to, že g 1 (n) a g 2 (n) rostou řádově stejně rychle

Více

Binární vyhledávací stromy II

Binární vyhledávací stromy II Binární vyhledávací stromy II doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 19. března 2019 Jiří Dvorský (VŠB TUO) Binární vyhledávací

Více

12. Aproximační algoritmy

12. Aproximační algoritmy 12. Aproximační algoritmy (F.Haško,J.enda,.areš, ichal Kozák, Vojta Tůma) Na minulých přednáškách jsme se zabývali různými těžkými rozhodovacími problémy. Tato se zabývá postupy, jak se v praxi vypořádat

Více

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2. 1 3 4 5 6 7 8 9 10 11 1 13 14 15 16 17 18 19 0 1 3 4 5 6 7 8 9 30 31 3 Zdůvodněte, proč funkce f(n) = n log(n) 1 n 1/ roste rychleji než funkce g(n) = n. Zdůvodněte, proč funkce f(n) = n 3/ log(n) roste

Více

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615)

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á

Více

Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C

Ř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

Více

Základy informatiky. 07 Teorie grafů. Kačmařík/Szturcová/Děrgel/Rapant

Základy informatiky. 07 Teorie grafů. Kačmařík/Szturcová/Děrgel/Rapant Základy informatiky 07 Teorie grafů Kačmařík/Szturcová/Děrgel/Rapant Obsah přednášky barvení mapy teorie grafů definice uzly a hrany typy grafů cesty, cykly, souvislost grafů Barvení mapy Kolik barev je

Více

TOKY V SÍTÍCH II. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

TOKY V SÍTÍCH II. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze TOKY V SÍTÍCH II Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 010/011, Lekce 10 Evropský sociální fond Praha & EU: Investujeme do vaší

Více

5 Orientované grafy, Toky v sítích

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

Hledáme efektivní řešení úloh na grafu

Hledáme efektivní řešení úloh na grafu Hledáme efektivní řešení úloh na grafu Mějme dán graf následující úlohy: G = ( V, E), chceme algoritmicky vyřešit Je daný vrchol t dosažitelný z vrcholu s? Pokud ano, jaká nejkratší cesta tyto vrcholy

Více

Použití dalších heuristik

Použití dalších heuristik Použití dalších heuristik zkracování cesty při FIND-SET UNION podle hodností Datové struktury... p[x] - předchůdce uzlu x MAKE-SET(x) p[x] := x hod[x] := 0 hod[x] - hodnost (aprox. výšky) UNION(x,y) LINK(FIND-SET(x),

Více

Algoritmy na ohodnoceném grafu

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

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Algoritmus pro hledání nejkratší cesty orientovaným grafem 1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval

Více

Teorie grafů. Kostra grafu. Obsah. Radim Farana Podklady pro výuku pro akademický rok 2013/2014

Teorie grafů. Kostra grafu. Obsah. Radim Farana Podklady pro výuku pro akademický rok 2013/2014 Teorie grafů Radim Farana Podklady pro výuku pro akademický rok 013/014 Obsah Kostra grafu. Tahy,. Úloha čínského pošťáka. Zdroj: Vítečková, M., Přidal, P. & Koudela, T. Výukový modul k předmětu Systémová

Více

4EK311 Operační výzkum. 5. Teorie grafů

4EK311 Operační výzkum. 5. Teorie grafů 4EK311 Operační výzkum 5. Teorie grafů 5. Teorie grafů definice grafu Graf G = uspořádaná dvojice (V, E), kde V označuje množinu n uzlů u 1, u 2,, u n (u i, i = 1, 2,, n) a E označuje množinu hran h ij,

Více

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

Dijkstrův algoritmus

Dijkstrů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íce

PLANARITA A TOKY V SÍTÍCH

PLANARITA A TOKY V SÍTÍCH PLANARITA A TOKY V SÍTÍCH Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 9 Evropský sociální fond Praha & EU: Investujeme

Více

TGH10 - Maximální toky

TGH10 - Maximální toky TGH10 - Maximální toky Jan Březina Technical University of Liberec 23. dubna 2013 - motivace Elektrická sít : Elektrická sít, jednotlivé vodiče mají různou kapacitu (max. proud). Jaký maximální proud může

Více

1. Minimální kostry. 1.1. Od mìsteèka ke kostøe

1. Minimální kostry. 1.1. Od mìsteèka ke kostøe . Minimální kostry Napadl sníh a přikryl peřinou celé městečko. Po ulicích lze sotva projít pěšky, natož projet autem. Které ulice prohrneme, aby šlo dojet odkudkoliv kamkoliv, a přitom nám házení sněhu

Více

TGH09 - Barvení grafů

TGH09 - Barvení grafů TGH09 - Barvení grafů Jan Březina Technical University of Liberec 15. dubna 2013 Problém: Najít obarvení států na mapě tak, aby žádné sousední státy neměli stejnou barvu. Motivační problém Problém: Najít

Více

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT PEF ČZU Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT Okruhy SZB č. 5 Zdroje: Demel, J., Operační výzkum Jablonský J., Operační výzkum Šubrt, T., Langrová, P., Projektové řízení I. a různá internetová

Více

Problém obchodního cestujícího(tsp) Vstup: Množina n měst a vzdálenosti mezi nimi. Výstup: Nejkratší okružní cesta procházející všemi městy.

Problém obchodního cestujícího(tsp) Vstup: Množina n měst a vzdálenosti mezi nimi. Výstup: Nejkratší okružní cesta procházející všemi městy. Problém obchodního cestujícího(tsp) Vstup: Množina n měst a vzdálenosti mezi nimi. Výstup: Nejkratší okružní cesta procházející všemi městy. Poznámka:Slovem okružní myslíme,žecestakončívestejném městě,

Více

Teorie grafů BR Solutions - Orličky Píta (Orličky 2010) Teorie grafů / 66

Teorie grafů BR Solutions - Orličky Píta (Orličky 2010) Teorie grafů / 66 Teorie grafů Petr Hanuš (Píta) BR Solutions - Orličky 2010 23.2. 27.2.2010 Píta (Orličky 2010) Teorie grafů 23.2. 27.2.2010 1 / 66 Pojem grafu Graf je abstraktní pojem matematiky a informatiky užitečný

Více

TGH08 - Optimální kostry

TGH08 - Optimální kostry TGH08 - Optimální kostry Jan Březina Technical University of Liberec 14. dubna 2015 Problém profesora Borůvky řešil elektrifikaci Moravy Jak propojit N obcí vedením s minimální celkovou délkou. Vedení

Více

Často potřebujeme hledat mezi dvěma vrcholy grafu cestu, která je v nějakém

Často potřebujeme hledat mezi dvěma vrcholy grafu cestu, která je v nějakém 1. Nejkrat¹í cesty Často potřebujeme hledat mezi dvěma vrcholy grafu cestu, která je v nějakém smyslu optimální typicky nejkratší možná. Už víme, že prohledávání do šířky najde cestu s nejmenším počtem

Více

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová Základy informatiky Teorie grafů Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová Obsah přednášky Barvení mapy Teorie grafů Definice Uzly a hrany Typy grafů Cesty, cykly, souvislost grafů Barvení mapy

Více

Maticové operace projekt č. 3

Maticové operace projekt č. 3 Dokumentace k projektu pro předměty IZP a IUS Maticové operace projekt č. 3 9.12.2007 Autor: Václav Uhlíř, xuhlir04@stud.fit.vutbr.cz Fakulta Informačních Technologii Vysoké Učení Technické v Brně Obsah

Více

Matice sousednosti NG

Matice sousednosti NG Matice sousednosti NG V = [ v ij ] celočíselná čtvercová matice řádu U v ij = ρ -1 ( [u i, u j ] )... tedy počet hran mezi u i a u j?jaké vlastnosti má matice sousednosti?? Smyčky, rovnoběžné hrany? V

Více

Stromy, haldy, prioritní fronty

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

Více

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE. Optimalizace trasy při revizích elektrospotřebičů

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE. Optimalizace trasy při revizích elektrospotřebičů VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY Hlavní specializace: Ekonometrie a operační výzkum Název diplomové práce Optimalizace trasy při revizích elektrospotřebičů Diplomant: Vedoucí

Více

Radek Mařík

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

TEORIE GRAFŮ TEORIE GRAFŮ 1

TEORIE GRAFŮ TEORIE GRAFŮ 1 TEORIE GRAFŮ 1 TEORIE GRAFŮ Přednášející: RNDr. Jiří Taufer, CSc. Fakulta dopravní ČVUT v Praze, letní semestr 1998/99 Zpracoval: Radim Perkner, tamtéž, v květnu 1999 ZÁKLADNÍ POJMY Říkáme, že je dán prostý

Více

autoři: Rudolf Bayer, Ed McCreight všechny vnější uzly (listy) mají stejnou hloubku ADS (abstraktní datové struktury)

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ů)

Více

ALG 04. Zásobník Fronta Operace Enqueue, Dequeue, Front, Empty... Cyklická implementace fronty. Průchod stromem do šířky

ALG 04. Zásobník Fronta Operace Enqueue, Dequeue, Front, Empty... Cyklická implementace fronty. Průchod stromem do šířky LG 04 Zásobník Fronta Operace nqueue, equeue, Front, mpty... yklická implementace fronty Průchod stromem do šířky Grafy průchod grafem do šířky průchod grafem do hloubky Ořezávání a heuristiky 1 Zásobník

Více

Jak pracovat s absolutními hodnotami

Jak pracovat s absolutními hodnotami Jak pracovat s absolutními hodnotami Petr Matyáš 1 Co to je absolutní hodnota Absolutní hodnota čísla a, dále ji budeme označovat výrazem a, je jeho vzdálenost od nuly na ose x, tedy je to vždy číslo kladné.

Více

TGH06 - Hledání nejkratší cesty

TGH06 - Hledání nejkratší cesty TGH06 - Hledání nejkratší cesty Jan Březina Technical University of Liberec 26. března 2013 Motivační problémy Silniční sít reprezentovaná grafem. Najdi nejkratší/nejrychlejší cestu z místa A do místa

Více

matice([[1,1,0,0,0],[1,1,1,0,0],[0,1,1,0,0],[0,0,0,1,1],[0,0,0,1,1]],1). matice([[1,1,1],[1,1,0],[1,0,1]],2).

matice([[1,1,0,0,0],[1,1,1,0,0],[0,1,1,0,0],[0,0,0,1,1],[0,0,0,1,1]],1). matice([[1,1,1],[1,1,0],[1,0,1]],2). % Zápočtový program % souvislost grafu % popis algoritmu a postupu % Program využívá algoritmu na násobení matic sousednosti A. % Příslušná mocnina n matice A určuje z kterých do kterých % vrcholů se lze

Více

prohled av an ı graf u Karel Hor ak, Petr Ryˇsav y 16. bˇrezna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT

prohled av an ı graf u Karel Hor ak, Petr Ryˇsav y 16. bˇrezna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT prohledávání grafů Karel Horák, Petr Ryšavý 16. března 2016 Katedra počítačů, FEL, ČVUT Příklad 1 Nad frontou (queue) byly provedeny následující operace: push(1) push(2) print(poll()) print(peek()) print(peek())

Více

3. Prohledávání grafů

3. 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íce

TVORBA VÝROBNÍ DOKUMENTACE CV

TVORBA VÝROBNÍ DOKUMENTACE CV Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní TVORBA VÝROBNÍ DOKUMENTACE CV Návody do cvičení předmětu Výrobní dokumentace v systému CAD Dr. Ing. Jaroslav Melecký Ostrava 2011 Tyto studijní

Více

Základy umělé inteligence

Základy umělé inteligence Základy umělé inteligence Automatické řešení úloh Základy umělé inteligence - prohledávání. Vlasta Radová, ZČU, katedra kybernetiky 1 Formalizace úlohy UI chápe řešení úloh jako proces hledání řešení v

Více

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

Více

Pokud nebude na příkazové řádce uveden právě jeden argument, vypište chybové hlášení a stručný

Pokud nebude na příkazové řádce uveden právě jeden argument, vypište chybové hlášení a stručný KIV/PC ZS 2015/2016 Zadání ZADÁNÍ SEMESTRÁLNÍ PRÁCE ŘEŠENÍ KOLIZÍ FREKVENCÍ SÍTĚ VYSÍLAČŮ VARIANTA 2 (REx) Naprogramujte v ANSI C přenositelnou 1 konzolovou aplikaci, která jako vstup načte z parametru

Více

Přehled učiva matematiky 7. ročník ZŠ

Přehled učiva matematiky 7. ročník ZŠ Přehled učiva matematiky 7. ročník ZŠ I. ARITMETIKA 1. Zlomky a racionální čísla Jestliže rozdělíme něco (= celek) na několik stejných dílů, nazývá se každá část celku zlomkem. Zlomek tři čtvrtiny = tři

Více

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta. 6 RNDr., Ph.D. Katedra didaktiky matematiky Univerzita Karlova v Praze Matematicko-fyzikální fakulta petra.surynkova@mff.cuni.cz http://surynkova.info množina vrcholů a množina hran hrana vždy spojuje

Více

Algoritmy II. Otázky k průběžnému testu znalostí

Algoritmy II. Otázky k průběžnému testu znalostí Algoritmy II Otázky k průběžnému testu znalostí Revize ze dne 19. února 2018 2 Lineární datové struktury 1 1. Vysvětlete co znamená, že zásobník představuje paměť typu LIFO. 2. Co je to vrchol zásobníku?

Více

Teorie grafů. Teoretická informatika Tomáš Foltýnek

Teorie grafů. Teoretická informatika Tomáš Foltýnek Teorie grafů Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Opakování z minulé přednášky Co je to složitostní třída? Jaké složitostní třídy známe? Kde leží hranice mezi problémy řešitelnými

Více

Ukáž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í. 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íce

ADT STROM Lukáš Foldýna

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

1. Toky v sítích. 1.1. Toky v sítích

1. Toky v sítích. 1.1. Toky v sítích 1. Toky v sítích Už jste si někdy přáli, aby do posluchárny, kde právě sedíte, vedl čajovod a zpříjemňoval vám přednášku pravidelnými dodávkami lahodného oolongu? Nemuselo by to být komplikované: ve sklepě

Více

přirozený algoritmus seřadí prvky 1,3,2,8,9,7 a prvky 4,5,6 nechává Metody řazení se dělí:

přirozený algoritmus seřadí prvky 1,3,2,8,9,7 a prvky 4,5,6 nechává Metody řazení se dělí: Metody řazení ve vnitřní a vnější paměti. Algoritmy řazení výběrem, vkládáním a zaměňováním. Heapsort, Shell-sort, Radix-sort, Quicksort. Řazení sekvenčních souborů. Řazení souborů s přímým přístupem.

Více

10 Podgrafy, isomorfismus grafů

10 Podgrafy, isomorfismus grafů Typické příklady pro zápočtové písemky DiM 470-2301 (Kovář, Kovářová, Kubesa) (verze: November 25, 2018) 1 10 Podgrafy, isomorfismus grafů 10.1. Určete v grafu G na obrázku Obrázek 10.1: Graf G. (a) největší

Více

Jan Březina. 7. března 2017

Jan Březina. 7. března 2017 TGH03 - stromy, ukládání grafů Jan Březina Technical University of Liberec 7. března 2017 Kružnice - C n V = {1, 2,..., n} E = {{1, 2}, {2, 3},..., {i, i + 1},..., {n 1, n}, {n, 1}} Cesta - P n V = {1,

Více

PROGRAMOVÁNÍ. Cílem předmětu Programování je seznámit posluchače se způsoby, jak algoritmizovat základní programátorské techniky.

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é

Více

Graf. Uzly Lokality, servery Osoby fyzické i právní Informatické objekty... atd. Hrany Cesty, propojení Vztahy Informatické závislosti... atd.

Graf. Uzly Lokality, servery Osoby fyzické i právní Informatické objekty... atd. Hrany Cesty, propojení Vztahy Informatické závislosti... atd. Graf 2 0 3 1 4 5 Uzly Lokality, servery Osoby fyzické i právní Informatické objekty... atd. Hrany Cesty, propojení Vztahy Informatické závislosti... atd. Běžné reprezentace grafu Uzly = indexy Stupně uzlů

Více

ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE. Teze diplomové práce

ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE. Teze diplomové práce ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE FAKULTA PROVOZNĚ EKONOMICKÁ KATEDRA SYSTÉMOVÉ A OPERAČNÍ ANALÝZY Obor: Veřejná správa a regionální rozvoj Teze diplomové práce Optimalizace tras pro cestovní kanceláře

Více

Úvod do mobilní robotiky AIL028

Úvod do mobilní robotiky AIL028 zbynek.winkler at mff.cuni.cz, md at robotika.cz http://robotika.cz/guide/umor05/cs 5. prosince 2005 1 Mapa světa Exaktní plánování 2 3 Plánování s otáčením (náznak řešení) Mapa světa - příklad Obsah Mapa

Více

HEURISTICKÉ ALGORITMY PRO ŘEŠENÍ ÚLOH OBCHODNÍHO CESTUJÍCÍHO

HEURISTICKÉ ALGORITMY PRO ŘEŠENÍ ÚLOH OBCHODNÍHO CESTUJÍCÍHO HEURISTICKÉ ALGORITMY PRO ŘEŠENÍ ÚLOH OBCHODNÍHO CESTUJÍCÍHO Heuristické algoritmy jsou speciálními algoritmy, které byly vyvinuty pro obtížné úlohy, jejichž řešení je obtížné získat v rozumném čase. Mezi

Více

Tabulka. Datová struktura, která umožňuje vkládat a později vybírat informace podle identifikačního klíče. Mohou být:

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

Více

H {{u, v} : u,v U u v }

H {{u, v} : u,v U u v } Obyčejný graf Obyčejný graf je dvojice G= U, H, kde U je konečná množina uzlů (vrcholů) a H {{u, v} : u,v U u v } je (konečná) množina hran. O hraně h={u, v} říkáme, že je incidentní s uzly u a v nebo

Více

TGH06 - Hledání nejkratší cesty

TGH06 - Hledání nejkratší cesty TGH06 - Hledání nejkratší cesty Jan Březina Technical University of Liberec 31. března 2015 Motivační problémy Silniční sít reprezentovaná grafem. Ohodnocené hrany - délky silnic. Najdi nejkratší/nejrychlejší

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

Rámcový manuál pro práci s programem TopoL pro Windows

Rámcový manuál pro práci s programem TopoL pro Windows Rámcový manuál pro práci s programem TopoL pro Windows Příkazy v nabídce Předmět Volba rastru rychlá klávesa F4 Příkaz otevře vybraný rastr; tj. zobrazí ho v předmětu zájmu. Po vyvolání příkazu se objeví

Více

Teorie grafů. zadání úloh. letní semestr 2008/2009. Poslední aktualizace: 19. května 2009. First Prev Next Last Go Back Full Screen Close Quit

Teorie grafů. zadání úloh. letní semestr 2008/2009. Poslední aktualizace: 19. května 2009. First Prev Next Last Go Back Full Screen Close Quit Teorie grafů zadání úloh letní semestr 2008/2009 Poslední aktualizace: 19. května 2009 Obsah Úloha číslo 1 5 Úloha číslo 2 6 Úloha číslo 3 7 Úloha číslo 4 8 Úloha číslo 5 9 Úloha číslo 6 10 Úloha číslo

Více

1. Nakreslete všechny kostry následujících grafů: nemá žádnou kostru, roven. roven n,

1. Nakreslete všechny kostry následujících grafů: nemá žádnou kostru, roven. roven n, DSM2 Cv 7 Kostry grafů Defiice kostry grafu: Nechť G = V, E je souvislý graf. Kostrou grafu G azýváme každý jeho podgraf, který má stejou možiu vrcholů a je zároveň stromem. 1. Nakreslete všechy kostry

Více

Rekurzivní algoritmy

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

Více

TGH12 - Problém za milion dolarů

TGH12 - Problém za milion dolarů TGH12 - Problém za milion dolarů Jan Březina Technical University of Liberec 7. května 2013 Složitost problému Co je to problém? Složitost problému Co je to problém? K daným vstupním datům (velkému binárnímu

Více

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13. Grafy doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Grafy 104 / 309 Osnova přednášky Grafy

Více

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

Lenka Zalabová. Ústav matematiky a biomatematiky, Přírodovědecká fakulta, Jihočeská univerzita. zima 2012

Lenka Zalabová. Ústav matematiky a biomatematiky, Přírodovědecká fakulta, Jihočeská univerzita. zima 2012 Algebra - třetí díl Lenka Zalabová Ústav matematiky a biomatematiky, Přírodovědecká fakulta, Jihočeská univerzita v Českých Budějovicích zima 2012 Obsah 1 Dělitelnost 2 Grupy zbytkových tříd 3 Jedna z

Více

a jiné elektronické přístroje včetně mobilů. Pracujte samostatně. Povolen je 1 list A4 vlastnoručně psaných poznámek k předmětu...

a jiné elektronické přístroje včetně mobilů. Pracujte samostatně. Povolen je 1 list A4 vlastnoručně psaných poznámek k předmětu... Písemný test MA010 Grafy: 17.1. 2007, var A... 1). Vašim úkolem je sestrojit všechny neisomorfní jednoduché souvislé grafy na 6 vrcholech mající posloupnost stupňů 1,2,2,2,2,3. Zároveň zdůvodněte, proč

Více

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů Stavový prostor a jeho prohledávání SP = formalismus k obecnějšímu uchopení a vymezení problému, který spočívá v nalezení posloupnosti akcí vedoucích od počátečního stavu úlohy (zadání) k požadovanému

Více

Jan Březina. Technical University of Liberec. 21. dubna 2015

Jan Březina. Technical University of Liberec. 21. dubna 2015 TGH11 - Maximální párování a související problémy Jan Březina Technical University of Liberec 21. dubna 2015 Bipartitní grafy Bipartitní graf - je obarvitelný dvěma barvami. Tj. V lze rozělit na disjunktní

Více