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.

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

Úvod do teorie grafů

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

Jan Březina. 7. března 2017

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

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky

Vzdálenost uzlů v neorientovaném grafu

Příklad 1/23. Pro rostoucí spojité fukce f(x), g(x) platí f(x) Ω(g(x)). Z toho plyne, že: a) f(x) Ο(g(x)) b) f(x) Θ(g(x)) d) g(x) Ω(f(x))

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

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

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

Stromy, haldy, prioritní fronty

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

Algoritmizace prostorových úloh

Vyvažování a rotace v BVS, všude se předpokládá AVL strom

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

ALGORITMY A DATOVÉ STRUKTURY

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

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

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

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

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

3. Prohledávání grafů

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

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

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

10 Podgrafy, isomorfismus grafů

07 Základní pojmy teorie grafů

Základní datové struktury III: Stromy, haldy

4 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet.

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

VLASTNOSTI GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 5

Teorie grafů Jirka Fink

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?

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

Návrh Designu: Radek Mařík

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

Přijímací zkouška - matematika

Algoritmy na ohodnoceném grafu

Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A

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

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

TGH09 - Barvení grafů

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

PROHLEDÁVÁNÍ GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2017

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

Dynamické datové struktury III.

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

Definice 7.2. Nejmenší přirozené číslo k, pro které je graf G k-obarvitelný, se nazývá chromatické číslo (barevnost) grafu G a značí se χ(g).

B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11

Matice sousednosti NG

10 Přednáška ze

B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11

Náplň. v Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění

Algoritmy a datové struktury

STROMY. v 7 v 8. v 5. v 2. v 3. Základní pojmy. Řešené příklady 1. příklad. Stromy

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

TGH06 - Hledání nejkratší cesty

Operační výzkum. Síťová analýza. Metoda CPM.

Složitost algoritmů. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.

Algoritmy I, složitost

NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

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

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2016

TGH02 - teorie grafů, základní pojmy

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

autorovu srdci... Petr Hliněný, FI MU Brno 1 FI: MA010: Průnikové grafy

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

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

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

TEORIE GRAFŮ TEORIE GRAFŮ 1

7. Funkce jedné reálné proměnné, základní pojmy

TGH02 - teorie grafů, základní pojmy

Metody analýzy dat I (Data Analysis I) Rozsáhlé struktury a vlastnosti sítí (Large-scale Structures and Properties of Networks) - pokračování

COMPLEXITY

Stromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,

GRAFY A GRAFOVÉ ALGORITMY

Diskrétní matematika. DiM /01, zimní semestr 2018/2019

Příklady z Kombinatoriky a grafů I - LS 2015/2016

TGH06 - Hledání nejkratší cesty

TGH02 - teorie grafů, základní pojmy

Definice 1 eulerovský Definice 2 poloeulerovský

Matematika NÁRODNÍ SROVNÁVACÍ ZKOUŠKY DUBNA 2017

Cykly a pole

TGH08 - Optimální kostry

Základy algoritmizace c2005, 2007 Michal Krátký, Jiří Dvorský1/39

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

Radek Mařík

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

Složitosti základních operací B + stromu

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

a) b) c) Radek Mařík

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2014

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

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2015

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

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Transkript:

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 pomaleji než funkce g(n) = n. Zdůvodněte, proč funkce 4 lg(lg(n)) roste rychleji než funkce lg 3 (n). Symbolem lg značíme logaritmus o základu. 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. Uspořádejte do neklesající posloupnosti podle řádu růstu uvedené funkce poměnné n. Funkce, které zařadit nedokážete, do posloupnosti nevkládejte. Symbolem lg značíme logaritmus o základu. lg(lg( n)) n lg( n) n n! (lg( n ))! 3/ n lg( n!) lg( ) 4 n lg( ) n lg( n ) Uspořádejte do neklesající posloupnosti podle řádu růstu uvedené funkce poměnné n. Funkce, které zařadit nedokážete, do posloupnosti nevkládejte. Symbolem lg značíme logaritmus o základu. lg( n ) n n! (lg( n ))! 3/ n lg( n!) lg(lg( n)) lg( ) 4 n lg( n ) n lg( n) V jaké třídě složitosti je funkce f v následujícím programu vzhledem k velikosti pole p (budeme ji značit n), když víme, že v proměnné N je vždy velikost pole p? int f (int p[], int N, int e) { int i,s,o; for( i=n>>1, s=i, o=n<<1; (o!=0) && (i<=n); (p[i]>e)?(i-=s):(i+=s), o>>1 ) { s = (s==1)?1:(s>>1); if (p[i] == e) return i; return -1; V jaké třídě složitosti je funkce h v následujícím programu vzhledem k velikosti pole p (budeme ji značit n), když víme, že v proměnné N je vždy velikost pole p? int h (int p[], int N, int i) { int j,a,s; for( j=0, a=n<<1, s=j; (j<=n) && (a!=0); (p[j]>i)?(j-=s):(j+=s), a>>1 ) { s = (s==1)?1:(s>>1); if (p[j] == i) return j; return -1; Předpokládejte, že máte k dispozici neorientovaný graf G = (V, E), který je reprezentován seznamem hran. Seznam hran není nijak uspořádán a přístup k jeho jednotlivým prvkům je pouze sekvenční (k prvkům nelze přistupovat pomocí indexu). Určete, jaká je za těchto okolností asymptotická složitost algoritmů BFS a DFS.

33 34 35 36 37 38 39 40 41 4 43 44 45 46 47 48 49 50 51 5 53 54 55 56 57 58 59 60 61 6 63 64 65 66 67 68 69 70 71 7 73 74 75 76 77 78 79 80 81 8 83 84 85 86 V jaké třídě složitosti je funkce X v následujícím programu vzhledem k velikosti pole p (budeme ji značit n a odpovídá hodnotě proměnné N)? int N; int * p; void X (void) { int i,j,t; for (i = N; i > 0; i--) { t = 0; for(j = 1; j < i; j++) if (p[j-1] > p[j]) { p[j] = p[j-1] - p[j]; p[j-1] = p[j-1] - p[j]; p[j] = p[j-1] + p[j]; t = 1; if (t == 0) break; V jaké třídě složitosti je funkce push v následujícím programu vzhledem k velikosti pole p (budeme ji značit n)? Předpokládejte, že funkce malloc (naalokuje datovou strukturu velikosti argumentu a vrací na tuto strukturu ukazatel) a free (uvolní z paměti nealokovanou datovou strukturu, kterou dostane v argumentu) pracují v konstantním čase vzhledem k velikosti pole p. Dále předpokládejte, že velikost proměnné N vždy před a po provedení funkce push koresponduje s velikosti pole p. Proměnná i je vždy v intervalu -1 až N. int N = 0; int i = -1; int * p; void push (int key) { if (++i >= N) { int m = N*+1; int * t = malloc(m*sizeof(int)); int j; for(j = 0; j<n; j++, t[j] = p[j]); if (N!= 0) free(p); N = m; p = t; p[i] = key;

87 88 89 90 91 9 93 94 95 96 97 98 99 100 101 10 103 104 105 106 107 108 109 110 111 11 113 114 115 116 117 118 119 10 11 1 13 14 15 16 17 18 19 130 131 13 133 134 135 136 Popište jednotlivé reprezentace orientovaného grafu v paměti počítače, které znáte. Pro každou možnou dvojici reprezentací R1, R určete, jaká je asymptotická složitost převodu grafu z reprezentace R1 do R. Najděte a nakreslete nesouvislý neorientovaný graf s nejmenším možným počtem uzlů, jehož matice incidence I má dvakrát více sloupců než má řádků. V seznamu je uložena množina všech hran grafu, každá hrana je dvojice <uzel, uzel>. Víme, že graf má N uzlů, že je nesouvislý a že obsahuje komponentu K, která má více než N/ uzlů. Máme vytvořit nový seznam obsahující (ve stejném formátu) právě všechny hrany komponenty K. Popište, jak co nejefektivněji budete tuto úlohu řešit, jaké použijete datové struktury a jaká bude složitost vašeho řešení. Pořadí hran v obou seznamech není předepsáno a může být libovolné. Najděte a nakreslete nesouvislý neorientovaný graf s nejmenším možným počtem uzlů, jehož matice incidence I má dvakrát více sloupců než má řádků. Najděte a nakreslete co nejmenší nesouvislý neorientovaný graf, jehož matice incidence I obsahuje v každém řádku právě tři jedničky. Je dán graf G = (V, E). Platí V = n, E (n sqrt(n)). Graf je reprezentován maticí incidence. Určete asymptotickou složitost algoritmu BFS v závislosti na n, za předpokladu, že algoritmus při zjišťování informací o grafu využívá pouze danou reprezentaci G. Je dán graf G = (V, E). Platí V = n, E (n log(n)). Graf je reprezentován seznamem hran v náhodném pořadí. Určete asymptotickou složitost algoritmu BFS v závislosti na n, za předpokladu, že algoritmus při zjišťování informací o grafu využívá pouze danou reprezentaci G. Když má daný graf n uzlů a (n ) hran, potom asymptotická složitost rekurzivního algoritmu DFS (prohledávání do hloubky) je (n ), za předpokladu, že během provádění algoritmu máme přístup v konstantním čase ke každému právě zpracovávanému uzlu a ke každé právě zpracovávané hraně. Určete co nejpřesněji, jaká bude asymptotická složitost rekurzivního DFS, pokud doba přístupu ke každému uzlu bude bude konstantní a doba přístupu ke každé hraně bude ve třídě (log(n )). Když má daný graf n uzlů a (n ) hran, potom asymptotická složitost rekurzivního algoritmu DFS (prohledávání do hloubky) je (n ), za předpokladu, že během provádění algoritmu máme přístup v konstantním čase ke každému právě zpracovávanému uzlu a ke každé právě zpracovávané hraně. Určete, jaká bude asymptotická složitost rekurzivního DFS, pokud doba přístupu ke každému uzlu bude ve třídě (n) a doba přístupu ke každé hraně bude ve třídě (n ). Když má daný graf n uzlů a (n ) hran, potom asymptotická složitost rekurzivního algoritmu DFS (prohledávání do hloubky) je (n ), za předpokladu, že během provádění algoritmu máme přístup v konstantním čase ke každému právě zpracovávanému uzlu a ke každé právě zpracovávané hraně. Určete co nejpřesněji, jaká bude asymptotická složitost rekurzivního DFS, pokud doba přístupu ke každému uzlu bude konstantní a doba přístupu ke každé hraně bude úměrná logaritmu počtu hran. Když má daný graf n uzlů a (n ) hran, potom asymptotická složitost rekurzivního algoritmu DFS (prohledávání do hloubky) je (n ), za předpokladu, že během provádění algoritmu máme přístup v konstantním čase ke každému právě zpracovávanému uzlu a ke každé právě zpracovávané hraně. Určete, jaká bude asymptotická složitost rekurzivního DFS, pokud doba přístupu ke každému uzlu bude úměrná počtu uzlů a doba přístupu ke každé hraně bude úměrná počtu hran.

137 138 139 140 141 14 143 144 145 146 147 148 149 150 151 15 153 154 155 156 157 158 159 160 161 16 163 164 165 166 167 168 169 170 171 17 173 174 175 176 177 178 179 180 181 18 183 184 185 186 187 188 189 Když má daný graf n uzlů a (n log n) hran, potom asymptotická složitost algoritmu BFS (prohledávání do šířky) je (n log n), za předpokladu, že během provádění algoritmu máme přístup v konstantním čase ke každému právě zpracovávanému uzlu a ke každé právě zpracovávané hraně. Určete, jaká bude asymptotická složitost BFS, pokud doba přístupu ke každému uzlu bude ve třídě (n 3/ ) a doba přístupu ke každé hraně bude ve třídě (n 1/ ). Když má daný graf n uzlů a (n log n) hran, potom asymptotická složitost algoritmu BFS (prohledávání do šířky) je (n log n), za předpokladu, že během provádění algoritmu máme přístup v konstantním čase ke každému právě zpracovávanému uzlu a ke každé právě zpracovávané hraně. Určete, jaká bude asymptotická složitost BFS, pokud doba přístupu ke každému uzlu bude ve třídě (n 1/ ) a doba přístupu ke každé hraně bude ve třídě (n 3/ ). Když má daný souvislý graf n uzlů a m hran, potom asymptotická složitost algoritmu BFS (prohledávání do šířky) je (m), za předpokladu, že během provádění algoritmu máme přístup v konstantním čase ke každému právě zpracovávanému uzlu a ke každé právě zpracovávané hraně. Jaká bude asymptotická složitost tohoto algoritmu, pokud jediná reprezentace grafu, kterou budeme mít k dispozici, bude matice sousednosti tohoto grafu? V grafu G s n vrcholy (n 4) vede cesta mezi každými dvěma vrcholy. Určete, která z následujících tvrzení platí: a) G je souvislý, b) G je strom, c) G má alspoň n+1 hran, d) G má alespoň n/ hran e) G je úplný graf Matice B vznikne tak, že matici sousednosti A neorientovaného grafu G vynásobíme samu se sebou, B =A A. Předpokládejme, že označení vrcholů G je shodné s indexací řádků A. Určete, která z následujících tvrzení platí: a) Hodnota prvku B[i][i] je rovna stupni vrcholu I, b) hodnota prvku B[i][i] je vždy sudé číslo, c) hodnota prvku B[i][j] pro i j je rovna vzdálenosti vrcholů i a j, d) buď B = A nebo B = A+A, e) v B může existovat nulový prvek. Pravidelný graf stupně k je definován jako graf, v němž mají všechny vrcholy stupeň k. Souvislý pravidelný rovinný graf G stupně 3 je nakreslen tak, že každá stěna (včetně vnější neomezené stěny) G sousedí s právě čtyřmi hranami. Pokud lze počet stěn grafu určit, určete jej co nepřesněji nebo uveďte co nejlepší odhad, pokud to určit nelze, zdůvodněte proč. (V rovinném nakreslení grafu se žádné dvě hrany neprotínají, stěna je každá maximální oblast roviny neobsahující žádnou hranu. ) Matice incidence I neorientovaného grafu G s alespoň šesti uzly obsahuje v každém řádku právě dvě jedničky. Která z následujících tvrzení platí? a) I obsahuje v každém soupci právě dvě jedničky, b) G má sudý počet uzlů, c) G je určitě souvislý, d) G může být nesouvislý, e) všechny uzly G mají stupeň. Graf G s n (n 3) uzly obsahuje jako svůj podgraf úplný graf K n 1 s n 1 uzly. Platí v tomto případě některé z uvedených tvrzení? a) G je souvislý, b) G má alespoň n hran, c) G má alespoň n+ hran, d) G má nejvýše n log(n) hran, e) G může obsahovat vrchol stupně 1. Z úplného grafu K 00 odebereme 00 hran tak, aby výsledný graf zůstal souvislý. Jaký je součet stupňů uzlů výsledného grafu? Úplný graf K n (n 3) propojíme s jiným úplným grafem K m (m 3) tak, že z každého uzlu K n vedeme hranu do každého uzlu K m. Kolik hran má výsledný graf pro n = 0, m = 1?

190 191 19 193 194 195 196 197 198 199 00 01 0 03 04 05 06 07 Graf W n vznikne tak, že každý uzel kružnice C n spojíme hranou s dalším přidaným uzlem x (W n má tedy n+1 uzlů). Určete, kolik maximálně a kolik minimálně různých cest délky 3 v grafu W n může vést vede mezi dvěma libovolnými uzly původní kružnice C n, pokud n 0. Cesty nemusí být disjunktní. Strom T n (n 3) s n uzly propojíme s jiným stromem T m (m 3) s m uzly tak, že z každého uzlu T n vedeme hranu do každého uzlu T m. Kolik hran má výsledný graf? Jaký je součet stupňů všech vrcholů grafu G, když víme, že má 1991 vrcholů, 5541 hran a nejvyšší stupeň vrcholu v grafu je 1887? Kolik různých cest vede mezi dvěma různými vrcholy v úplném neorientovaném grafu s 6 vrcholy? Kolik různých cest spojuje všechny vzájemně různé vrcholy stupně 1 v grafu G, když víme, že G je souvislý neorientovaný graf s 1999 vrcholy, 1998 hranami a 7 vrcholy stupně 1? Jaký je součet stupňů všech vrcholů grafu G, když víme, že má 369 vrcholů, 6359 hran a nejvyšší stupeň vrcholu v grafu je 1963?