Difference between revisions of "Chapter 2"

From The Algorithm Design Manual Solution Wiki
Jump to navigation Jump to search
Line 22: Line 22:
 
                 ''for'' k:=j ''to'' i+j ''do''
 
                 ''for'' k:=j ''to'' i+j ''do''
 
                     r:=r+1
 
                     r:=r+1
         return(r)
+
         ''return''(r)
  
  
Line 33: Line 33:
 
                     ''for'' l:=1 ''to'' i+j-k ''do''
 
                     ''for'' l:=1 ''to'' i+j-k ''do''
 
                         r:=r+1
 
                         r:=r+1
         return(r)  
+
         ''return''(r)  
  
 
[[2.3|Solution]]
 
[[2.3|Solution]]
Line 45: Line 45:
 
       ''for'' <math>k:=i+j-1</math> ''to'' <math>n</math> ''do''
 
       ''for'' <math>k:=i+j-1</math> ''to'' <math>n</math> ''do''
 
       <math>r:=r+1</math>
 
       <math>r:=r+1</math>
         return(<math>r</math>)
+
         ''return''(r)
  
  
Line 57: Line 57:
 
     <math>xpower:=x*xpower;</math>
 
     <math>xpower:=x*xpower;</math>
 
     <math>p:=p+a_i * xpower</math>
 
     <math>p:=p+a_i * xpower</math>
    end
 
 
#How many multiplications are done in the worst-case? How many additions?
 
#How many multiplications are done in the worst-case? How many additions?
 
#How many multiplications are done on the average?
 
#How many multiplications are done on the average?

Revision as of 19:02, 3 September 2020

Algorithm Analysis

Program Analysis

2.1. What value is returned by the following function? Express your answer as a function of . Give the worst-case running time using the Big Oh notation.
  mystery(n)
      r:=0
      for i:=1 to n-1 do
          for j:=i+1 to n do
              for k:=1 to j do
                  r:=r+1
       return(r)

Solution


2.2. What value is returned by the following function? Express your answer as a function of . Give the worst-case running time using Big Oh notation.
   pesky(n)
       r:=0
       for i:=1 to n do
           for j:=1 to i do
               for k:=j to i+j do
                   r:=r+1
       return(r)


2.3. What value is returned by the following function? Express your answer as a function of . Give the worst-case running time using Big Oh notation.
   prestiferous(n)
       r:=0
       for i:=1 to n do
           for j:=1 to i do
               for k:=j to i+j do
                   for l:=1 to i+j-k do
                       r:=r+1
       return(r) 

Solution


2.4. What value is returned by the following function? Express your answer as a function of . Give the worst-case running time using Big Oh notation.
  conundrum()
      
      for  to  do
      for  to  do
      for  to  do
      
       return(r)


2.5
2.6. Suppose the following algorithm is used to evaluate the polynomial
   
   
   for  to  do
   
   
  1. How many multiplications are done in the worst-case? How many additions?
  2. How many multiplications are done on the average?
  3. Can you improve this algorithm?


2.7. Prove that the following algorithm for computing the maximum value in an array is correct.
  max(A)
     
     for  to n do
           if  then 
     return (m)

Solution

Big Oh

2.8. #Is ?
  1. Is ?


2.9. For each of the following pairs of functions, either is in , is in , or . Determine which relationship is correct and briefly explain why.
  1. ; +
  2. ;
  3. ;
  4. ;
  5. ;
  6. ;
  7. ;
  8. ;

Solution


2.10. For each of the following pairs of functions and , determine whether , , or both.
  1. ,
  2. ,
  3. ,
  4. ,
  5. ,
  6. ,


2.11
2.12
2.13
2.14
2.15
2.16
2.17
2.18
2.19
2.20
2.21
2.22
2.23
2.24
2.25
2.26
2.27
2.28
2.29
2.30
2.31
2.32
2.33
2.34
2.35
2.36

Summations

2.37
2.38
2.39
2.40
2.41
2.42
2.43

Logartihms

2.44
2.45
2.46
2.47

Interview Problems

2.48
2.49
2.50
2.51
2.52
2.53
2.54
2.55


Back to Chapter List