1 Nejkratší cesta grafem

Podobné dokumenty
Bakalářské zkoušky (příklady otázek)

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

Dynamicky vázané metody. Pozdní vazba, virtuální metody

Profilová část maturitní zkoušky 2017/2018

Obor: Informatika Únor 2006 Okruh: Základy matematiky Otázka: 1. Jméno: Bodů:...

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

8 Třídy, objekty, metody, předávání argumentů metod

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

Obor: Informatika Červen 2005 Okruh: Základy matematiky Otázka: 1. Jméno: Bodů:...

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

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

Definujte Gaussovský obor. Vysvětlete, co přesně rozumíme jednoznačností rozkladu.

Funkční objekty v C++.

Úvod do programovacích jazyků (Java)

Bakalářské zkoušky (příklady otázek)

Přijímací zkouška - matematika

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

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

Zápis programu v jazyce C#

Programování v Javě I. Leden 2008

Matematika I A ukázkový test 1 pro 2014/2015

IRAE 07/08 Přednáška č. 2. atr1 atr2. atr1 atr2 -33

TÉMATICKÝ OKRUH Softwarové inženýrství

Více o konstruktorech a destruktorech

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

Matematika I A ukázkový test 1 pro 2011/2012. x + y + 3z = 1 (2a 1)x + (a + 1)y + z = 1 a

Generické programování

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software.

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

VzorTest-1. Prohlídka náhledu

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.

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

Standardní algoritmy vyhledávací.

Státní závěrečná zkouška z oboru Matematika a její použití v přírodních vědách

Paměť počítače. alg2 1

1. Programování proti rozhraní

Šablony, kontejnery a iterátory

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

)(x 2 + 3x + 4),

ALGEBRA. Téma 5: Vektorové prostory

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

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

Programování v Javě I. Únor 2009

Úvod do informatiky. Miroslav Kolařík

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

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Struktura programu v době běhu

Algoritmy a datové struktury

Programování v C++ 1, 17. cvičení

Výčtový typ strana 67

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

Úvod do programování - Java. Cvičení č.4

Zdrojem většiny příkladů je sbírka úloh 1. cvičení ( ) 2. cvičení ( )

Datové typy a struktury

Množina v C++ (set, multiset).

Přijímací zkouška na navazující magisterské studium 2018

Algoritmizace prostorových úloh

Bakalářské zkoušky (příklady otázek)

Přijímací zkouška - Informatika

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 2016

DTP Základy programování Úvod do předmětu

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

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

IRAE 07/08 Přednáška č. 1

Algoritmizace prostorových úloh

KMA Písemná část přijímací zkoušky - MFS 2o16

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

Přijímací zkouška - informatika

Programování v C++ 1, 5. cvičení

Objektově orientované programování

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

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

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

Jazyk C++ I. Šablony

Zadání druhého zápočtového projektu Základy algoritmizace, 2005

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

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

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:

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

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

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

8) Jaké jsou důvody pro použití víceprůchodového překladače Dříve hlavně kvůli úspoře paměti, dnes spíše z důvodu optimalizace

Pokročilé programování v jazyce C pro chemiky (C3220) Pokročilá témata jazyka C++

Oborové číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

součet cvičení celkem. známka. Úloha č.: max. bodů: skut. bodů:

PŘETĚŽOVÁNÍ OPERÁTORŮ

Úvod do programovacích jazyků (Java)

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

Jazyk C++ 1. Blok 3 Objektové typy jazyka C++ Třída. Studijní cíl. Doba nutná k nastudování. Průvodce studiem

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

Konstruktory a destruktory

DSA, První krok: máme dokázat, že pro left = right vrátí volání f(array, elem, left, right)

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

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

Vzdálenost uzlů v neorientovaném grafu

Naproti tomu gramatika je vlastně soupis pravidel, jak

Transkript:

Bakalářské zkoušky (příklady otázek) podzim 2014 1 Nejkratší cesta grafem 1. Uvažujte graf s kladným ohodnocením hran (délka). Definujte formálně problém hledání nejkratší cesty mezi dvěma uzly tohoto grafu. 2. Napište pseudokód algoritmu pro hledání nejkratší cesty mezi dvěma uzly grafu s kladným ohodnocením hran. 2 Vyhledávání v textu 1. Popište strukturu vyhledávacího automatu algoritmu Aho Corasick pro vyhledávání v textu (načrtněte příklad pro hledané řetězce he, she, her ). 2. Napište pseudokód algoritmu Aho Corasick pro vyhledávání v textu (pouze vyhledávání, nikoliv konstrukci vyhledávacího automatu). 3. Jaká je časová složitost tohoto algoritmu? 3 Architektura počítače Uvažujte celočíselný datový typ INT reprezentovaný vnitřně v osmi bitech pomocí dvojkového doplňku, tedy například číslo 0 je reprezentováno jako 00000000 2, číslo 1 jako 00000001 2, číslo 127 jako 01111111 2, číslo 1 jako 11111111 2. Předpokládejte, že operace + pro typ INT je vnitřně implementována jako prosté osmibitové binární sčítání, tedy neuvažuje se znaménko a neindikuje se přetečení, výsledek se ořezává na osm bitů. 1. Jaké nejmenší a největší číslo je možné zapsat v datovém typu INT? 2. Jaký bude výsledek operace 127 + 1 pro typ INT? 3. Jaký bude výsledek operace 127 + ( 1) pro typ INT? 4. Uvažujte x jako proměnnou typu INT a MIN jako konstantu rovnou nejmenšímu číslu typu INT. Jaký bude obsah proměnné x po provedení následujícího bloku kódu? V odpovědi neuvažujte možné optimalizace překladače. x = MIN x = -x 4 Vstupní a výstupní zařízení Uvažujte běžnou architekturu počítače, ve které zařízení mohou žádat o obsluhu pomocí přerušení. Předpokládejte, že mezi připojenými zařízeními jsou klávesnice, grafický adapter (displej) a disk. 1. Která z uvedených zařízení a v jakých situacích budou pravděpodobně žádat o přerušení? 2. Jakým způsobem žádá zařízení o přerušení? Konkrétně, jak se v architektuře počítače informace o potřebě obsluhy dostane od zařízení k procesoru. 3. Jak procesor reaguje na žádost o přerušení? Konkrétně, popište bezprostřední reakci z pohledu hardware, nikoliv kroky realizované pomocí software.

5 Automaty 1. Definujte formálně pojem konečný automat. 2. Definujte formálně kdy konečný automat přijímá slovo. 3. Může konečný automat rozpoznávat také nekonečné jazyky? 4. Sestavte konečný automat, který přijímá stejný jazyk jako regulární výraz ^[a-z]+@[a-z]+\.[a-z.]+$ (výraz pro jednoduchou kontrolu adresy mailu). 6 Transakce 1. Definujte pravidla pro izolaci transakcí s použitím dvoufázového zamykání. 2. Uvažujte transakce T1: R(X)R(Y ) a T2: W (X)W (Y ). Napište všechny rozvrhy, kterými může tyto transakce plánovat dvoufázové zamykání (vyznačte i operace zamčení a odemčení). 3. Může vést dvoufázové zamykání nad těmito transakcemi k uváznutí a proč? 7 Principy implementace objektově orientovaných jazyků 1. Vysvětlete rozdíl mezi předáváním parametrů funkce (metody) hodnotou (pass by value) a odkazem (pass by reference). V jakých situacích se hodí jeden či druhý způsob předávání parametrů? Uvažujte následující kód (z dostupných verzí si vyberte jeden programovací jazyk, pozor, verze se nechovají stejně): Listing 1: Java class Main { static void f ( I n t e g e r x ) { i f ( x > 0) { x ; f ( x ) ; public static void main ( S t r i n g [ ] arguments ) { int a = 8 ; f ( a ) ; System. out. p r i n t l n ( a ) ; #include <iostream > void f ( int &x ) { i f ( x > 0) { x ; f ( x ) ; int main ( ) { int a = 8 ; f ( a ) ; std : : cout << a << std : : endl ; return ( 0 ) ; Listing 2: C++ using System ; class Example { static void f ( ref int x ) { i f ( x > 0) { x ; f ( ref x ) ; static void Main ( string [ ] arguments ) { int a = 8 ; f ( ref a ) ; Console. WriteLine ( a ) ; Listing 3: C#

2. Kolikrát se zavolá funkce f? 3. Jaký výstup napíše kód při spuštění? 8 Principy implementace objektově orientovaných jazyků 1. Vysvětlete, co je statický atribut třídy (static field, static class variable, static member variable). 2. Uvažujte třídu s následujícím rozhraním (z dostupných verzí si vyberte jeden programovací jazyk): public class S i n g l e t o n { public static S i n g l e t o n g e t I n s t a n c e ( ) { class S i n g l e t o n { public : static S i n g l e t o n& g e t I n s t a n c e ( ) { ; Listing 4: Java Listing 5: C++ public class S i n g l e t o n { public static S i n g l e t o n I n s t a n c e { get { Listing 6: C# Doplňte implementaci třídy Singleton tak, aby uvedená metoda (getter) vždy vracela referenci na jedinou Singleton instanci, a aby se tato instance vytvořila při prvním volání uvedené metody (getteru). Neuvažujte existenci více vláken. 3. Jak docílíte toho, aby programátor neměl možnost obejít uvedenou metodu (getter) a vytvořit si více instancí třídy Singleton například přímo voláním new? 9 Protokoly TCP/IP 1. Jak vypadá adresa komunikujícího procesu v protokolu TCP? 2. Po jakých jednotkách potvrzuje protokol TCP přijatá data? Jak protokol TCP minimalizuje počet datagramů přenášených kvůli potvrzení? 3. Jak protokol TCP řídí tok v situaci, kdy odesílatel produkuje data rychleji, než je příjemce schopen je zpracovat? 4. Jaké internetové protokoly jsou vystavěny nad protokolem TCP (nejméně dva příklady)? 10 Rozklad polynomů ireducibilní polynom nad tělesem T. 2. Nad kterými z uvedených těles existuje ireducibilní polynom stupně alespoň dva (ilustrujte příkladem): Q, C, Z 2, Z 3?

11 Rozklad polynomů vícenásobný kořen polynomu. 2. Pro která z uvedených těles se polynom x 4 2x 3 + 2x 2 2x + 1 rozkládá na lineární činitele: Q, C, Z 2, Z 3? 12 Limita posloupnosti limita posloupnosti reálných čísel (vlastní i nevlastní). 2. Vyslovte větu o strážnících. 3. Rozhodněte, zda existuje limita a pokud ano, spočtěte ji: 13 Metrické prostory uzavřená množina v metrickém prostoru. 2. Rozhodněte o platnosti následujících tvrzení: 1 + 2 + + n lim n n (a) Jsou-li F 1, F 2, uzavřené množiny, je i n=1f n uzavřená množina. (b) Jsou-li F 1, F 2, uzavřené množiny, je i n=1f n uzavřená množina. (c) Není možné, aby byly uzavřené množiny A i X \ A. 3. Jsou následující množiny uzavřené? Zdůvodněte. (a) (1, ) (b) {0 (c) 14 Metrické prostory 1. Definujte pojmy metrika a metrický prostor. 2. Rozhodněte o následujících množinách, zda jsou otevřené a zda jsou uzavřené v metrickém prostoru reálných čísel s eukleidovskou metrikou. O jedné z těchto množin vaše tvrzení dokažte. (a) < 0, 1 > (b) (0, ) (c) (, 1 > (d) (, ) 15 Skalární součin 1. Definujte reálný skalární součin. 2. Rozhodněte, zda je skalárním součinem nad R 3 zobrazení x, y = 2x 1 y 1 + 2x 2 y 2 + 2x 3 y 3 + x 1 y 3 + x 3 y 1 + x 2 y 3 + x 3 y 2.

16 Eulerovské grafy 1. Definujte eulerovský graf. 2. Formulujte nutnou a postačující podmínku pro to, aby graf byl eulerovský (Eulerovu větu). 3. Necht n N, uvažujme graf G = (V, E) s vrcholy V = {0, 1 n a hranami mezi těmi vrcholy, jejichž posloupnosti se liší v lichém počtu pozic (tedy například pro n = 2 je V 00 spojen s V 01 a V 10 ale nikoliv s V 11 ). Pro která n je tento graf eulerovský? 17 Vlastnosti grafů 1. Definujte stupeň vrcholu v (neorientovaném) grafu. 2. Vyjádřete (bez sumy) součet stupňů vrcholů stromu, tedy v V deg(v) pro strom T = (V, E). 3. V závislosti na přirozeném čísle n rozhodněte, kdy existuje graf s 2n vrcholy takový, že n vrcholů má stupeň 1 a n vrcholů stupeň 2. Pro která n existuje takový graf, který je navíc souvislý?