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: Assignment 1 COSC 3P03, Algorithms Winter, 2011 Due: Feb. 4, Friday, noon. 1. (10) For any integer n 0, design an algorithm that computes the total number of 1s in n s binary representation. For example, let A be your algorithm (function), then A (10) should return 2, while A (7) should return 3. Note that your algorithm should have a running time of O (log n ). Justify your answer. Note that the input to your algorithm is a decimal integer n . You need to do the following: (1) give a description of your algorithm; and (2) give its analysis. One such recursive function/algorithm is as follows: A(n) if n < 2 return n else return ((n%2) + A(n/2)) This algorithm is similar to the binary search and has a running time of O (log n ). Specifically, let t ( n ) be the running time for the input n , then t ( n ) = t ( n/ 2) + c which we know has a solution of O (log n ). An observation is that the length of the binary representation of n is ceilingleft log n ceilingright bits, so the time to add up all the binary bits would also be O (log n ), although you need to convert n to its binary equivalent first which takes O (log n ) time as well. 2. (5) What is the largest k such that if you can multiply 3 3 matrices using k multiplications, then you can multiply n n matrices in time o ( n log 7 )? What would the running time of this algorithm be? You can assume that n is a power of 3....
View
Full
Document
This note was uploaded on 12/12/2011 for the course COSC 3P03 taught by Professor Qiu during the Fall '11 term at Columbia College.
 Fall '11
 Qiu

Click to edit the document details