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

Prioritní fronta, halda

Návrh designu: Radek Mařík

Úvod do teorie grafů

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

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

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

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

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

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

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?

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

Základy algoritmizace. Hašování

Paralelní grafové algoritmy

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Í V SHELLU

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

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

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

Algoritmy na ohodnoceném grafu

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

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

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

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

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

a) b) c) Radek Mařík

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

Datové typy a struktury

VISUAL BASIC. Práce se soubory

R zné algoritmy mají r znou složitost

Algoritmy I, složitost

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

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

Základní datové struktury

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

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky

Amortizovaná složitost. Prioritní fronty, haldy (binární, d- regulární, binomiální, Fibonacciho), operace nad nimi a jejich složitost

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

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

Rozptylovací tabulky

Časová a prostorová složitost algoritmů

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

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

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

Dynamické programování

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

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

TGH07 - Chytré stromové datové struktury

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

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

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

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

Úvod do programování

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

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

Dynamické programování

TGH07 - Chytré stromové datové struktury

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

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

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

Algoritmizace prostorových úloh

ALGORITMY A DATOVÉ STRUKTURY

MIDTERM D. Příjmení a jméno:

2 Datové struktury. Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky

2 Datové typy v jazyce C

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

Binární Vyhledávací Stromy, u kterých je. složitost operací v nejhorším. rovná O(log n)

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

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

Transkript:

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) reated in Master PF ditor Marek oháč 1 8083

Otázka 3 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 a=4 o vypíše následující program? 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 reated in Master PF ditor Marek oháč 2 8083

Otázka 5 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 reated in Master PF ditor rek1(3,4)=12, rek1(3,-4)=-12, rek1(-3,4)=1 Marek oháč 3 8083

Otázka 8 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 reated in Master PF ditor Marek oháč 4 8083

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() reated in Master PF ditor Marek oháč 5 8083

Otázka 11 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 reated in Master PF ditor Marek oháč 6 8083

Otázka 14 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 reated in Master PF ditor Marek oháč 7 8083

Otázka 17 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 reated in Master PF ditor 2,5,3,1,4,6 2,5,1,3,4,6 Marek oháč 8 8083

Otázka 19 Jaká je hodnota výrazu 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-1): 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 reated in Master PF ditor Marek oháč 9 8083

2 Jméno Příjmení Už. jméno Podpis Marek oháč bohacm11 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: reated in Master PF ditor 2 Marek oháč Odpovědní list 8083 2 2