This preview shows pages 1–2. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: CS 473: Algorithms, Fall 2010 HW 0 (due Tuesday, August 31st in class) This homework contains four problems. Read the instructions for submitting homework on the course webpage . In particular, make sure that you write the solutions for the problems on separate sheets of paper. Write your name and netid on each sheet. Collaboration Policy: For this home work, each student should work independently and write up their own solutions and submit them. Read the course policies before starting the homework. Problems 13 should be answered in Compass as part of the assessment HW0Online. Note: Before starting to answer the questions on compass, read the following recaps: lg n = log 2 n and ln n = log e n . lg 2 n = (lg n ) 2 and lg lg n = lg(lg n ). H n is the n th harmonic number and H n = n i =1 1 /i ln n + 0 . 577215 ... . F n is the n th Fibonacci number and satisfies the recurrence F n = F n 1 + F n 2 with F = ,F 1 = 1. It can be verified by induction (try it!) that F n = ( n ( 1 / ) n ) / 5 where = (1 + 5) / 2 is the golden ratio. 1. (10pts) True/False questions on background. 2. (25pts) Asymptotics. 3. (25 pts) Basic recurrences. 4. (40pts) Euclids algorithm for finding the greatest common divisor (gcd) of two nonnegative numbers a,b is the following. Algorithm Euclid ( a,b ): 1: If ( b = 0) 2: return a 3: Else 4: return Euclid ( b,a mod b ) Prove via induction that the algorithm correctly computes the gcd of a,b . Also prove that the running time of the algorithm is polynomial in the input size. Note that the input size is (log a + log b ). Assume that the mod operation along with other basic arithmetic operations take constant time. Hint: For both parts think about how a + b is changing in each recursive call. A slow version of the Euclid algorithm is the following....
View
Full
Document
This note was uploaded on 04/18/2011 for the course CS 473 taught by Professor Chekuri,c during the Spring '08 term at University of Illinois, Urbana Champaign.
 Spring '08
 Chekuri,C
 Algorithms

Click to edit the document details