Sunteți pe pagina 1din 9

SIGACT News 36 Fall 1980

A General Method for Solving Divide-and-Conquer Recurrences I

Jon Louis B e n t l e y 2
D o r o t h e a Haken
James B. Saxe
D e p a r t m e n t of Computer Science
Carnegie-Mellon University
P i t t s b u r g h , Pennsylvania 1 5 2 1 3

Abstract

The approximate complexity of divide-and-conquer algorithms is often described


by r e c u r r e n c e relations of the form
T(n) = k T ( n / c ) + f(n) .
The only w e l l - d e f i n e d method currently used for solving such recurrences consists
of solution tables for fixed functions f and varying k and c. In this note w e d e s c r i b e
a unifying method for solving these recurrences that is both general in applicability
and e a s y to apply. l h i s method is appropriate both as a classroom technique and as
tool for practicing algorithm designers.

1. Introduction

The mathematical analysis of algorithms has proven to be an important s u b j e c t of


both p r a c t i c a l and theoretical interest. One school within this field, championed by
P r o f e s s o r D. E. Knuth of Stanford University, has concP.ntrated on exact analyses. In
addition to providing practical tools (i.e., the algorithms analyzed), this research has
also produced much deep and beautiful mathematics. On the other hand,
approximate analyses, although less sul)stantial mathematically, are still of p r a c t i c a l
Importance. In such analyses, only the leading term of the desired function is given,
and t h a t often only to within a multil)licative factor. It is this second t y p e of
analysis t h a t w e will study in this note.

The approximate running times of recursive algorithms can often be e x p r e s s e d by


simple r e c u r r e n c e relations. Divide-and-conquer algorithms are an important
s u b c l a s s of rectlrsive algorithnls (see Aho, t4opcroft and Ullman [ 1 9 7 4 , Section 2.6.]
for a discussion of this class). The rectirrence relations describing the approximate
c o m p l e x i t i e s of these algorithms as a function of tile problem size, n, f r e q u e n t l y

1This research was suppolted in part by the Office of Naval Researchunder Contract N00014-76-C-0370.

2Also with the Department of Mathenlalics,


SIGACT News 37 Fall 1980

h a v e t h e form 3
T ( 1 ) given,
T ( n ) = k T ( n / c ) + f(n).
M u c h w o r k has b e e n done on s y s t e m a t i c w a y s of solving r e c u r r e n c e s of this form;
s e e , f o r e x a m p l e , Aho, Hopcroft and Ullman [ 1 9 7 4 , pp. 6 4 - 6 5 J , Borodin and M u n r o
[ 1 9 7 5 , p. 8 0 ] , Keller [ 1 9 8 0 ] , and Stanat and McAIlister [ 1 9 7 7 , pp. 2 4 9 , 2 5 5 ] . The
o n l y w e l l - d e f i n e d methods d e s c r i b e d by the above authors, h o w e v e r , c o n s i s t of
s o l u t i o n t a b l e s for f i x e d functions f and varying k and c. Although this m e t h o d Is
q u i t e s a t i s f a c t o r y w h e n appliecl to r e c u r r e n c e s with common f, t h e r e are many t i m e s
w h e n a f u n c t i o n f a r i s e s t h a t has not been previously t a b u l a t e d .

In t h i s n o t e w e d e s c r i b e a general method for solving r e c u r r e n c e s of t h e a b o v e


form. Our m e t h o d is b a s e d on rewriting the r e c u r r e n c e into a s t a n d a r d t e m p l a t e ,
w h i c h c a n t h e n be solved easily with the help of a small t~lble. This t e m p l a t e is
i l l u s t r a t e d for one e x a m p l e in Section 2, and then d i s c u s s e d in Section 8 for a more
g e n e r a l c a s e ( t h o u g h still confinecl to c = 2). In Section 4 we apply tile t e m p l a t e t o
s o l v e a n u m b e r of p a r t i c u l a r r e c u r r e n c e s . The application of the t e m p l a t e to t h e
c a s e t h a t c ~ 2 is the s u l ) j e c t of Section 5. Extencling this w o r k to solve a b r o a d e r
c l a s s of r e c u r r e n c e s is the s u b j e c t of Section 6, and conclusions are t h e n o f f e r e d
in S e c t i o n 7. The primary contribution of this paper Is not in solving any p a r t i c u l a r
n e w r e c u r r e n c e s , but r a t h e r in providing a general and s u c c i n c t method by w h i c h
a p p r o x i m a t e s o l u t i o n s may be found for a large class of r e c u r r e n c e s . It has a l r e a d y
b e e n t h e e x p e r i e n c e of the authors that this method is an e x c e l l e n t d i d a c t i c tool tn
the classroom context.

2, A Simple Example

In t h i s s e c t i o n w e will examine the r e c u r r e n c e


T(1)=1,
T(n) = 2T(n/2) + n .
R e c u r r e n c e s similar to this arise in tile (approximate) analysis of the M e r g e S o r t a n d
F a s t Fourier T r a n s f o r m algorithms; both of t h e s e algorithms (and their r e c u r r e n c e s )
are d e s c r i b e d by Aho, Hol)croft and UIIman [ 1 9 7 4 ] .
To s o l v e this r e c u r r e n c e we rearrange the recursive part as
T(n) = n + 2T(n/2) .
E x p a n d i n g t h e r e c t l r s i v e definition of T ( n / 2 ) s h o w s that
T(n) = n + 2[n/2 + 2T(n/4)] ,
a n d m u l t i p l y i n g and cancelling yields
T(n) = n + n + 4T(n/4) .
( W e will s e e Ill t h e n e x t s e c t i o n that this ability to cancel Is critical.) Applying t h e
d e f i n i t i o n of T ( n / 4 ) to 1his e x p r e s s i o n shows that
T(n) = n + n + n + 8T(n/8) .

3 N o t e that T(n) is defined only when n is a power of c; the implications of this restrictioP, are discussed by Aho,
Hopcroft and UIIman [ 1974, p. 65].
SIGACT News 38 Fall 1980

T h i s p r o c e s s of e x p a n s i o n and cancellation can be i t e r a t e d Ig n times to yietd 4

T ( n ) = ~ i~<q n] + n'T(l)
__ gn

1 + T(1 )]
=n[l_._g n

= n[Ign+ 1],

M a t h e m a t i c a l induction can now be used to show formally that this is i n d e e d t h e


u n i q u e s o l u t i o n to t h e above r e c u r r e n c e .

In t h e n e x t s e c t i o n w e will see how the technique used here to s o l v e t h i s


r e c u r r e n c e c a n be used to solve many d i v i d e - a n d - c o n q u e r r e c u r r e n c e s . The c r u c i a l
" t r i c k " in t h a t s e c t i o n is to r e w r i t e the r e c u r r e n c e so that s u c c e s s i v e t e r m s c a n c e l
n i c e l y as t h e r e c u r r e n c e is " i t e r a t e d " to a solution.

3. The Template

In t h i s s e c t i o n w e will i n v e s t i g a t e r e c u r r e n c e s of the form


T(1 ) given, (1)
T(n) = kT(n/2) + f(n).
As m e n t i o n e d b e f o r e , this r e c u r r e n c e is defiped only for n a p o w e r of t w o . To s o l v e
t h e r e c u r r e n c e w e will r e w r i t e it into the template
T ( 1 ) given, (2)
T ( n ) = 2 P T ( n / 2 ) 4. nPg(n),
w h e r e p = Ig k and g(n) = f ( n ) / n p. This new r e c u r r e n c e is easily s o l v e d using t h e
" i t e r a t i o n and c a n c e l l a t i o n " t e c h n i q u e of Section 2; it has the unique solution
T ( n ) = n P [ g ( n ) + g ( n / 2 ) + g ( n / 4 ) + ... + g(4) + g(2) + T ( 1 ) ] .
( N o t e t h a t this solution is e a s y to e x p r e s s in terms of g b e c a u s e n P = 2 P . ( n / 2 ) P ;
t h i s is t h e g e n e r a l i z a t i o n of the cancellation p r o p e r t y of the previous s e c t i o n . ) W e
a b b r e v i a t e t h e a b o v e solution as
T(n) = nP[T(t) + ~(n)], (8)
where g' Is d e f i n e d as

= g(21).
1 _<i_<lg n

M a t h e m a t i c a l induction on the p o w e r s of two call be used to s h o w t h a t E q u a t i o n 8 Is


I n d e e d t h e unique solution to the r e c u r r e n c e of Equation 2,

The above facts I)rovide us with a method for solving any r e c u r r e n c e in t h e form
o f E q u a t i o n 1. We c a s t it in the template of Equation 2 by dividing and t a k i n g a
l o g a r i t h m ; and then the solution to the r e c u r r e n c e is given by Equation 8. The £ n l y
c o m p l i c a t e d p a r t of this p r o c e s s is determining the sum implicit in the f u n c t i o n g tn

4Throughout this paper w e use Ig n as an abbreviation for log 2 n and Ig j n as an abbreviation for (Ig n) j.
SIGACT News 39 Fall 1980

E q u a t i o n 8, av2(l this can usually be done with the aid of the following t a b l e In w h i c h
we describe g in relation to g,
Table 1

o(nq) q<O ! 0(1)


IgJ n j~O ': (Ig j+l n)/(j+l +O(IqJ_ n)
~(nq) q>O i 8(g(n))
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . L . . . . . . . . . . . . . . . . . . . . . . . .

E a c h of t h e s e e n t r i e s (;nil I)e vcrified easily by expanding tile sum d e f i n i n g 9. For


t h e t h i r d e n t r y w e use 9 in lhe followin(j r e s t r i c t e d sense: w e w r i t e g(n) = ~ ( n q ) If
t h e r e e x i s t s an n o and an a>O such that g(cn) >_ acqg(n) for all c>1 and all n>no,

4. Examples

II1 t h i s s e c t i o ~ w e will s t u d y a f e w common r e c u r r e n c e s t h a t have a p p e a r e d in


t h e l i t e r a t u r e and s h o w that they can be solved by the method of S e c t i o n ,..3. !it
t h e s e e x a m p l e s w e will assume that T is defined only at p o w e r s of t w o and t h a t
s o m e Initial value ] ( 1 ) is given.

Example 1. T(n) = r ( n / 2 ) + 1

This r e c u r r e n c e can be used to descril)e the w o r s t - . c a s e c o s t of p e r f o r m i n g a


b i n a r y s e a r c h in an o r d e r e d talkie., see Knuth [ 1 9 7 3 , Section 6.2.1J for a d e s c r i p t i o n
of t h a t a!lgorithm. f h e r e c t , ' r e n e e can be cast in the template of Equation 2 w i t h
p = 0 and g(n) = 1. By the s e c o n d entry in Table 1 ( s e t t i n g j = O) w e h a v e
T(Iq) = 2 0 T ( n / 2 ) + nO(Ig 0 n)
= nO[T(1) + Ig n + 8(1)]
= Ig n +#(1).

E x a m p l e 2, T(n) = 2 T ( n / 2 ) + n Ig n

This r e c t l r r e n c e arises in a mtnltittu(le of applications, Kunq r1978] d e s c r i b e s an


I~
a l g o r i t h m for' c o m p u t i n g the n norrnalize(l (~.r'ivatives P (i)' (t)/i.~for
t i n 1 ..... n, w h e r e P
ls an n--th ( t e g r e e polynomial; the running time of his algorithm is d e s c r i b e d by t h i s
recurrence. Given a s e t of n t)oints in 8 - s p a c e , tile "All N e a r e s t N e i g h b o r s " p r o b l e m
c a l l s f o r fin(ling t h e n e a r e s t ileighbor for each point in the s e t among the r e s t of t h e
p o i n t s ; B e n t l e y and Shamos's [_1976J algorithm for this problem has running time
d e s c r i b e d hy t h e r e c u r r e n c e . Ktlr-io, l_uccio and Preparata L I g g 5 J d e s c r i b e t h e
p r o b l e m of c o m p u t i n g all the maximal elements in a s e t of v e c t o r s . (Vector A
d o m i n a t e s v e c t o r B if A is g r e a t e r than B ill all cOral)orients; a v e c t o r is m a x i m a l irl a
s e t if it is not d o m i n a t e d by any other v e c t o r in the set.) They give algorithms for
f i n d i n g t h e maxima of k-(lirilensional v e c t o r sets; their algorithm for the c a s e k = 4
h a s r u n n i n g time d e s c r i b e d hy this r e c u r r e n c e . This r e c u r r e n c e also d e s c r i b e s t h e
n u m b e r of c o m p a r a t o r s nee(le(I to implement Batcher's nona(laptive o d d - e v e n m e r g e
SIGACT News 40 Fall 1980

s o r t ( w h i c h is described l)y t_iu [ I 977, pp. 2 0 0 - 2 0 3 ] ) .

To c a s t this recurrence in the template of Equation 2 we let p = 1 and g(n) = Ig n.


W e t h e n use the second entry in Table 1 (with j = 1) which yields
T(n) = 2 1 T ( n / 2 ) + n l l g n
= n l [ T ( 1 ) + Og 2 n)/2 +O(Ig n)]
= (n Ig 2 n ) / 2 + 8(n Ig n).

Example ,3. T(n) = 7 T ( n / 2 ) + O(n 2)

This r e c u r r e n c e describes the running time of Strassen's [ 1 9 6 9 ] matrix


multiplication algorithm (the algorithm is also discussed by Aho, Hopcroft and Ullman
[ 1 9 7 4 ; pp. 2 3 0 - 2 3 2 J ) . We cast this recurrence into the template of Equation 2 by
l e t t i n g p = Ig 7 and g(n) = n 2 - Ig 7 Since 2 - 1 g 7 < 0 we use the first e n t r y In
Table 1 to conclude that
T(n) = 2 Ig 7 T ( n / 2 ) + nlg 70(n2 " Ig 7)
= n Ig 7[T(1) + 9 ( 1 ) ]
= O(nlg 7).

Example 4. T(n) = T ( n / 2 ) + n Ig n

This r e c u r r e n c e arises In a numl)er of algorithms based on " e x t r a p o l a t i v e


recurston", This tern] is described in more detail by Borodin and Munro [ 1 9 7 5 ,
p. 8 0 ] ; many examples of such algorithms can I)e found later In their book, The
same r e c u r r e n c e also arises in the analysis of the Ford-Johnson sorting algorithm
( s e e Ford and Johnsoa~ [ 1 9 5 9 J or Knuth L1,073]) which was the b e s t - k n o w n sorting
algorithm (in terms of using minimal comparisons) for almost t w e n t y y e a r s - - a n
algorithm f a s t e r for some values of n was recently obtained by Manacher [ 1 9 7 7 ] .
To cast this recurrence in the tem!)late of Equation 2 we let p = 0 and
g ( n ) = n Ig n. Since n Ig n = ~ ( n 1) we can use the third entry In Table 1 to d e d u c e
that
T(n) = 2 0 T ( n / 2 ) + nO(n Ig n)
: hOlT(1) + O(n Ig n)]
: #(n Ig n).

5 . A M o r e General Template

The t e m p l a t e develol)ed in Section 3 carl easily be generalized to solve


r e c u r r e n c e s of the form
T(1 ) given,
T(n) = k T ( n / c ) + f(n),
(Note t h a t this generalizes Equation 1 of Section 3 from division by t w o to division
b y any c o n s t a n t . ) To solve the recurrence we cast it into the template
SIGACT News 41 Fall 1980

T ( n ) = c P T ( n / c ) + nPg(n),
w h e r e p = log c k and g(n) = f(n)/nP. The solution to this modified r e c u r r e n c e Is

T(n) = n P [ T ( 1 ) + ~ g(ci)].
l_<i_<log c n
As in S e c t i o n 8, the proof that this is the unique solution to the r e c u r r e n c e is by
m a t h e m a t i c a l induction on the i;owers of c. For monotone functions g it can be
p r o v e d t h a t the above sum differs from ~(n) by at most a f a c t o r of Ig c, so Table 1
c a n be used to solve the recurrence to within a constant factor.
This t e m p l a t e can be used, for example, to analyze the running time of Panes
[1 9 7 8 ] m a t r i x multiplication algorithm, which satisfies the r e c u r r e n c e

T(n) = 143640 T ( n / 7 0 ) + O(n2).


This r e c t i r r e n c e is r e w r i t t e n into the template as
T(n) = 7 O P T ( n / T 0 ) + nPg(n),

where p is d e f i n e d as Iog70 1 4 3 6 4 0 j or approximately 2.79~ and g ( n ) = 8 ( n 2 " P ) .


The f i r s t e n t r y of Table 1 tells us that g(n) =G(1), so the solution of the r e c u r r e n c e
Is
T(n) = n P [ T ( 1 ) + 8(f'~(n))]
= nP[T(1) +0(1)]
: #(nP),

or a p p r o x i m a t e l y 0(n2"79). This method can, of course, also be employed to a n a l y z e


o t h e r m a t r i x alultiplication algorithms based on similar approaches, tn w h i c h 14,.3640
and 7 0 are r e p l a c e d by other constants.

6. Extensions

The s p e c i a l teinplate that we have seen in this note can be e x t e n d e d tn s e v e r a l


ways. Table 1 can be expanded to include many functions besides the t h r e e
d e s c r i b e d in Section 3. [or instances if g ( n ) = 1/(Ig n), then ~(n) is Hig n; t h e
(Ig n ) - t h harmonic ntln~ber, which is O(Iq Ig n). Similarly, if g(n) = 2 ( I g l / 2 n ) ttlen g'(n)
le 1 / 2 " '
Is e(Ig 1 / 2 n 2 J -n). Additionally, there exists a method for " i n t e r p o l a t i n g " to find
v a l u e s of the " o,.j~erntor for fllnctions not in the table: if gp(n) is b e t w e e n r J l ( n )
and g 3 ( n ) , then g2(n)/(2(n)is b e t w e e n ~ 3 ( n ) / g 3 ( n ) and g l ' ( n ) / g l ( n ) . (One must
use " b e t w e e n " in a formal sense and assume "smoothness" p r o p e r t i e s of t h e
v a r i o u s f u n c t i o n s to show this result.) The linearity of the ~ operator ( w h i c h f o l l o w s
from t h e l i n e a r i t y of ~...) can be used to find the second and lower order t e r m s of
t h e solution to the rectirrence.

T e m p l a t e s can also be defined to solve other classes of r e c u r r e n c e s of the form


T(n o) given,
T(n) = a(n) T(b(n)) + f(n).
T h e c r i t i c a l o b s e r v a t i o n in defining such a ternplate is to rewrite the r e c u r r e n c e as
T(n) = a(n) T(b(ll)) + h(n)'g(n) (4)
SIGACT News 42 Fall 1980

w h e r e the f u n c t i o n h satisfies the property


h(n) = a(n) h(b(n)) .
In o t h e r w o r d s , h is a homogeneous solution of the original r e c u r r e n c e - - i t Is
p r e c i s e l y this p r o p e r t y that facilitates cancellation as the r e c u r r e n c e Is i t e r a t e d .
T h e solution of the original recurrence for T is then
T(n) = h ( n ) ' [ g ( n ) + g(b(n)) + g(b(I)(n))) + ... + g(b "1(no)) + T ( n o ) / h ( n o ) ] ,
w h e r e b "1 r e p r e s e n t s the functional inverse of b.

As an e x a m p l e of this method, consider solving the recurrence


T ( 2 ) = 2,
T ( n ) = n 1 / 2 T(n 1 / 2 ) + n Ig n,
w h i c h is d e f i n e d only 0t integers o f the form 2 21. Since 0 solution of t h e
h o m o g e n e o u s equation h(n) = n 1 1 2 h ( n 1 / 2 ) is h(n) = n, we " r e w r i t e " the r e c u r r e n c e
8S

T(n) = n 1/2T(nl/2) + n'(Ig n),


w h i c h has solution
T ( n ) = h(n) ' [ I g n + tg n 1 / 2 + Ig n 1 / 4 + ... + Ig 4 + T ( 2 ) / h ( 2 ) ]
or

T ( n ) = n • (2 Ig n - 1).
( T h e r e a d e r is encourage(t to r e p e a t this exercise with "tg n" replaced by "lg Ig n"
in t h e s t a t e m e n t of the recurrence,)

This g e n e r a l method can be understood more intuitively If we r e c a s t R e c u r r e n c e 4


as a r e c u r s i o n tree. h recursion tree is perhaps best defined by an e x a m p l e ; t h e
e v a l u a t i o n of the r e c u r r e n c e equation
T ( 1 ) = 1,
T(n) = 2 T ( n / 2 ) + n
a t t h e v a l u e n=8 is given by the recursion tree
8

N o t e t h a t the sum of the values of all nodes in the tree gives 32, which Is e x a c t l y
T ( 8 ) . In general, the recursion tree for the evaluation of Recurrence 4 at the v a l u e
n Is
- a single node with the value T(no), if n=no;
- o t h e r w i s e , a node with the value f(n) and a(n) sons, each of whtch Is a
r e c u r s i o n t r e e for the evaluation of the recurrence at b(n).
N o t e t h a t t h e sum of the values of all nodes in the tree gives precisely T(n).

W e can easily explain Recurrence 4 in the terminology of recursion t r e e s if w e


SIGACT News 43 Fall 1980

d e f i n e t w o o f their properties. The first ts the depth of the recursion tree, which w e
w r i t e as RD(n), for recurslon depth (the depth of the above tree ts t h r e e ) . The
s e c o n d Is the number of leaves tn tile recurslon tree, wl~lch is defined by the
recurrence
L(n o) = 1,
L(n) = a(n)I_(b(n)).
(Notice t h a t l.(n) is just one of the homogeneous soltHions of Recurrence 4.) We
can now describe the value of 7(I1) by a case analysis of f(n)/L(n), wllich is the
r a t i o of the work at the root to the number of leaves in the tree.

If f ( n ) l l ( n ) = O(q "RD(n)) for some q>O, then T(n) = #(L(n)), (That is,
the work at the leave.'; dominates the cost.)
= If f(n)/L(n) = O(f~lD(n)J) for some nonnegative J, then
T(n) = O(f(n)'RD(n)). (That is, the work is approximalely equal at all
RD(n) levels of the tree.)
- If f ( n ) / L ( n ) = ~(qFID(n)) for some q>O, then T(n) = O(f(n)). (That Is, the
w o r k at the root dominates the cost.)
Notlc,e t h a t the above case analysis is isomorphic to Table 1 when a(n) Is k and b(n)
Is n / 2 ; as In that table, not all possible cases of f(n)/L(n) are enumerated above.

7. Conclusions

To conclude this paper we will briefly review its contents. The primary
c o n t r i b u t i o n Is the method that we presented to solve the various r e c u r r e n c e s - -
r e w r i t i n g the recurrence hy ctecomposing the additive term Into some function times
a solution of the homogeneous system. We described this method both in the v e r y
general terms of a recursion tree, and in the specific framework of
d i v i d e - a n d - c o n q u e r recurrences. This method can he applied hy memorizing a simple
t e m p l a t e (or the recursion tree formulation) and a table of three entries. While the
novice can use this framework to solve (approximately) d i v i d e - a n d - c o n q u e r
r e c u r r e n c e s , the more experienced algorithm designer Call rise It In a more
a d v a n c e d fashion: to prune his search for an efficient alaorithm. For. examale, If he
w e r e t r y i n g to find an O(n 103 n) algorithm I)y marrying tc~gether the solutlc~n to t w o
problems of size n/2 each, his marriage step must require O(n lg 2 n) time.

Much w o r k remains to he done ill developing general methods for rapidly solving
e q u a t i o n s t h a t descrlhe the al)proximate complexity of algorithms; we mentioned
some areas for further work In Section 6. Such methods will never be s u f f i c i e n t for
the detatled "Kntlthian" analysis of algorithms, but they can free algorithm designers
from mundane analyses to let them work on more interesting problems.

Acknowledgements

The authors would like to thank Professor D.E, Knuth for (properly) chiding us
a b o u t the '"cook book" flavor of all earlier draft, and Professor V, Pratt for
s u g g e s t i n g the recursion tree formulation of Section 6.
SIGACT News 44 Fall 1980

References

Aho, A.V., J.E. ttopcroft and J.D. UIIman [1974]. The Design and Analysis of
Computer Algorithms, Addison-Wesley, Reading, Mass.
Bentley, J.L. and M.I. Shames [1976]. "Divide and conquer In multidimensional
space", Proceedings of the Eighth Symposium on the Theory of Computing,
ACM, May 1976, pp. 220-230.
Borodin, A. and I. Munro [ 1 9 7 5 ] . The Computational Complexity of Algebraic and
Numeric Problems, American Elsevier, New York, N.Y.
Ford, L. and S. Johnson [1959]. "A tournament problem", American Mathematical
Monthly 66, pp. 391-305.
Keller, K . [ 1 9 8 0 ] . "Computation cost f,nctions for divide-and-conquer algorithms",
to appear In Journal of Undergraduate Mathematics.
Knuth, D.E. [ 1 9 7 3 ] . The ~qrt of Computer Programming, volume 3: Sorting and
Searching, Addison-Wesley, Reading, Mass.
Kung, H. T. [1 973]. A New Upper Bound on the Complexity of Derivative Evaluation,
Carnegie-Mellon University Computer Science Report, September 1978.
Kung, H. T., F. Luccio and F. P. Preparata [1975]. "On finding the maxima of a set of
vectors", JACM 22, 4, October 1975, pp. 469-476.
Ltu, C. L. [ 1 9 7 7 ] . Elements of Discrete Mathematics, McGraw-Hill, New York, N. Y.
Manacher, G.K. [1977.]. "The Ford-Johnson sorting algorithm is not optimal",
Proceedings of the Fifteenth Annual Allerton Conference on Communications,
Control and Computing, Sepember 1977, pp. 390-397.
Pan, V. Ya. [1 978,]. ,An introduction to the trilinear technique of agoregating, uniting
and canceling and applications of the technique for constructing fast
algorithms for matrix operations", Proceedings of the Nineteenth Annual
Symposium on the Foundations of Computer Science, IEEE, 1978.
Stanat, D.F. and D.F. McAIlister [1¢177]. Discrete Mathematics in Computer
Science, Prentice-Hall, Englewood Cliffs, N. J.
Strassen, V. [ 1 9 6 9 ] . "Gaussian elimination is not optimal", Numerische Mathematik
18, pp. ,354-356.

S-ar putea să vă placă și