HW 1
HW 1
HW 1
These problems are a review of material from earlier courses that will serve us well in 101. 1. Geometric series. Problem 0.2 from the book. 2. Proving by induction. Wed like to show that 2 + 4 + 6 + + 2n = n(n + 1).
CSE 101
A nice way to do this is by induction. Let S (n) be the statement above. An inductive proof would have the following steps: Show that S (1) is true. Show that if S (1), . . . , S (k ) are true, then so is S (k + 1). Can you ll in the details? 3. Proving by induction, again. It isnt always trivial to pick suitable base case(s) for induction. For example, try problem 0.3(a) from the book. 4. Practice with big-O and . Consider the summation S (n) = 1c + 2c + 3c + + nc , where c is some xed positive integer. (a) Show that S (n) is O(nc+1 ). Hint: This is a one-liner. (b) Show that S (n) is (nc+1 ). Hint: Look just at the second half of the series. 5. Logarithms base two. Recall the equivalence: m = 2k k = log2 m. In this class, we will typically write log to mean log2 . (a) Consider the sequence: a1 = 1, ak+1 = 2ak What is the smallest k for which ak n? You can leave your answer in big-O notation. (b) Consider the sequence: a1 = 2, ak+1 = a2 k What is the smallest k for which ak n? You can leave your answer in big-O notation. 6. Logarithms base b. Recall the equivalence: m = bk k = logb m as well as the base transformation rule: loga m = (loga b)(logb m). (a) True or false: log2 n is O(log3 n)? (b) True or false: 2log2 n is O(2log3 n )? (c) True or false: (log2 n)2 is O((log3 n)2 )? 1
7. A d-ary tree is a rooted tree in which each node has at most d children. (a) We can number the levels of the tree as 0, 1, . . ., with level 0 consisting just of the root, level 1 consisting of its children, and so on. The largest level is the depth of the tree. Give a formula for the maximum possible number of nodes at level j of the tree, in terms of j and d. (b) Suppose the tree has depth k . Give a formula for the maximum possible number of nodes in the tree, in terms of k and d. You can leave your answer in big-O notation. (c) Suppose the tree has n nodes. What is the minimum the depth could possibly be, in terms of n and d? You can leave your answer in big-O format. 8. Suppose A() is a subroutine that takes as input a number in binary, and takes time O(n2 ), where n is the length (in bits) of the number. (a) Consider the following piece of code, which starts with an n-bit number x. while x > 1: call A(x) x = x/2 Assume that the division by two takes O(n) time on an n-bit number. On the rst iteration of the inner loop, x is n bits long. What is the length of x during the second iteration? The third iteration? How many times is the inner loop executed? Leave your answer in big-O form. What is the overall running time (in terms of n)? Again, use big-O. Is this a polynomial-time algorithm? (b) Now answer the same questions for this alternative piece of code. while x > 1: call A(x) x=x1 Assume that the subtraction operation takes O(n) time on an n-bit number.