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

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

Úvod do teorie grafů

Prioritní fronta, halda

Návrh designu: Radek Mařík

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

Přijímací zkouška - matematika

Datové struktury 2: Rozptylovací tabulky

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

Vzdálenost uzlů v neorientovaném grafu

Algoritmy a datové struktury

Stromy, haldy, prioritní fronty

bin 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

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.

10. Složitost a výkon

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

Adresní vyhledávání (přímý přístup, zřetězené a otevřené rozptylování, rozptylovací funkce)

Časová složitost / Time complexity

Dynamické datové struktury III.

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Stromy. Jan Hnilica Počítačové modelování 14

1. D Y N A M I C K É DAT O V É STRUKTUR Y

Složitost algoritmů. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Paralelní grafové algoritmy

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

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

PROGRAMOVÁNÍ V SHELLU

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.

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

Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz

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

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

Doba běhu daného algoritmu/programu. 1. Který fragment programu z následujících dvou proběhne rychleji?

Michal Krátký. Úvod do programování. Cíl kurzu. Podmínky získání zápočtu III/III

V 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

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

IB015 Neimperativní programování. Časová složitost, Typové třídy, Moduly. Jiří Barnat Libor Škarvada

Základy algoritmizace. Hašování

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Dynamické datové struktury I.

Rekurze a rychlé třídění

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

Programování: základní konstrukce, příklady, aplikace. IB111 Programování a algoritmizace

R zné algoritmy mají r znou složitost

Algoritmy I, složitost

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

1 Nejkratší cesta grafem

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

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

Algoritmy na ohodnoceném grafu

Základní datové struktury

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

Grafové algoritmy. Programovací techniky

Binární vyhledávací stromy pokročilé partie

Grafové algoritmy. Programovací techniky

Datový typ prioritní fronta Semestrální práce z předmětu 36PT

a) b) c) Radek Mařík

Dynamické programování. Optimální binární vyhledávací strom

Datové typy a struktury

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

VISUAL BASIC. Práce se soubory

Dynamické programování

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

Úvod do programování

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

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

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Dynamické programování

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

2 Datové typy v jazyce C

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

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky

Rozptylovací tabulky

Matice sousednosti NG

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

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

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

Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620

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

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

TGH07 - Chytré stromové datové struktury

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

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

Red Black strom (Red Black Tree) Úvod do programování. Rotace. Red Black strom. Rotace. Rotace

Digitální učební materiál

Datové struktury. alg12 1

Rekurze a zásobník. Jak se vypočítá rekurzivní program? volání metody. vyšší adresy. main(){... fa(); //push ret1... } ret1

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

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

Algoritmizace a programování

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

Třídění a vyhledávání Searching and sorting

TGH07 - Chytré stromové datové struktury

Exponenciální funkce. Exponenciální funkcí o základu a se nazývá funkce, která je daná rovnicí. Číslo a je kladné číslo, různé od jedničky a xεr.

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

Analýza toku dat. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 15. listopad, 2012

TGH06 - Hledání nejkratší cesty

Lineární spojový seznam (úvod do dynamických datových struktur)

Algoritmizace prostorových úloh

Transkript:

333LP - lgoritmy a programování - Zkouška z předmětu 333LP Jméno Příjmení Už. jméno Marek oháč bohacm11 Zkouškový test Otázka 1 Jaká je hodnota proměnné count po vykonání následujícího kódu: data=[4,4,5,5,6,6,6,7,7,7,7,8,8] count=0 for i in range(1,len(data)): if data[i]==data[i-1]: count=count+1 10 13 8 9 7 Otázka 2 Jaká je v nejhorším případě časová složitost operace vyhledání prvku v množině o velikosti n, pokud datový typ množina implementujeme pomocí: 1. binárního vyhledávacího stromu bez vyvažování 2. VL stromu 3. rozptylovací tabulky s otevřeným adresováním 1: O(n), 2: O(n), 3: O(n) 1: O(log n), 2: O(1), 3: O(1) 1: O(log n), 2: O(log n), 3: O(n) 1: O(n), 2: O(log n), 3: O(n) 1: O(log n), 2: O(log n), 3: O(1) Marek oháč 1 8083

Otázka 3 333LP - lgoritmy a programování - Zkouška z předmětu 333LP Určete hodnotu n tak, aby byla procedura xyz() volána právě 1400 krát. for i in range(70): j = 0; while j < 90: if j > n: xyz() j+=1 n = 20 n = 69 n = 68 n = 70 n = 71 Otázka 4 o vypíše následující program? a=4 def fce(x, y): y[0] = y[0] + a x = x - a b = x + y[0] return a + b def main(): b=3; pb=[b] print("%d\n" % fce(a, pb)) return 0 main() 19 16 11 15 Marek oháč 2 8083

Otázka 5 333LP - lgoritmy a programování - Zkouška z předmětu 333LP Jakou ma funkce g asymptotickou slozitost? Zvolte nejlepší možný odhad. def g(n): for i in range(n): j=i while j>0: j/=2 O(n) O(n 3 ) O(n 2 ) O(n log n) O(log n) Otázka 6 Mějme algoritmus s kubickou složitostí O(n 3 ) kterému trvá zpracování daného problému 1s. Jak dlouho bude přibližně trvat zpracování problému 100 většího? (Vyberte nejpřesnější odhad.) 11 měsíců 11 let 11 minut 11 hodin 11 dní Otázka 7 Je dána funkce: def rek1(s,t): if s > 0: r = rek1(s - 1, t) + t else: r = 0; return r Určete hodnotu funkce rek1(3, 4), rek1(3, -4) a rek1(-3, 4). rek1(3,4)=7, rek1(3,-4)=-7, rek1(-3,4)=1 rek1(3,4)=7, rek1(3,-4)=-7, rek1(-3,4)=0 rek1(3,4)=12, rek1(3,-4)=-12, rek1(-3,4)=0 rek1(3,4)=12, rek1(3,-4)=-12, rek1(-3,4)=1 Marek oháč 3 8083

Otázka 8 333LP - lgoritmy a programování - Zkouška z předmětu 333LP Jaká je hodnota p po vykonání následujícího kódu? count=6 x=[1,3,0,2,2,4] p=0 for i in range(count): if x[i]>x[p]: p+=1 4 1 2 3 5 Otázka 9 Které datové struktury umožní test existence libovolného prvku se složitostí O(log n) a lepší? Je-li správných více možností, vyberte tu nejúplnější. rozptylovací tabulka, binární vyhledávací strom, seznam rozptylovací tabulka, binární vyhledávací strom rozptylovací tabulka, binární vyhledávací strom, pole pole,seznam binární vyhledávací strom Marek oháč 4 8083

333LP - lgoritmy a programování - Zkouška z předmětu 333LP Otázka 10 Který z kódů produkuje následující výstup? (Pozn.: print(x,end="") vytiskne x bez přechodu na novou řádku) 0123 123 23 3 for i in range(4): for j in range(1,i): print(i,end="") print() for i in range(4): for j in range(i,4): print(j,end="") print() for i in range(4): for j in range(1,i): print(j,end="") print() for i in range(4): for j in range(i,4): print(i,end="") print() for i in range(4): for j in range(4): print(i,end="") print() Marek oháč 5 8083

Otázka 11 333LP - lgoritmy a programování - Zkouška z předmětu 333LP o původně prázdné rozptylovací tabulky (hash table) o délce 7 vkládáme postupně hodnoty 11, 5, 19, 8, 14. Roptylovací funkce f pro klíč k je definována jako f(k) = (k + 3i) mod 7, přičemž prvky tabulky jsou indexované od 0 a kolize se řeší strategií linear probing při kolizi se hodnota i vždy zvýší o 1, na počátku každého vkládání je hodnota i = 0. elkový počet kolizí, který nastane při vkládání daných čísel do tabulky je: 1 2 4 0 3 Otázka 12 Který z výroků je nepravdivý po vykonání následujícího kódu za předpokladu, že x 0. y=1 while y<=x: y*=2 y může být rovno x. y může být rovno x+1 y může být liché. y musí být mocninou 2. Otázka 13 Je dáno pole x = [1,2, ahoj, 1 ]. Jaký je výsledek výrazů x[0], x[2]? 1, ahoj 1, ahoj ahoj, 1 1, 1 1, 1 F 1,2 Marek oháč 6 8083

Otázka 14 333LP - lgoritmy a programování - Zkouška z předmětu 333LP Program používá zásobník Z a čte posloupnost znaků. Po přečtení písmena p provede operaci Z.push(p), po přečtení hvězdičky provede Z.pop(). Zásobník je před zahájením čtení prázdný. Operace Z.pop() kromě své standardní činnosti ještě navíc zapisuje aktuálně odebíraný znak ze zásobníku na výstup. Po přečtení řetězce *F***GH* bude na výstupu posloupnost HGF FH FGH FGH FH Otázka 15 Vyberte pravdivé tvrzení týkající se následující funkce s číselnými parametry x a y: def f(x,y): while x>0: x-=2*y Pro x > 0, y > x funkce f nikdy neskončí. Pro y 0 funkce f nikdy neskončí. Pro x < 0 funkce f nikdy neskončí. Pro x > 0, y > 0 funkce f vždy skončí. Pro x > 0, y < x funkce f vždy skončí. Otázka 16 Jakou operaci nelze u jednoduše zřetězeného spojového seznamu realizovat s konstantní složitostí? (konec=prvek, který nemá následníka; začátek=prvek, který není následníkem) přidání prvku na konec smazání prvku z konce přidání prvku doprostřed, za daný prvek smazání prvku ze začátku přidání prvku na začátek Marek oháč 7 8083

Otázka 17 333LP - lgoritmy a programování - Zkouška z předmětu 333LP Který z následujících fragmentů programů proběhne nejrychleji? n = 110; sum = 0; for i in range(n,-1,-1): for j in range(i,-1,-1): sum += i+j; n = 75 sum = 0 for i in range(n): for j in range(n): sum += i+j; n = 85 sum = 0 for i in range(n,-1,-1): for j in range(n,-1,-1): sum += i+j; n = 100 sum = 0 for i in range(n): for j in range(i): sum += i+j; Otázka 18 Neorientovaný graf s vrcholy 1..6 je zadán maticí sousednosti 5 4 5 7 3 7 1 10 4 1 2, 3 10 20 2 20 kde čísla znamenají délku hrany a prázdné políčko znamená, že hrana neexistuje. Hledáme nejkratší cesty z uzlu 2 pomocí ijkstrova algoritmu. V jakém pořadí prohlásí algoritmus minimální délky cest do jednotlivých uzlů za definitivní? 2,1,4,6,3,5 2,1,3,5,4,6 2,5,1,3,4,6 2,5,3,1,4,6 2,5,1,3,4,6 Marek oháč 8 8083

Otázka 19 Jaká je hodnota výrazu 333LP - lgoritmy a programování - Zkouška z předmětu 333LP 3. * 2. ** 5 % 10 + 1 7 9 97 8 3 F 99 Otázka 20 Pole x obsahuje n prvků. o je potřeba vložit místo řádek 1 a řádek 2, aby následující kód rotoval pole x vlevo, tedy aby z pole x=[7,3,8,1,0,5] udělal pole x=[3,8,1,0,5,7]? řádek 1 for i in range(n-2): x[i]=x[i+1] řádek 2 temp=x[n-1] x[0]=temp temp=x[0] x[n-1]=temp temp=x[n-1] x[n-1]=temp temp=x[0] x[0]=temp Marek oháč 9 8083

2 333LP - lgoritmy a programování - Zkouška z předmětu 333LP Jméno Příjmení Už. jméno Podpis Marek oháč bohacm11 2 Zkouškový test Správně označená odpověd Špatně označená odpověd Opravená odpověd Odpovědní list, všechny odpovědi musí být označeny na tomto listě 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: F 14: 15: 16: 17: 18: 19: F 20: 2 Marek oháč Odpovědní list 8083 2