Write a procedure named f
that, when applied to the
sample arguments, returns the sample result. Your procedure may not
include any quoted data.
> (f '(a b c) '(d e f)) (a d)
(define (f x y) (sentence (first x) (first y)))
Write a procedure named phase
that takes a number as an argument. If
the number is less than zero, it returns ice
. If the number is
greater than one hundred, it returns steam
. Otherwise it returns
water
.
(define (phase x) (cond ((< x 0) 'ice) ((> x 100) 'steam) (else 'water)))
Program A has a running time proportional to the number of items it must process --- it's complexity is O(n). Program B's running time is proportional to the square of the number of items -- it is O(n2). Both programs process a test set of 100 items in one minute.
Can program A process 100,000 items a day?
Yes. 100,000 items = 1000 x 100 items
so running time = 1000 x 1 minute = 1000 minutes
There are 24 x 60 = 1440 minutes in a day, which is more than 1000.
Can program B process 100,000 items a year?
No. Running time here is 10002 = 1000 x 1000 = 1,000,000
minutes (a million minutes).
There are 1440 x 365 minutes in a
year, which is less than a million.