75 views

Uploaded by pr11

- 51658218 Non Linear Data Structures
- Algorithms and Datastructures
- JavaScript Cookbook 2nd Edition
- MPRESS FAQ
- DS Lec 11 BST
- 07 Images
- dp_s02_l01_try
- VSEM
- Road Widening
- Algorithms 1
- PSCPEC4 Verygood
- Is Uppercase
- M2000 Basic Skill Training compress_PART2.ppt
- Zoho Round 3 Experience-Muthu
- Connor Ch9
- Solving Recurances
- Nsa
- 29
- Driven Disposal Psyche Soul Breach Dynamics
- Regular Expressions Cheat Sheet v2

You are on page 1of 7

Midterm 2 November 9

**Midterm 2 for CS 170
**

,

(last) (ﬁrst)

Print your name:

Sign your name: Write your section number (e.g. 101): Write your sid:

One page of notes is permitted. No electronic devices, e.g. cell phones and calculators, are permitted. Do all your work on the pages of this examination. If you need more space, you may use the reverse side of the page, but try to use the reverse of the same page where the problem is stated. You have 80 minutes. The questions are of varying diﬃculty, so avoid spending too long on any one question. In all algorithm design problems, you may use high-level pseudocode. DO NOT TURN THE PAGE UNTIL YOU ARE TOLD TO DO SO. Problem 1 2 3 4 5 Total Score/Points /10 /10 /10 /10 /10 /50

03.2 b. in order.25 c.20.Midterm 2 2 1. 11. Also list.. 0. 000. f } and assume the characters occur within a ﬁle with frequencies . d.03 f. Give the optimal Huﬀman encoding tree for this situation.4 .2 . respectively. 001.25. 11 > 000 0 000 1 001 0 001 1 100 0 010 0 010 1 011 1 110 0 100 1 000 1 (b) Uncompress the Lempel-Ziv string below under the assumptions that each index is coded with 3 bits and the dictionary holds a maximum of 8 words... . 1.. .. Give the Lempel-Ziv encoding for the string below and list the words in the dictionary in the order in which they were added to it. Compression (a) Consider the Lempel-Ziv compression scheme where the dictionary is limited to 8 words and 3 bits are used to encode an index into the dictionary.16 d. e. 1. .. Recall that the dictionary begins with the empty string as the sole entry with index 0.01.04 a. . 1. the words in the dictionary. 10. 00. . 0. c.0 . 0001|0000|0100|0110|0011|0111|0101|1001|1011|0011 < . b..35 Put a 0 and a 1 label on the pair of edges out of each vertex as you please. . 01 > 1 0 00 000 11 001 01 0001 111 11 (c) Consider the alphabet { a.01 e. 00. 01.35. 0|1|00|01|010|10|11|001|100|011|1 < .16. 010.6 .

. 316 = 1(mod 10) 328 = 316 · 38 · 34 = 1 · 1 · 1 = 1(mod 10) (b) What is the inverse of 32 (mod 113)? From extended-Euclid’s algorithm (x . The private key d = e−1 ( mod (p − 1)(q − 1) = 7−1 ( mod 60). x) and (a. 113) = 1. 38 = 1(mod 10). x y a b 113 32 17 -60 32 17 -9 17 17 15 8 -9 15 2 -1 8 2 1 1 -1 1 0 1 1 So −60 · 32 + 17 · 113 = gcd(32. y). (unless p = q in which case there are p such numbers. 7). so 7−1 = 43 (mod 60). 60) = 1. 34 = 1(mod 10).b we use Extended Euclid: x 60 7 4 3 1 y 7 4 3 1 0 a -5 3 -2 1 1 b 43 -5 3 -2 1 So 43 · 7 − 5 · 60 = gcd(7. iq for i ∈ [1. (c) Given a number n = pq that is the product of two prime numbers p and q. and 0. b) → (b . p − 1]. As for problem 2. so 32−1 = −60 = 53 (mod 113). 1. . . Number Theory and RSA (a) What is 328 (mod 10)? 32 = 9(mod 10).) (d) Give a decryption key (private key) for the public RSA key (77. a −b x/y ). q − 1]. where ax + by = gcd(x. how many numbers in Zn = {0. y ) → (x mod y. .Midterm 2 3 2. n − 1} do not have multiplicative inverses modulo n? p + q − 1: ip for i ∈ [1. No points deducted if you missed this.

0] ←true for v ∈ V − {s} do A[v. (b) Give your recurrence for the solution of a given sub-problem in terms of other subproblems. i − 1]) if i > 0 v=s if i = 0 (c) Give a non-recursive pseudo-code speciﬁcation of the algorithm. . n]. . . i] = ∃ path from s to v spelling a1 a2 . . i − 1] then A[v. For v ∈ V and i ∈ [0. n do for v ∈ V − s do { A[v. 0] ←false for i ← 1 . E) where each edge is labeled with a character from an alphabet Σ. n] then print “Accept” else print “Reject” . A[s. an if there is a path from s to f of n edges whose labels spell the sequence A. i] = ORw→v (label(v → w) = ai and A[w. . Automaton Recognition Consider a directed graph G = (V. let: A[v. and another f as the ﬁnal vertex. i] ← true } if A[t.Midterm 2 4 3. . (a) Formally deﬁne the set of sub-problems you will solve. We say that G accepts a string A = a1 a2 . and we designate a special vertex s as the start vertex. Design an O((|V | + |E|)n) dynamic programming algorithm to determine whether or not A is accepted by G. A[v. ai . i] ← false for w → v ∈ E do if label(w → v) = ai and A[w.

j − 1] if i < j − 1 P [i. n − l do { j ←i+l if l > 1 then P [i. . k] + C[k + 1. fewest cuts) palindrome partition of A. . (a) Formally deﬁne the set of sub-problems you will solve. j] = min{ mink∈[i. aj is a palindrome (true/false). j]. and C[i. .Midterm 2 5 4.g. . j] ← ∞ for k ← i . Design a dynamic programming algorithm to determine the coarsest (i.j−1]{C[i. (This is the complexity you were expected to acheive. n] cuts The algorithm is O(n3 ). . . j] = ai ai+1 . if P [i. wk whose reverse wk wk−1 . . “abbabba”. for i ← 1 . k] + C[k + 1. . . .e. j] = a = aj if i = j − 1 i true if i = j C[i. . of cuts in the best palindrome partition of ai ai+1 . . n − 1 do for i ← 1 . ai = aj and P [i + 1. j] ← 0 } Best palindrome partition has C[1. Consider a string A = a1 a2 . 1) for l ← 1 . (b) Give your recurrence for the solution of a given sub-problem in terms of other subproblems. . j − 1 do C[i. i]. j] ← (ai = aj ) C[i. . . j]} if P [i. w1 is the same string. “aba|b|bbabb|a|b|aba” is a palindrome partitioning of “ababbbabbababa”. j] ← (ai = aj ) and P [i + 1. an . . j]}.) . C[i. For all 1 ≤ i ≤ j ≤ n we solve two subproblems: P [i. j] then C[i. j] then 0 else ∞} (c) Give a non-recursive pseudo-code speciﬁcation of the algorithm and state its complexity in terms of n. C[i. e. Palindrome Parsing A palindrome is a word w1 w2 . j − 1] else P [i. For example. j] ← min{C[i. . A partitioning of the string is a palindrome partitioning if every substring of the partition is a palindrome. i]) ← (true. . n do (P [i. j] = no. aj .

aj is a palindrome (true/false). and and for all 0 ≤ i ≤ n we solve the subproblems: C[i] = no. wk whose reverse wk wk−1 . (a) Formally deﬁne the set of sub-problems you will solve. j] ← (ai = aj ) and P [i + 1. . . . i]} } Best palindrome partition has C[n] cuts The algorithm is O(n2 ). j − 1] } C[0] ← 0 for i ← 1 . an .e. . of cuts in the best palindrome partition of a1 a2 . j] ← true P [j − 1. . i]} if i > 0 0 if i = 0 (c) Give a non-recursive pseudo-code speciﬁcation of the algorithm and state its complexity in terms of n. . w1 is the same string. “abbabba”.Midterm 2 6 4. 1] ← true for j ← 2 .i−1] {C[k] + 1 : P [k + 1.g. Consider a string A = a1 a2 . . For all 1 ≤ i ≤ j ≤ n we solve the subproblems: P [i. e. . For example. (Congratulations if you got this one. 1 do P [i. A partitioning of the string is a palindrome partitioning if every substring of the partition is a palindrome. “aba|b|bbabb|a|b|aba” is a palindrome partitioning of “ababbbabbababa”. n do { C[i] ← C[i − 1] + 1 for k ← 1 . . . (b) Give your recurrence for the solution of a given sub-problem in terms of other subproblems. i − 2 do C[i] ← min{C[i]. . n do { P [j. Design a dynamic programming algorithm to determine the coarsest (i. . . ai . . . j] ← (aj−1 = aj ) for i ← j − 2 .) . fewest cuts) palindrome partition of A. ai = aj and P [i + 1. . . P [1. j] = a = aj if i = j − 1 i true if i = j C[i] = mink∈[0. j − 1] if i < j − 1 P [i. j] = ai ai+1 . . Palindrome Parsing A palindrome is a word w1 w2 . C[k] + P [k + 1.

Entropy and Huﬀman Codes [Hard] Suppose that for alphabet Σ the probability of seeing character a is pa . Recall the formula 1 for the entropy of the alphabet E(Σ) = a∈Σ pa log2 pa . .51/pa + 2 = O(log 1/pa ). Let p(v) be the probability of the tree rooted at v. Therefore. . w_k−1 s_k−1 w_2 w_1 s_2 v=w_0 s_1 Consider sj for any j ≥ 2. so it must be that pa 1.5k−2 p(w1 ).Midterm 2 7 5. wk−1 be the sequence of nodes encountered from v going back to the root of the tree.) Suppose that the leaf node v for character a is placed at depth k in an optimal Huﬀman tree. w1 . its depth in an optimal Huﬀman tree is O(log p1 ). By induction it then follows that p(wk−1 ) ≥ 1. Let w0 = v. We asserted in class that the length of a Huﬀman encoded ﬁle is O(nE(Σ)).5k−2 ≤ 1 which implies that k ≤ log1 . . But p(w1 ) ≥ pa and p(wk−1 ) = 1. Because sj−1 and wj−2 are joined before sj is joined to the subtree rooted at wj−1 it must be that p(sj ) ≥ p(sj−1 ) and p(sj ) ≥ p(wj−2 ). p(sj ) ≥ (p(sj−1 ) + p(wj−2 ))/2 = p(wj−1 )/2 and p(wj ) = p(wj−1 ) + p(sj ) ≥ 1.5p(wj−1 ). . The essential fact needed to show this is that for a character a. w2 . and let si be the child of wi not on this path. The ﬁgure illustrates. Prove this with a a careful argument (Hint: Consider a node with this frequency and think about what must be true of the frequencies of all the children immediately oﬀ the path from this node to the root.

- 51658218 Non Linear Data StructuresUploaded bynaaz_pinu
- Algorithms and DatastructuresUploaded byBeeAshh
- JavaScript Cookbook 2nd EditionUploaded bymaianhtoihehe
- MPRESS FAQUploaded byAbhijithMSudhakaran
- DS Lec 11 BSTUploaded bywilliamsock
- 07 ImagesUploaded byAshutosh Sharma
- dp_s02_l01_tryUploaded byHoria Călin
- VSEMUploaded byKaushal Pandey
- Road WideningUploaded byK D
- Algorithms 1Uploaded byshijonj5508
- PSCPEC4 VerygoodUploaded byAmritaRupini
- Is UppercaseUploaded bySasa Leung
- M2000 Basic Skill Training compress_PART2.pptUploaded byWael Maher
- Zoho Round 3 Experience-MuthuUploaded bysuganya004
- Connor Ch9Uploaded byJose Haro
- Solving RecurancesUploaded bySam McGuinn
- NsaUploaded byFahmi Arsandy
- 29Uploaded byArnav Guddu
- Driven Disposal Psyche Soul Breach DynamicsUploaded bysfofoby
- Regular Expressions Cheat Sheet v2Uploaded byJorge Kacic M.
- creatingUploaded byKien Pham
- hw03-reglang-solution.docUploaded byankush ghosh
- 2.Microprocessor-Microcontroller-Lab-1 2013 Regulation 2013 RegulationUploaded bydhanaram
- ATL (Adjust Text Lines) Utility CommandUploaded byKOSTYÁN, Ákos (Antal)
- Print DirectUploaded byapi-3849768
- Algorithms Dynamic ProgrammingUploaded bycmatose
- Balanced Search Trees in HaskellUploaded byAnindya Mukherjee
- Technical Aptitude Questions eBookUploaded bySundaresan Munuswamy
- Poster LandscapeUploaded byAlbertus Holbein
- Technical Aptitude QuestionsUploaded byAnupmaSangwan

- Busby Tiffany Module4Assignment FacilitationCourseUploaded byTiffany Busby
- Black Seed JurnalUploaded byerlanggawidyaputri
- Paper293309.pdfUploaded bykirandevi1981
- CD 001526Uploaded byPaul Vargas
- why do students misbehave in schoolUploaded byapi-355889713
- Jazz TheoryUploaded bystickeyfinger
- Durkheim-A Bibliography of Works by DurkheimUploaded bydokumento
- 9 PrinciplesUploaded byhoaiphuong762322
- Essay - Science vs ReligionUploaded byManyu Angrish
- board exam cardiopulmonUploaded byAL-Neil Antonio
- Ot SchematicUploaded bySanthoshi Sadhanaa
- Sample Grant ProposalUploaded byDC4K
- Decision MakingUploaded bylpeless
- Butlers ChocolatesUploaded byIshita Jain
- 9709_s12_ms_12Uploaded byMADAN
- Appositive Phrases WorksheetUploaded byAnthony Tan
- Irony DefinitionUploaded byMalik Faraz
- Metaphor Epichess or PlatypusUploaded byJohn Marris
- JuBTA Membership Application FormUploaded byEdGonzales
- 2010-11 ACCT2111 SyllabusUploaded byYawer Ijaz
- APA ManualUploaded byFaten Ateia
- English language teacher development in a Russian university: Context, problems and implicationsUploaded byeltipovalencia
- final draft of ethnography essayUploaded byapi-270651000
- Option Trading SecretsUploaded bygelu0406
- Stroke Palliative Approach PathwayUploaded byBenget Luph Mei
- Cognitive Factions in a Top Management Team: Surfacing and Analyzing Cognitive Diversity using Causal MapsUploaded byDione Bhaskara
- China Education - Inside a Chinese Test [gaokao].pdfUploaded byA Rana
- Fourier AppUploaded byUblida Tise
- nuerocutaneous-disorders2.pptxUploaded byLeila Ali
- DTC agreement between Bangladesh and PakistanUploaded byOECD: Organisation for Economic Co-operation and Development