DOC PREVIEW
UT Dallas CS 6363 - HW #1 Solutions

This preview shows page 1-2-3 out of 8 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1 CS 6363.002 - DESIGN AND ANALYSIS OF COMPUTER ALGORITHM HOMEWORK 1 Problem 1: Problem 2-2 p40 a/ We need to show that the elements of A′ form a permutation of the elements of A. b/ Loop invariant: At the start of the each iteration of the for loop of lines 2 – 4, A[j] =min{A[k]:j ≤ k ≤ n} and the subarray A[1..n] is a permutation of the values that were in A[j.. n] at the time that the loop started. Initialization: Initially, j = n and the subarray A[j.. n] consists of single element A[n]. The loop invariant trivially holds. Maintenance: Consider an iteration for a given value of j. By the loop invariant, A[j] is is the smallest value in A[j.. n]. Lines 3 – 4 exchange A[j] and A[j−1] if A[j] is less than A[j−1], and so A[j−1] will be the smallest value in A[j −1 · · · n] afterward. Since the only change to the subarray A[j −1 · · · n] is this possible exchange, and the subarray A[j · · · n] is a permutation of the values that were in A[j · · · n] at the time that he loop started, we see that A[j − 1 · · · n] is a permutation of the values that were in A[j − 1 · · · n] at the time that the loop started. Decrementing j for the next iteration maintains the invariant. Termination: The loop terminates when j reaches i. By the statement of the loop invariant, A[i] = min{A[k]: i≤ k ≤ n }and A[i · · · n] is a permutation of the values that were in A[i · · · n] at the time that the loop started. Loop invariant: At the start of each iteration of the for loop of lined 1 – 4, the subarray A[1 · · · i−1] consists of the i − 1 smallest values originally in A[1 · · · n] , in sorted order, and A[1 · · · n] consists of the n − i + 1 remaining values originally A[1 · · · n]. c/ Initialization: Before the first iteration of the loop, i = 1. The subarray A[1 · · · i − 1] is empty, and so the loop invariant vacuously holds.2 Maintenance: Consider an iteration for a given value of i. By the loop invariant, A[1 · · · i−1] consists of the i smallest values in A[1 · · · n], in sorted order. Part (b) showed that after executing the for loop of lines 2 – 4, A[i] is the smallest value in A[1 · · · n], and so A[1 · · · i] is now the i smallest values originally in A[1 · · · n], in sorted order. Moreover, since the for loop of lines 2 – 4 permutes A[i · · · n], the subarray A[i + 1 · · · n] consists of the n − i remaining values originally in A[1 · · · n]. Termination: The for loop of lines 1 – 4 terminates when i = n, so that i − 1 = n − 1. By the statement of the loop invariant, A[1 · · · i − 1] is the subarray A[1 · · · n − 1], and it consists of the n – 1 smallest values originally in A[1 · · · n], in sorted order. The remaining element must be the largest value in A[1 · · · n], and it is in A[n]. Therefore, the entire array A[1 · · · n] is sorted. d/ The running time depends on the number of iterations of the for loop of lines 2 – 4. For a given value of i, this loop makes n−i iterations, and i takes on the values 1, 2, ..., n−1.The total number of iterations, therefore, is Thus, the running time of bubblesort is Θ(n2) in all cases. The word-case running time is the same as that of insertion sort. Problem 2: 1. f(n) = 100n1.01 + log n = θ(n1.01) g(n) = n + (log n)5 = θ(n)  f(n) = Ω g(n) 2. Let m = log n, then n = 2m f(n) = (log n)log n = (log m)m. g(n) = n1.01 / log n = 21.01m / m = (2.)m / m3 lim→()()= lim →󰇧log 2.∗󰇨= ∞  f(n) = Ω g(n) 3. lim→()()= lim→2 4= lim→2 2 0  f(n) = О g(n) Problem 3: 1/Consider lim→(log )= lim→log log = 0  cn = o((log log n)n) 2/ = 1+ 2+ ⋯ 󰇡2󰇢+ . . +  ( ) 󰇡2󰇢+ . . + < < () 2 󰇡2󰇢< < () 󰇡2󰇢< <  Because 󰇡󰇢 = θ () and  = θ ()  ∑ = θ ()4 Problem 4: (3-4 p 62) 1. False. Let f(n) = n and g(n) = n2. Then, n = O(n2) but not n2 = O(n). 2. False. Let f(n) = n and g(n) = n2. Then, min(f(n), g(n)) = n but not n2 + n ≠ θ (n) 3. True. 4. False. Let f(n) = 2n and g(n) = n. Then, 2n = O(n) but not 22n = O(2n). 5. Yes and No. If f(n) < 1 for large n, then f(n)2 < f(n) and the upper bound will not hold. Otherwise, f(n) > 1 and the statement is trivially true. 6. Yes. f(n) = O(g(n)) implies g(n) = Ω(f(n)). We have f(n) ≤ c g(n) for positive c and thus  . f(n) ≤ g(n). 7. False. Let f(n) = 2n, then f(  )= 2, 2n = ω( 2 ) 8. Show that f(n) + o(f(n)) = θ (f(n)). Problem 5: (4.3-7, p62) ()= 4 󰇡3󰇢+  Apply Master Method with: a = 4; b = 3; f(n) = n Master method Case 1: T(n) =θ(nlog34) Now we apply substitution method: Guess: T(n) ≤ c nlog34 hold true for some n05 With n larger than 3n0: ()= 4 󰇡3󰇢+  ()≤4 [ (3)] +  ()≤  +  Since  > 0, we fail to prove that T(n) ≤ c nlog34 Hold true for n larger than n0. New guess: T(n) ≤ c nlog34 - dn hold true for some n0 With n larger than 3n0: ()= 4 󰇡3󰇢+  ()≤4 [ 󰇡3󰇢−󰇡3󰇢] +  ()≤  + −4󰇡3󰇢  T(n) ≤ c nlog34 - dn hold true when d > 3/4. T(n) = O(nlog34) (*) Similarly, we can prove that T(n) ≥ c’ nlog34 - d’n for some c’, d’ T(n) =Ω(nlog34) (**) From * and ** T(n) =ϴ(nlog34)6 Problem 6: (4.3-9 p. 88) Problem 7: 1/ T(n) = T(n-2) + n, where T(0) = 1 T(n) = n + [(n-2) + T(n-4)] T(n) = n + (n-2) + [ (n-4) + T(n-6)] T(n) = n + (n-2) + (n-4) + [(n-6) + T(n-8)] …….. T(n) = n + (n-2) + (n-4) + … + [(n-n + 2) + T(0)] T(n) = n + (n-2) + (n-4) + … + 2 + 1 T(n) = () + 1 = ϴ(n2) 2/ T(n) = 7 T(n/4) + n3, where …


View Full Document

UT Dallas CS 6363 - HW #1 Solutions

Documents in this Course
Exam #1

Exam #1

5 pages

lec4

lec4

5 pages

lec3

lec3

5 pages

lec1

lec1

3 pages

lec14

lec14

11 pages

lec13

lec13

22 pages

lec12

lec12

8 pages

lec11

lec11

3 pages

lec10new

lec10new

11 pages

lec9

lec9

13 pages

lec8

lec8

9 pages

lec7

lec7

10 pages

lec6

lec6

8 pages

lec7

lec7

10 pages

lec6

lec6

8 pages

lec4

lec4

5 pages

lec3

lec3

5 pages

lec1

lec1

3 pages

lec14

lec14

11 pages

lec13

lec13

22 pages

lec12

lec12

8 pages

lec11

lec11

3 pages

lec10new

lec10new

11 pages

lec9

lec9

13 pages

lec8

lec8

9 pages

lec4

lec4

5 pages

lec3

lec3

5 pages

lec1

lec1

3 pages

lec14

lec14

11 pages

lec13

lec13

22 pages

lec12

lec12

8 pages

lec11

lec11

3 pages

lec10new

lec10new

11 pages

lec9

lec9

13 pages

lec8

lec8

9 pages

lec7

lec7

10 pages

lec6

lec6

8 pages

lec14

lec14

11 pages

lec13

lec13

22 pages

lec12

lec12

8 pages

lec11

lec11

3 pages

lec10new

lec10new

11 pages

lec9

lec9

13 pages

lec8

lec8

9 pages

lec7

lec7

10 pages

lec6

lec6

8 pages

lec4

lec4

5 pages

lec3

lec3

5 pages

lec1

lec1

3 pages

greedy

greedy

4 pages

siphon

siphon

18 pages

hwk5

hwk5

3 pages

Load more
Download HW #1 Solutions
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view HW #1 Solutions and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view HW #1 Solutions 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?