Skriftlig Eksmn DM0 Algoritmr og Dtstrukturr Institut for Mtmtik og Dtlogi Synsk Univrsitt, Ons Mng n 8. juni 20, kl. 6:00 20:00 Bsvrlsn skl flvrs lktronisk. S vjlning usnt i kurst. All skriftlig hjælpmilr (lærøgr, nottr, osv.) smt rug f omputr r tillt. Dt r ikk tillt t rug intrnttt, untgn til n lktronisk flvring. Eksmnssættt står f 0 opgvr på 0 nummrr sir ( 0). Ful svrls r svrls f ll 0 opgvr. D nklt opgvrs vægt v ømmlsn r ngivt i pront. Dr må grn rfrrs til lgoritmr og rsulttr fr lærogn (Cormn t l., Introution to Algorithms, tri ugv), smt nr mtrilr fr kurst (f.ks. opgvslr og slis). Hnvisningr til nr kilr kn ikk rugs i svrlsn f t spørgsmål. Bmærk, t hvis r r t spørgsmål, mn ikk kn svr, må mn grn svr ftrfølgn spørgsmål og lot ntg, t mn hr n løsning til forgån spørgsmål.
Opgv (0%) Dnn opgvr hnlr om følgn rkursionsligningr: i) T (n) = T (n/2) + n 2 ii) T (n) = T (n/) + n log n iii) T (n) = 2 T (n/) + n /2 iv) T (n) = 2 T (n 2) + n Spørgsmål (%): Angiv for hvr rkursionsligning om n kn løss m Mstr Thorm fr lærogn. Spørgsmål (%): Angiv løsningn T (n) for hvr rkursionsligning som kn løss m Mstr Thorm. Opgv 2 (0%) Angiv for hvrt f nnstån usgn, om r sn llr flsk. i) 2 n r O(n ) ii) n 2 r O( n ) iii) n(log n) 2 r O(n log n) iv) n 2 log n r O(n(log n) ) v) n r O(n 2 ) vi) n r O(2 n ) vii) n / r O(n /2 ) viii) (/) n r O((/2) n ) ix) r O(2)
Opgv (%) Ufør først Hp-Inrs-Ky(A,,) og rnæst Hp-Extrt-Mx(A) på nnstån mx-hp A. Angiv ftr hvr f to oprtionr hpns usn v t skriv lmntrn i rækkfølg fr vnstr mo højr. A: 2 4 6 8 8 6 4 8 2 2 Opgv 4 (%) Nnstån r n hshtl H r rugr qurti proing, m uxiliry hshfunktion h (x) = (x + ) mo og m konstntr = og 2 =. H: 0 2 4 6 8 0 6 2 Insæt værirn 22, 6 og (i n rækkfølg). Angiv usnt f hshtlln ftr hvr f tr insættlsr. Svr for hvr insættls v t skriv inholt f H i rækkfølg fr vnstr mo højr, m tomm plsr ngivt som x. 2
Opgv (%) Ufør Prims lgoritm på grfn nnfor, m strt i knun. Som svr, ngiv knurn i n rækkfølg utgs fr priorittskøn (m oprtionn Extrt-Min) unr lgoritmns kørsl. Angiv også kntrn i t rsultrn minimum spnning tr (MST). En knt m npunktr u og v skrivs som sævnligt (u, v). 8 8 4 2 Opgv 6 (0%) Spørgsmål (6%): For ll knur v i grfn nnfor, ngiv strttin (isovry tim) v. og sluttin (finishing tim) v.f som tills v y-først søgning (DFS) m strt i knun i. For DFS fhængr rsulttt f orningn f knurs nolistr. Du skl hr ntg t n knus nolist r sortrt i lftisk orn ftr noknurns nvn. h g i f
Spørgsmål (4%): For ll kntr i grfn ovnfor, stm rs typ (tr g, k g, forwr g, ross g) v DFS gnnmløt fr spørgsmål (vs. DFS gnnmlø m strt i knu i). Svr v t ngiv fir listr f kntr, én list for hvr knttyp. En knt m npunktr u og v skrivs som sævnligt (u, v). I hvr knt, ngiv npunktrn i lftisk rækkfølg. Opgv (0%) Spørgsmål (6%): For hvilk f nnstån grfr kn kortst vj fins m lgoritmrn Dijkstr (D), Bllmn-For (BF), DAG-Shortst-Pths (DAG), Brth-First-Srh (BFS) og Dpth-First-Srh (DFS)? - - - - - - G G 2 G Angiv svrt m n tlopstilling som nnstån. Sæt krys i n tlingng når svrt r j. G G 2 G D BF DAG BFS DFS 4
Spørgsmål (4%): Vi sr nu på grfr m n knur og m = n log n kntr. Angiv for hvr f lgoritmrn Dijkstr, Bllmn-For og DAG-Shortst- Pths rs symptotisk kørti som funktion f n på sånn grfr (t ntgs t lgoritmrn kn rugs på pågæln grfr). Opgv 8 (0%) Spørgsmål (%): Angiv n frvning f knurn i træt nnfor som gør t til t rø-sort træ. Svr v t skriv n list f nvnn på sort knur og n list m nvnn på rø knur.
Spørgsmål (%): 6 8 0 I ovnstån rø-sort træ insætts unr rug f lgoritmn fr lærogn. Angiv hvilkt f nnstån fir trær som r rsulttt. 6 6 8 0 8 0 T T 2 6 8 0 0 6 8 T T 4 6
Opgv (4%) Angiv for hvr f følgn lgoritmr rs symptotisk kørti i Θ-nottion som funktion f n. Algoritm(n) i = n whil i > j = n whil j > i j = j i = i Algoritm2(n) i = j = whil i n whil j i j = j + i = i 2 Algoritm(n) i = whil i n j = whil j i j = j + i = i 2 Algoritm4(n) i = whil i n j = whil j i j = j 2 i = i +
Opgv 0 (%) I nn opgv ønskr vi t gmm n mæng punktr i plnn, og kunn svr på spørgsmål om t ks-prllll rktngl, uspænr. Et ksmpl på n mæng punktr og rs uspænt rktngl r illustrrt hrunr. 0 Vi gmmr punktrn i knurn i t søgtræ, hvor vi rugr punktrns x-koorintr som søgnøgl. Dt må ntgs t ingn x-koorint optrær i to forskllig punktr. Et ksmpl på t sånt træ r vist hrunr. Punktrns x-koorintr (træts søgnøglr) r ngivt til vnstr i knurn, punktrns y-koorintr r ngivt til højr. 6 4 8 8 2 2 6 0 8
Vi ustyrr nu nhvr knu v i søgtræt m følgn fir kstr informtionr (uovr i knun gmt x- og y-koorintr): v.xmx = størst x-væri i v s unrtræ v.xmin = minst x-væri i v s unrtræ v.ymx = størst y-væri i v s unrtræ v.ymin = minst y-væri i v s unrtræ (Husk t n knus unrtræ inklurr knun slv.) Som ksmpl vil t højr rn f ron i træt ovnfor hv følgn informtionr: v.xmx = 2 v.xmin = v.ymx = v.ymin = 2 Spørgsmål (%): Angiv hvorn n knus informtionr kn stmms i O() ti u fr informtionrn i knuns to ørn. (Et llr gg f ørnn kn vær NIL, hvilkt givr simpl spiltilfæl som u ikk høvr skriv). Vi lr nu søgtræt vær t rø-sort træ. Spørgsmål (%): Argumntér for t informtionrn i træts knur kn vlighols unr insættlsr og sltningr, un t kørtin O(log n) for insættlsr og sltningr ænrs. Spørgsmål (%): Angiv hvorn rlt f t rktngl, som gmt punktr punktrn uspænr, kn stmms i O() ti u fr træt.
Spørgsmål (%): Vi ønskr nu for hvr f fir sir f t uspænt rktngl t fin t punkt som liggr på nn si. Som illustrtion ønskr vi i ksmplt fr strtn f opgvn t fin fir punktr frmhævt nnfor. 0 Angiv hvorn mn i O(log n) ti kn gør tt v hjælp f træt. Spørgsmål (%): Vi vil nu grn opnå rsulttrn i spørgsmål (vs. kunn fin rlt f rktngl i O() ti) og (vs. kunn fin fir punktr, t på hvr si f rktnglt, i O(log n) ti) på n nn må. Insættlsr og sltningr skl stig kunn fortgs i O(log n) ti. Angiv hvorn tt kn opnås v t rug to trær (un kstr informtion i ll knur) i stt for ovnstån tstruktur. Dt må ntgs t hllr ingn y-koorint optrær i to forskllig punktr. 0