CSc 340
Test 1
Wednesday
14 February 2001
Close book. Closed notes.
No Calculators allowed. Answers available when you leave.
Each question is worth 20 points.
1.
A number of students tried to improve on the algorithm for computing the value of a
polynomial p(x)=a
n
x
n
+ a
n1
x
n1
+ … +a
1
x+ a
0
as follows,
p=a
0
for(i=1; i<=n; i++)
p=p+a
i
*pow(x,i)
either making the argument that multiplication is the basic operation and there is only
one multiplication per iteration or that a call to pow() is the basic operation and there
is only one call to pow() per iteration.
Discuss why neither multiplication nor a call
to pow() is a good choice for the basic operation.
2.
Suppose one uses the following algorithm from the book to determine the index of K
in the ordered array E[1]<E[2]<…<E[100]:
divide the array into n segments of equal
length, determine whether to search for K in a segment by comparing K to the last entry
in the segment, and then do a linear search in the target segment.
(a) Perform a worst
case analysis of the number of comparisons to determine the index of
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
This is the end of the preview.
Sign up
to
access the rest of the document.
 Spring '01
 varies
 Analysis of algorithms, Computational complexity theory, Divide and conquer algorithm

Click to edit the document details