893

² - e-maxx.ru · 4 17 ¤»¥ «£ ®°¨²¬» 326 17.1. ¤ · ® ¢»¡ ®° ¥ § ¿¢®ª.. ... . . . .. ... . .. .. 326 17.2. ®£ ¤ ¯°¨¬¥¨¬ ¦ ¤»© «£ ®°¨²

  • Upload
    lamnhu

  • View
    243

  • Download
    0

Embed Size (px)

Citation preview

1 7

1.1. . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2. . . . . . . . . . . . . . . . . . . . . 11

1.3. . . . . . . . . . . . . . . . . . 15

1.3.1. . . . . . . . . . 16

1.3.2. 17

I 24

25

2 26

2.1. . . . . . . . . . . . . . 26

2.2. . . . . . . . . . 30

3 39

3.1. . . . . . . . . . . . . . . . . . . . 39

3.2. . . . . . . . . . . . . . . . . . . . . . . . . 43

4 49

4.1. . . . . . . . . . . . . . . . . . . . . 50

4.2. . . . . . . . . . . . . . . . . . 53

4.3. . . . . . . . . . . . . . . . . . . . . . . . 56

? 4.4 4.1 . . . . . . . . . . . . . . . 59

4.4.1. . . . . . . . . . 59

4.4.2. . . . . . . . 63

5 71

5.1. . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.2. . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.3. . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

5.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

2

5.5.1. . . . . . . . . . 87

5.5.2. . . 89

5.5.3. . . . . 91

6 96

6.1. . . . . . . . . . . . . . . . . . . . . 96

6.2. . . . . . . . . . . . . . . . . . . . . . . . . 102

6.2.1. . . . 103

6.3. . . . . . . . . . . . . 108

6.4. . . . . 113

6.5. . . . . . . . . . 118

6.6. . . . . . . . . . . . . . . . . . . 123

6.6.1. . . . . . . . . . . . . . 123

6.6.2. . . . . . . . . . . . . . . . . . . . 125

6.6.3. . . . . . . . . 126

II 132

133

7 136

7.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

7.2. . . . . . . . . . . 138

7.3. . . . . . . . . . . . . . . . . . . . . . 140

7.4. . . . . . . . . 143

7.5. . . . . . . . . . . . . . . . . . 143

8 148

8.1. . . . . . . . . . . . . . 148

8.2. . . . . . . . . . . . . . . . 151

8.3. . . . 155

8.4. . . . . . . . . . . . . . . . 157

8.4.1. . . . . . . . . . . . . 157

8.4.2. . . . . . . . . 158

9 166

9.1. . . . . . . . . . . . . . 166

9.2. . . . . . . . . . . . . . . . . . . 169

9.3. . . . . . . . . . . . . . . . . . . . 171

9.4. . . . . . . . . . . . . . . . 174

10 180

10.1. . . . . . . . . . . . . . . . . . . 181

10.2. . . . . . . . . . . 182

10.3. . . . . . . 185

3

III 192

193

11 197

11.1. . . . . . . . . . . . . . . . . . . . . . . 197

11.2. . . . . . . . . . . . . . . . . . . . . . 201

11.3. 206

11.4. . . . . . . . . . . . 210

12 - 217

12.1. . . . . . . . . . . . . . . . . . . . . . 217

12.2. - . . . . . . . . . . . . . . . . . . . . . . . . 219

12.3. - . . . . . . . . . . . . . . . . . . . . . . . 225

12.3.1. . . . . . . . . . . . . . . . . 226

12.3.2. . . . . . . . . . . . . . . . . . . . . . 227

12.3.3. . . . . . . . . . . . 228

12.4. . . . . . . . . . . . . . . . . . . . 231

13 242

13.1. ? . . . . . . . . . . 243

13.2. . . . . . . . . . . . . . . . . . 245

13.3. . . . . . . . . . . . . 248

? 13.4 . . . . . . . . . . 252

14 - 262

14.1. - . . . . . . . . . . . 262

14.2. . . . . . . . . . . . . . . . . . . . . . . . . . . 264

14.3. . . . . . . . . . . . . . . . . . . . 267

14.4. . . . . . . . . . . . . . . . . . . . . . . . . . . 271

15 280

15.1. . . . . . . . . . 280

15.2. 285

15.3. . . . . . . . . . . . . . . . . . . . 288

IV 296

297

16 299

16.1. . . . . . . . . . . . 300

16.2. . 307

16.3. . . . . . . 312

16.4. . . . . . 317

4

17 326

17.1. . . . . . . . . . . . . . . . . . . 326

17.2. ? . . . . . . . . . . 330

17.3. . . . . . . . . . . . . . . . . . . . . . . 333

? 17.4 . . . . . . 341

17.4.1. . . . . . . . . . . . . . . . . . . . . . 341

17.4.2. 343

? 17.5 . . . . . . . . . . . . . . . . . . . 346

18 352

18.1. . . . . . . . . . . . . . . . . . . . . 353

18.2. . . . . . . . . . . . . . . . . . . . . 356

18.3. . . . . . . . . . . . . . . . . . . . . 359

18.4. . . . . . . . . . . . . . . . . . . 362

18.4.1. . . . . . . . . . . . . . . . 362

18.4.2. . . . . . . 365

V 372

373

19 - 376

19.1. - . . . . . . . . . . . . . . . . . . 379

19.2. - . . . . . . . . . . . 381

19.3. - . . . . . . . . . . . . . 388

20 394

20.1. . . . . . 395

20.1.1. . . . . . . . . . . . . . . 395

20.1.2. . . . . . . . . . . . . . . . . 397

20.2. . . . . . . . . . . 399

20.2.1. . . . . . . . . . . . . . . 400

21 413

21.1. . . . . . . . . . . . . . 414

21.2. , . . . 416

21.3. . . . . . . . . 425

21.4. . . . . . . . . . . . . . 429

22 434

22.1. . . . . 434

22.2. . . . . . . . . . . . . . 437

22.2.1. . . . . . . . . . . . . . . . . . . . . 441

23 452

23.1. . . . . . . . . . . . . 453

5

23.1.1. . . . . . . . . . . . . . . 453

23.1.2. . . . . . . . . . . . . . . . . . . 456

23.1.3. . . . . . . . . . . . . . . . . . . 464

23.1.4. . . . . . . . . . . . 471

23.1.5. . . . . . . . . . . . 473

24 481

24.1. . . . . . . . . . . . 482

24.2. . . . . . . . . . . . . . 486

25 493

25.1. . . . . . . . . . . . . . 497

25.2. - . . . . . . . . . . . . . . . 507

25.3.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 510

25.4. . . . . 512

26 522

26.1. - . . . . . . . . . . . . . . . 529

27 546

27.1. . . . . . . . . . . . . . . . . . . . . . . 547

27.2. { . . . . . . . . . . . . . . . . 552

27.3. . . 562

27.4. . . . . . . . . . 565

27.5. --- . . . . . . . . . . . . . . 574

28 586

28.1. . . . . . . . . . . . . . . . . . . . . 587

28.2. . . . . . . . . . . . . . . . . . 590

28.3. . . . . . . . . . . . . . . . 592

28.4. . . . . . . . . . . . . . . . . . . . . . . 594

28.5. . . . . . . . . . . . . . . . . . . . . 596

29 601

29.1. . . . . . . . . . 602

29.1.1. . . . . . . . . . . . 602

29.1.2. . . . . . 603

29.1.3. . . . . . . . . . . . . . . . . . . . . . 603

29.1.4. . . . . . . . . . . . . . . . . . . . 604

29.1.5. . . . . . . . . . . . . . . . . . . . 605

29.1.6. . . . . . . . . . . . . . . . . . . . . 605

29.2. C . . . . . . . . . . . . . . . . . . . 605

29.2.1. . . . . . . . . . . . . . . . 606

29.2.2. . . . . 607

29.2.3. -

. . . . . . . . . . . . 608

6

29.2.4. :

. . . . . . . . . . . . . . . . . . . . . 609

29.2.5. . . . . . . 610

29.3. . . . . . . . . . . . . . . . . . . 612

29.3.1. . . . . . . . . . . . . . 612

29.3.2. . . . . . . . . . . . . . . 614

29.3.3. . . . . . 614

29.3.4. . . . . . . . . . . . . . . 615

29.3.5. . . . . . . . . . . . . . . . . . . . . 616

29.4. . . . . . . . . . . . . . . . . . . 617

29.4.1. . . . . . . . . 617

29.4.2. . . . . . . . . . . . . . . 618

29.4.3. . . 618

29.4.4. . . . . . . . . . . . . 619

29.4.5. . . . . . . . . . . . . . . . . 619

29.4.6. . . . . . . . . . . . . . . . 620

29.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . 622

29.6. . . . . . . . . . . . . . . . . . . . . . . . 623

30 625

30.0.1. -

(PRAM) . . . . . . . . . . . . . . . . . . . . 625

30.0.2. -

. . . . . . . . . . . . . . . . . . . . . . . . . 626

30.0.3. . . . . . . . . . . . . . . . . . . 627

30.0.4. . . . . . . . . . . . . . . . . . . . . . 627

30.1. . . . . . . . . . . . . . . . . . 628

30.1.1. . . . . . . . . . . . . . . . . . . 628

30.1.2. . . . . . . . . . . . . . . . . . . . 630

30.1.3. . . . . . . . . . . . . . . . . . . . . . . . 630

30.1.4. . . 631

30.1.5. . . . . . . . . . . . . . . 633

30.2. CRCW- EREW- . . . . . . . . . . . . . . . 636

30.2.1. . . . . . . . . . . 636

30.2.2. . . . . . . . . . . . 637

30.2.3. CRCW-

EREW- . . . . . . . . . . . . . . . . . . 639

30.3. . . . . 642

30.3.1. . . . . . . . . . . . . . . . . . . . . 645

30.4. . . 645

30.4.1. 646

30.4.2. . . . . . . . . . . . 647

30.4.3. . . . . . . . . . . . . . . . . . . . . . . . 647

30.4.4. . . . . . . . . . . . . . . . . . . . . 649

30.5. ( -

) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649

7

30.5.1. -

. . . . . . . . . . . . . . . . . . . . . . . 650

30.5.2. 6- . . . . . . . . . . . . . 651

30.5.3. -

6- . . . . . . . . . . . . . . 653

30.5.4. . . . . . . . . . . . . . . . . . . . . 654

30.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . 654

30.7. . . . . . . . . . . . . . . . . . . . . . . . 657

31 659

31.1. . . . . . . . . . . . . . . . . . 659

31.2. . . . . . . . 668

31.3. . . . . . . . . . . . . . . . . . . . . 675

31.4. -

. . . . . . . . . . . 679

33 p- p 712

33.1. . . . . . . . . . . 713

33.2. . . . . . . . . . . . . . . 718

33.3. . . . . . . . . . . . . . . . . . 722

33.4. . . . . . . 726

33.5. . . . . . . . . . . . . . 729

33.6. . . . . . . . . . . . . . . . . . . . . . 732

33.7. RSA . . . . . . . 735

33.8. . . . . . . . . . . . . . . . 741

34 757

34.0.1. . . . . . . . . . . 758

34.1. . . . . . . . . . . . . . . . . . . 759

34.2. | . . . . . . . . . . . . . . . 761

34.2.1. . . . . . . . . . . . . . . . . . . . . 764

34.3. . . . 765

34.3.1. . . . . . . . . . . . . . . . 765

34.3.2. . . . . . . . . . 766

34.3.3. . . . . . . . . . 770

34.4. | | . . . . . . . . 771

34.4.1. -, 771

34.4.2. . . . . . . . . . . . . . . . . . . . 773

34.4.3. - . . 774

34.4.4. KMP . . . . . . . . . . . . 776

34.5. | . . . . . . . . . . . . . . . . 777

34.5.1. - . . . . . . . . . . . . . 778

34.5.2. . . . . . . . . 780

34.5.3. . . . . . . . . . . . . . . . . . . . . 784

34.6. . . . . . . . . . . . . . . . . . . . . . . . . . 785

8

35 787

35.1. . . . . . . . . . . . . . . . . . . . . 788

35.2. ? . . . . . . . . . . . 793

35.3. . . . . . . . . . . . . . 798

35.4. . . . . . . . . . . . 804

35.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . 807

36 NP- 811

36.1. . . . . . . . . . . . . . . . . . . 812

36.2. NP . . . . . 819

36.3. NP- . . . . . . . . . . . . . . . . 824

36.4. NP- . . . . . . . . . . . . . . . . . . . . . 837

36.4.1. . . . . . . . . . . . . . . . . . . . 837

36.4.2. . . . . . . . . . 839

36.4.3. . . . . . . . . . 842

36.4.4. . . . . . . . . . . . . . . 846

37 850

37.1. . . . . . . . . . . . . . 852

37.2. . . . . . . . . . . . . . . . . . . 854

37.2.1. ( -

) . . . . . . . . . . . . . . . . . . . . . 854

37.2.2. . . . . . . . . . . 856

37.3. . . . . . . . . . . . . . . 863

-

. -

; ,

.

; -

.

260 , .

-

.

, -

| .

-

.

:

-

|

-

. ,

, .

.

;

,

. -

,

.

( 900): -

( 120). ,

(

| , -

10

). ;

-

, .

;

. -

-

; -

.

:

, -

.

, , -

.

, -

, .

, , ,

. ,

, ,

.

, ? ,

, -, ;

(, ) (- -

;

).

:

-

. ,

.

-

, -

. -

, -

.

-

, . ,

- (-

. .), .

11

.

,

, .

(, -

, ). :

Introduction to Algorithms

MIT Labratory for Computer Science

545 Technology Square

Cambridge, Massachusetts 02139

-

; ,

[email protected] , Subject:

help . ,

.

[ , -

( 1997), , -

, , , -

( , . ).

, , -

: , !

, [email protected]

(, 121002, ., 11,

, ).]

. -

.

(Massachusetts Institute of Technology, Laboratory for

Computer Science) -

. -

. :

Baruch Awerbuch, Sha Goldwasser, Leo Guibas, Tom Leighton, Al-

bert Meyer, David Shmoys, Eva Tardos. , -

( : Microvax, Apple Macintosh, Sun Sparc-

station) William Ang, Sally Bemus, Ray Hirschfeld

Mark Reinhold; TEX, -

.

Thinking Machines

12

.

,

. -

: Richard Beigel (Yale), Andrew Goldberg (Stanford), Joan

Lucas (Rutgers), Mark Overmars (Utrecht), Alan Sherman (Tufts,

Maryland), Diane Souvaine (Rutgers).

-

, . -

: Alan Baratz, Bonnie Berger, Aditi Dhagat, Burt Kaliski,

Arthur Lent, Andrew Moulton, Marios Papaefthymiou, Cindy Phillips,

Mark Reinhold, Phil Rogaway, Flavio Rose, Arie Rudich, Alan Sher-

man, Cli Stein, Susmita Sur, Gregory Troxel, Margaret Tuttle.

-

: (Denise Sergent),

(Maria Sensale), (Al-

bert Meyer), (Shlo-

mo Kipnis, Bill Niehaus, David Wilson), (Marios

Papaefthymiou, Gregory Troxel), (Inna Radzi-

hovsky, Denise Sergent, Gayle Sherman, Be Hubbard).

, Bobby

Blumofe, Bonnie Eisenberg, Raymond Johnson, John Keen, Richard

Lethin, Mark Lillibridge, John Pesaris, Steve Ponzio, Margaret Tuttle.

, -

; Bill Aiello, Alok Aggrawal, Eric Bach,

Vasek Chvatal, Richard Cole, Johan Hastad, Alex Ishii, David Johnson,

Joe Kilian, Dina Kravets, Bruce Maggs, Jim Orlin, James Park, Thane

Plambeck, Herschel Safer, Je Shallit, Cli Stein, Gil Strang, Bob Tar-

jan, Paul Wang.

, Andrew Goldberg, Danny Sleator, Umesh Vazirani.

LATEX

( TEX). -

Apple Macintosh Mac Draw II; -

(Joanna Terry, Claris Corporation; Michael Mahoney, Advanced Com-

puter Graphics).

Windex, . -

BibTEX. -

-

Autologic;

(Ralph Youngen,

). : Rebecca Daw, Amy Henderson (-

LATEX), Jeannet Leendertse ().

-

MIT Press (Frank Sallow, Terry Ehling, Larry Cohen,

13

Lorrie Lejeune) McGraw-Hill (David Shapiro)

,

(Larry Cohen).

, (Nicole Cormen, Lina Lue

Leicerson, Gail Rivest) (Ricky, William Debby Leicerson;

Alex Christopher Rivest)

(Alex Rivest

( 6.6.1). ,

; .

,

1990

(Thomas H. Cormen) (Charles E. Leiserson)

(Ronald L. Rivest)

:

MIT

, ( -

).

-

( .. ).

-

, -

,

:

K. , . , . , . , .

. , . , . , . , . -

, . , . , . , . , .

()

. , . , . , . , . -

, . , . . , A. (-

)

. ()

.. ()

1

,

, -

|

.

,

, -

, -

, ,

.

1.1.

(algorithm) | -

, (input),

, -

(output).

(computational problems). ,

, -

, , ,

.

(sorting prob-

lem);

-

. :

: n (a1; a2; : : : ; an).

: (a01; a02; : : : ; a

0n) -

, a01 6 a02 6 : : : 6 a

0n.

, h31; 41; 59; 26; 41; 58i, - h26; 31; 41; 41; 58; 59i.

(instance) .

15

-

. ;

-

, , ,

( , ,

).

(correct), -

( )

, .

, (solves) -

. (

) .

(, |

.

33 .

, .)

,

|

, .

(pseu-

docode), -

(, , ). ,

, -

. , -

( , ),

, .

(insertion sort) -

. -

:

,

, (. . 1.1)

Insertion-Sort, -

A[1 : : n] (

n, ). -

A length[A].

(in place), (

).

Insertion-Sort A .

16 1

. 1.1

Insertion-Sort(A)

1 for j 2 to length[A]2 do key A[j]3 . A[j] A[1 : : j 1].4 i j 15 while i > 0 and A[i] > key

6 do A[i+ 1] A[i]7 i i 18 A[i+ 1] key

. 1.2 Insertion-Sort A = h5; 2; 4; 6; 1; 3i. - j .

. 1.2 A = h5; 2; 4; 6; 1; 3i. j ( -

). A[1 : : j 1] ( ), A[j + 1 : : n] | . for

j . A[j]

17

( 2 )

( j 1-) , - . ( 4{7). 8 A[j]

.

, :

1. .

, for ( 1) 2{8, -

while ( 5) 6{7, 8.

if-then-else. -

begin end . (

-

, ,

.)

2. while, for, repeat if, then, else

, .

3. . ( ).

4. i j e ( i j e) j e i j ( ).

5. ( i; j; key) -

( ).

6. : A[i] i-

A. : : : A[1 : : j]

A, A[1]; A[2]; : : : ; A[j].

7. (objects), -

(elds), , , -

(attributes).

[ ]. , length, A

length[A]. ( ), .

, , -

. y x f f [y] = f [x]. ,

f [x] 3, f [x] = 3, f [y] = 3, y x x y .

nil, - .

8. (by value): -

; -

. -

18 1

, ,

| . , x | -

, x y, , , f [x] 3 | .

1.1-1 . 1.2, ,

Insertion-Sort A = h31; 41; 59; 26; 41; 58i.

1.1-2 Insertion-Sort , -

( -

).

1.1-3 :

: n A = ha1; a2; : : : ; ani v.: i, v = A[i],

nil, v A.

(linear search),

A v.

1.1-4 n- ,

n- A B. (

) (n+1)- C. -

-

.

1.2.

-

, , -

( , ), -

. , , -

.

(random-access machine, RAM), -

. ( -

-

.)

:

-

: ,

19

. -

. (,

, :

, .)

(input size)? -

.

(, ). -

, -

. -

, (,

).

(running time)

, |

, . ,

-

( - -

| x-).

(call) (

) (execution),

.

, Insertion-Sort

( ) , -

. j 2 n (

n = length[A] | ) , 5, tj . (,

, -

, .)

Insertion-Sort(A)

1 for j 2 to length[A] c1 n2 do key A[j] c2 n 13 . A[j] -

. A[1 : : j 1]. 0 n 14 i j 1 c4 n 15 while i > 0 and A[i] > key c5

Pn

j=2 tj

6 do A[i+ 1] A[i] c6P

n

j=2(tj 1)7 i i 1 c7

Pn

j=2(tj 1)8 A[i+ 1] key c8 n 1

c, m , cm -

. (

20 1

!) ,

T (n) = c1n+ c2(n 1) + c4(n 1) + c5nXj=2

tj +

+ c6

nXj=2

(tj 1) + c7nXj=2

(tj 1) + c8(n 1):

,

n, , n .

Insertion-Sort , -

. 5

( A[i] 6 key i = j 1), tj 1,

T (n) = c1n+ c2(n 1) + c4(n 1) + c5(n 1) + c8(n 1) == (c1 + c2 + c4 + c5 + c8)n (c2 + c4 + c5 + c8):

, T (n), -

n,

(linear function) n, . . T (n) = an + b

a b. ( -

c1; : : : ; c8.)

() ,

:

A[j] A[1] : : :A[j 1]. tj = j. ,

nXj=2

j =n(n + 1)

2 1;

nXj=2

(j 1) = n(n 1)2

(. . 3), ,

T (n) = c1n + c2(n 1) + c4(n 1) + c5n(n + 1)

2 1+

+ c6

n(n 1)

2

+ c7

n(n 1)

2

+ c8(n 1) =

=c5

2+c6

2+c7

2

n2 +

c1 + c2 + c4 +

c5

2 c6

2 c7

2+ c8

n

(c2 + c4 + c5 + c8):

T (n) | (quadratic function), . .

T (n) = an2 + bn + c. ( a, b c -

c1{c8.)

21

, ,

. -

(worst-case running time),

. ? .

, , , -

, ( ) .

( - ) . ,

( ).

. , , -

n Insertion-Sort. 5{8?

A[1 : : j 1] A[j], tj j=2, -

T (n) n.

-

(average-case running time, expexted running time) -

. ,

( -

), -

. (

, .)

Insertion-Sort

.

, i- -

ci. an2+bn+c.

,

(rate of growth, order of growth) n2, -

()

n2. : T (n) = (n2) (

).

: , ,

(n2), | (n3), (

;

| ).

22 1

1.2-1 n :

,

.

, .

(selection sort). -

.

, -.

1.2-2 (. 1.1-3).

,

( -

)?

? -?

1.2-3 x1; x2; : : : ; xn. ,

(n logn) , -

.

1.2-4 a0; a1; : : : ; an1 ; x. -

, (n2).

(n), ?

:

n1Xi=0

aixi = (: : :(an1x + an2)x+ : : :+ a1)x+ a0:

1.2-5 n3=1000 100n2 100n + 3 - -?

1.2-6 , -

. ?

1.3.

, -

. -

, (incremental approach): -

.

, -

(divide-and-conquer approach),

.

23

1.3.1.

(recursive algorithms):

,

.

. -

. (

| , ). -

,

.

. -

. -

.

-

. -

, (

1 ).

.

Merge(A; p; q; r). - A p; q; r,

. , p 6 q < r

A[p : : q] A[q + 1 : :r] , (merges)

A[p : :r].

(. 1.3-2), , Merge (n), n| (n = rp+1). . ,

.

?

( )

. , -

. , -

, (n).

Merge-Sort(A; p; r),

A[p : :r] A, -

. p > r

, .

q,

A[p : :q] ( dn=2e ) A[q + 1 : :r]( bn=2c ). bxc x ( , x),

dxe | , x.

24 1

sorted sequence |

merge |

initial sequence |

. 1.3 A = h5; 2; 4; 6; 1; 3; 2; 6i.

Merge-Sort(A; p; r)

1 if p < r

2 then q b(p+ r)=2c3 Merge-Sort(A; p; q)

4 Merge-Sort(A; q + 1; r)

5 Merge(A; p; q; r)

Merge-Sort(A; 1; length[A]). n = length[A] ,

2,

4

n (

n=2). . 1.3.

1.3.2.

? -

, -

,

(recurrence equation). ,

.

. ,

n a , -

b . ,

D(n), | C(n).

25

T (n)

n ( ): T (n) = aT (n=b) + D(n) + C(n).

n,

. n,

, - -

. n ,

.

, (n)

. ( 4, -

.)

. ( )

(1), | (n). -

T (n) =

((1); n = 1,

2T (n=2) + (n=2); n > 1.

4, T (n) =

(n logn), log (-

, , ,

). n -

,

(n2).

1.3-1 . 1.3, -

A = h3; 41; 52; 26; 38; 57; 9; 49i.

1.3-2 Merge(A; p; q; r).

1.3-3 ,

T (n) =

(2; n = 2,

2T (n=2) + n; n = 2k k > 1,

T (n) = n logn ( n, ).

1.3-4

: A[1 : :n], () -

A[1 : :n 1], A[n] - A[1 : :n1]. - .

26 1

1.3-5 (. 1.1-3), ,

, ,

, -

. (binary search).

, -

. , (logn).

1.3-6 , while 5{7

Insertion-Sort (. 1.1) - A[1 : : j 1] . (. 1.3-5),

(log n).

(n logn)?

1.3-7? S n ,

x. (n logn) , x

S?

, -

| .

: , , -

, : -

.

-

, .

.

| (100 -

)

(1 )? -

, n

, , 2n2 .

50n logn.

2 (106)2 108

= 20 000 5;56

50 (106) log(106) 106

1 000 17

.

, |

, -

. .

1 27

1.3-1

8n2 64n logn .

n -

? ?

1.3-2 n ,

100n2 , , 2n ?

1-1

, n f(n)

. ,

t? , -

.

1 1 1 1 1 1 1

lognpn

n

n logn

n2

n3

2n

n!

1-2

, n .

, -

. ,

.

. n k n=k. -

, (

) (nk).

. , -

(n log(n=k)).

.

(nk+n log(n=k)). k

n, - (n logn)?

. k -

28 1

?

1-3

A[1 : :n] | n . -

(inversions) , . .

i < j, A[i] > A[j].

. h2; 3; 8; 6; 1i.. -

n?

.

? .

. , -

n (n logn). (: -

.)

.

: , [4,5], [14], -

[14], [105], [121, 122, 123],

[142], [144, 145, 146], [164], -

, [167], [175], [201]. -

:

[24,25], [90].

1968 - [121, 122, 123],

.

.

, -

- (al-Khowarizm, al-Khwarizm).

, [4] -

-

. -

.

[123] -

. -

, (

). -

, (D.L. Shell),

-

.

,

, -

1938 . -

1 29

, (J. von Neumann), -

,

EDVAC 1945 .

I

, -

.

,

.

2 , -

( .), .

- , -

.

3

( -

).

4

. -

( 4.1),

. ,

, -

.

5 ,

, , , ,

.

6

. -

, (

) ,

.

2

1, ,

( ) -

n2, ( ) | n lgn.

,

n .

, -

.

,

(asymp-

totic eciency). ,

,

, . ( .)

2.1.

-

, .

-

2 , T (n) -

n (n2). -

: c1; c2 > 0

n0, c1n2 6 T (n) 6 c2n

2 n > n0. ,

g(n) | , f(n) = (g(n)) ,

c1; c2 > 0 n0, 0 6 c1g(n) 6 f(n) 6 c2g(n)

n > n0 (. . 2.1). ( f(n) = (g(n)) :

.)

[!!!!!!!!! 2.1 - : ]

f(n) = (g(n)), f(n) = O(g(n))

f(n) = (g(n)).

, -

: , f1(n) = (g(n)) f2(n) = (g(n)),

33

, f1(n) = f2(n)!

(g(n)) , f(n) g(n)

, . . -

n. , f g -

, n0 (

c1 c2 , n -

).

f(n) = (g(n)), , g(n) -

f(n).

: f(n) = (g(n)), g(n) = (f(n)).

1 , (1=2)n2 3n =(n2). , -

c1; c2 n0 ,

c1n2 6

1

2n2 3n 6 c2n2

n > n0. n2:

c1 61

2 3n6 c2

,

c2 = 1=2. , () n0 = 7 c1 =

1=14.

: -

, 6n3 6= (n2). , c2 n0, 6n3 6 c2n

2 n > n0. n 6 c2=6 n > n0| .

, -

,

n . -

,

( c1 c2). -

, f(n) = an2 + bn + c,

a; b; c | a > 0. -

, ,

f(n) = (n2). , -

c1 = a=4, c2 = 7a=4 n0 = 2 max((jbj=a);pjcj=a) (,

). ,

p(n) d -

p(n) = (nd) ( 2-1).

-

: (1) , -

. (

, .)

34 2

O- -

f(n) = (g(n)) :

. . , f(n) = O(g(n)),

c > 0 n0, 0 6 f(n) 6

cg(n) n > n0 , f(n) = (g(n)),

c > 0 n0, 0 6 cg(n) 6 f(n)

n > n0. :

, .

- , f g -

.

(. 2.1-5), :

2.1. f(n) g(n) f(n) =(g(n)) , f(n) = O(g(n))

f(n) = (g(n)). f(n) = O(g(n)) g(n) =

(f(n)) .

, an2 + bn + c = (n2) ( a).

an2 + bn + c = O(n2). : a > 0

an + b = O(n2) ( c = a + jbj n0 = 1). , an + b 6= (n2 an + b 6= (n2). (, O )

. , 1

T (n) = 2T (n=2) + (n)

. (n)

, ,

c1n c2n c1

c2 n.

, -

. ,

nXi=1

O(i)

h(1) + h(2) + : : :+ h(n), h(i) |

, h(i) = O(i). ,

n O(n2).

-

| 2n2 + 3n + 1 = 2n2 + (n) =

(n2). (2n2 + (n) = (n2))

: h(n) = (n)

, 2n2 + h(n) (n2).

35

o- !-

f(n) = O(g(n)) , n

f(n)=g(n) .

limn!1

f(n)

g(n)= 0; (2.1)

f(n) = o(g(n)) (

). , f(n) = o(g(n)),

" > 0 n0, 0 6 f(n) 6 "g(n)

n > n0. ( f(n) = o(g(n)) ,

f(n) g(n) n.)

: 2n = o(n2), 2n2 6= o(n2). !-: ,

f(n) !(g(n)) ( ), -

c n0, 0 6

cg(n) 6 f(n) n > n0. , f(n) = !(g(n))

, g(n) = o(f(n)).

: n2=2 = !(n), n2=2 6= !(n2).

, :

:

f(n) = (g(n)) g(n) = (h(n)) f(n) = (h(n)),

f(n) = O(g(n)) g(n) = O(h(n)) f(n) = O(h(n)),

f(n) = (g(n)) g(n) = (h(n)) f(n) = (h(n)),

f(n) = o(g(n)) g(n) = o(h(n)) f(n) = o(h(n)),

f(n) = !(g(n)) g(n) = !(h(n)) f(n) = !(h(n)).

:

f(n) = (f(n)), f(n) = O(f(n)), f(n) = (f(n)).

:

f(n) = (g(n)) g(n) = (f(n)).

:

f(n) = O(g(n)) g(n) = (f(n)),

f(n) = o(g(n)) g(n) = !(f(n)).

:

f g a b:

f(n) = O(g(n)) a 6 bf(n) = (g(n)) a > bf(n) = (g(n)) a = bf(n) = o(g(n)) a < bf(n) = !(g(n)) a > b

36 2

, , : -

. ,

a b a 6 b, a > b, -

, () f(n) g(n)

f(n) = O(g(n)), f(n) = (g(n)). , -

,

f(n) = n g(n) = n1+sinn (

g(n) 0 2). , -

a 6 b a < b a = b,

f(n) = O(g(n)) f(n) = o(g(n)) f(n) = (g(n)).

2.1-1 f(n) g(n)

n. , max(f(n); g(n)) = (f(n) + g(n)).

2.1-2 ,

(n+ a)b = (nb) (2.2)

a b > 0.

2.1-3 A -

O(n2) ?

2.1-4 , 2n+1 = O(2n)? 22n = O(2n)?

2.1-5 2.1.

2.1-6 f(n) g(n),

f(n) = O(g(n)), f(n) 6= o(g(n)) f(n) 6= (g(n)).

2.1-7 , f(n) = o(g(n)) f(n) = !(g(n))

.

2.1-8

, . ,

f(m;n) = O(g(m;n)), n0, m0 c,

0 6 f(m;n) 6 cg(m;n) n > n0 m > m0.

(g(m;n)) (g(m;n)).

2.2.

, f(n) (is monoton-

ically increasing), f(m) 6 f(n) m 6 n. ,

37

f(n) (is monotonically decreasing), -

f(m) > f(n) m 6 n. , f(n)

(is strictly increasing), f(m) < f(n) m < n.

, f(n) (is strictly decreasing),

f(m) > f(n) m < n.

x bxc (the oor of x) , . . , -

x. dxe (the ceiling of x) - , x. ,

x 1 < bxc 6 x 6 dxe < x+ 1

x. ,

dn=2e+ bn=2c = n

n. , x

a b

ddx=ae=be = dx=abe (2.3)

bbx=ac=bc = bx=abc (2.4)

( , , z

n n 6 z n 6 bzc ). x 7! bxc x 7! dxe .

() d n (polyno-

mial in n of degree d)

p(n) =

dXi=0

aini

(d | ). a0; a1; : : : ; ad

(coecients) . , -

ad ( , d

| , -

).

n p(n)

(

38 2

), ad > 0 p(n) -

( n) p(n) =

(nd).

a > 0 n 7! na , a 60 | . , f(n) -

, f(n) = nO(1), , ,

f(n) = O(nk) k (. . 2.2-2).

m, n a 6= 0

a0 = 1; (am)n = amn;

a1 = a; (am)n = (an)m;

a1 = 1=a; aman = am+n:

a > 1 n 7! an . 00 = 1.

n 7! an , - (exponential). a > 1

: b,

limn!1

nb

an= 0 (2.5)

, , nb = o(an). -

e = 2;71828 : : : ,

ex = 1 + x+

x2

2!+x3

3!+ : : : =

1Xk=0

xk

k!(2.6)

k! = 1 2 3 : : : k (. ). x

ex > 1 + x (2.7)

x = 0. jxj 6 1 ex :

1 + x 6 ex 6 1 + x+ x2 (2.8)

, ex = 1 + x + (x2) x ! 0, ( n ! 1 x! 0). x limn!1

1 + x

n

n= ex.

39

:

lgn = log2 n ( ),

lnn = logen ( ),

lgk n = (lgn)k ;

lg lgn = lg(lgn) ( ).

,

,

lg n+k lg(n)+k ( lg(n+k)). b > 1 n 7! logbn

( n) .

a > 0, b > 0, c > 0

n ( 1):

a = blogb a;

logc(ab) = logc a+ logc b;

logb an = n logb a;

logb a =logc a

logc b

logb(1=a) = logb a

logb a =1

loga b

alogb c = clogb a

(2.9)

,

O(logn) , -

.

( , )

lg.

(

jxj < 1):

ln(1 + x) = x x2

2+x3

3 x

4

4+x5

5 : : :

x > 1 x

1 + x6 ln(1 + x) 6 x (2.10)

x = 0.

, f(n) (is poly-

logaritmically bounded), f(n) = lgO(1) n. (2:5) -

n = lgm a = 2c

limm!1

lgbm

(2c)lgm= lim

m!1lgbm

mc= 0

, , lgb n = o(nc) c > 0. -

, -

.

40 2

n! ( , \n factorial")

1 n. 0! = 1, n! =

n (n 1)! n = 1; 2; 3; : : : . , n! 6 nn ( -

n). (Stirling's

approximation), ,

n! =p2n

n

e

n

(1 + (1=n)) (2.11)

,

n! = o(nn);

n! = !(2n);

lg(n!) = (n lgn):

:

p2n

n

e

n6 n! 6

p2n

n

e

ne1=12n

: (2.12)

log n ( ) : (iter-

ated logarithm). . -

i- , lg(i), :

lg(0) n = n lg(i)(n) = lg(lg(i1) n) i > 0. ( , lg(i1) n .) -: lgi n lg(i) n ,

.

lg n i > 0, - lg(i) n 6 1. , lg n | , lg, n , -

1.

lg n :

lg 2 = 1;

lg 4 = 2;

lg 16 = 3;

lg 65536 = 4;

lg 265536 = 5:

-

1080, 265536, n,

lg n > 5, .

41

(Fibonacci numbers) -

:

F0 = 0; F1 = 1; Fi = Fi1 + Fi2 i > 2 (2.13)

,

0; 1; 1; 2; 3; 5; 8; 13; 21; 34; 55 : : :

.

(golden

ratio) ' ':

' =1 +p5

2= 1;61803 : : : ;

' =1p5

2= 0;61803 : : :

(2.14)

,

Fi ='i 'ip5

(2.15)

(. 2.2-7). j'j 1).

2.2-3 (2.9).

2.2-4 , lg(n!) = (n lgn) n! = o(nn).

2.2-5? dlgne! ? dlg lg ne! ?

2.2-6? ( n): lg(lg n) lg(lgn)?

42 2

2.2-7 (2.15).

2.2-8 : Fi+2 > 'i

i > 0 ( ' | ).

2-1

p(n) = a0+a1n+ : : :+adnd | d,

ad > 0. ,

. p(n) = O(nk) k > d.

. p(n) = (nk) k 6 d.

. p(n) = (nk) k = d.

. p(n) = o(nk) k > d.

. p(n) = !(nk) k < d.

2-2

, A O, o, , ! B

(k > 1, " > 0, c > 1 | ).

A B O o !

. lgk n n"

. nk cn

.pn n

sinn

. 2n 2n=2

. nlgm mlgn

. lg(n!) lg(nn)

2-3

. 30 -

( O()) , -

( ):

lg(lg n) 2lgn (

p2)lgn n2 n! (lg n)!

(3=2)n n3 lg2 n lg(n!) 22n

n1= lgn

ln ln n lg n n 2n nlg lgn ln n 12lgn (lgn)lgn en 4lgn (n+ 1)!

plg n

lg lgn 2p2 lgn n 2n n lgn 22

n+1

. f(n), -

gi (f(n) O(gi(n))

gi(n) O(f(n))).

2 43

2-4

f(n) g(n) -

n. ,

. f(n) = O(g(n)), g(n) = O(f(n))?

. f(n) + g(n) = (min(f(n); g(n)))?

. f(n) = O(g(n)) lg(f(n)) = O(lg(g(n))), lg(g(n)) > 0

f(n) > 1 n?

. f(n) = O(g(n)) 2f(n) = O(2g(n))?

. f(n) = O((f(n))2)?

. f(n) = O(g(n)) g(n) = (f(n))?

. f(n) = (f(n=2))?

. f(n) + o(f(n)) = (f(n))?

2-5

- -

. 1 , . f(n) g(n) | -

. , f(n) = 1(g(n)), c, f(n) > cg(n) > 0 -

n.

. , f(n) g(n), -

n, f(n) = O(g(n)),

f(n) = 1(g(n)),

(g(n)) .

. -

1 ? f(n) = O(g(n)) , -

f(n) . -

O0 , f(n) = O0(g(n)), jf(n)j = O(g(n)).. -

2.1?

:

, f(n) = ~O(g(n)),

c k, 0 6 f(n) 6 cg(n) lgk n

n.

. ~ ~

2.1.

2-6

,

. f(n) |

, f(n) < n. f (i)(n), f (0)(n) = n

f(i)(n) = f(f (i1)(n)) i > 0. c fc (n) -

44 2

i > 0, f (i)(n) 6 c. ( , fc|

f , n

, c.) , fc (n) .

f(n) c

fc :

f(n) c fc (n). lg n 1

. n 1 0. n=2 1

. n=2 2

.pn 2

.pn 1

. n1=3 2

. n= lgn 2

[121], O- -

(P. Bachmann, 1892). -

o(g(n)) (E. Landau) 1909 -

.

- - [124]: -

O- ( -

). .

[121, 124] [33].

-

, , , .

, -

n ( ).

, -

: [1], [27].

(., , [12]

[192]). [121] -

, -

.

3

(for, while),

. , -

1.2, j-

, j.

nXj=1

j;

(n2).

( , 4 ).

3.1 .

3.2; -

-

.

3.1.

a1 + a2 + : : :+ an

nXk=1

ak:

n = 0 0.

, |

. ( , .)

.

(series)

a1 + a2 + a3 + : : : 1Xk=1

ak

46 3

limn!1

nXk=1

ak:

, , (di-

verges); . P1

k=1 jakj -,

P1k=1 ak (absolutely

convergent series); ,

. -

.

,

nXk=1

(cak + bk) = c

nXk=1

ak +

nXk=1

bk

c

a1; : : : ; an b1; : : : ; bn.

,

.

nX

k=1

k = 1 + 2+ : : :+ n;

,

(arithmetic series). -

nXk=1

k =1

2n(n+ 1) = (3.1)

= (n2): (3.2)

x 6= 1 (geometric ex-ponential series)

nXk=0

xk = 1 + x+ x2 + : : :+ xn

47

nXk=0

xk =

xn+1 1x 1 : (3.3)

(

jxj < 1) 1Xk=0

xk =

1

1 x: (3.4)

1+ 1=2+ 1=3+ : : :+ 1=n+ : : : ; n-

(nth harmonic number)

Hn = 1 +1

2+1

3+ : : :+

1

n=

nXk=1

1

k= lnn +O(1): (3.5)

-

, . , -

(3.4) x,

1Xk=0

kxk =

x

(1 x)2 : (3.6)

a0; a1; : : : ; an -

nXk=1

(ak ak1) = an a0 (3.7)

( ). --

telescoping series. ,

n1Xk=0

(ak ak+1) = a0 an:

48 3

P

n1k=1

1k(k+1)

. -

1k(k+1)

= 1k 1

k+1, ,

n1Xk=1

1

k(k + 1)=

n1Xk=1

1

k 1k + 1

= 1 1

n:

a1; : : : ; an

nYk=1

ak :

n = 0 defn (product) -

1. :

lg

nYk=1

ak =

nXk=1

lg ak:

3.1-1 P

n

k=1(2k 1).

3.1-2? , -

, P

n

k=1 1=(2k 1) = ln(pn) + O(1).

3.1-3? , P1

k=0(k 1)=2k = 0.

3.1-4? P1

k=1(2k + 1)x2k.

3.1-5 ,

O-

.

3.1-6 , -

-

.

3.1-7 Q

n

k=1 2 4k .

3.1-8? Q

n

k=2(1 1=k2).

49

3.2.

, -

( ).

,

. : ,

Sn =P

n

k=1 k n(n+1)=2. n =

1 . , Sn = n(n + 1)=2

n n+ 1. ,

n+1Xk=1

k =

nXk=1

k + (n+ 1) = n(n+ 1)=2 + (n+ 1) = (n+ 1)(n+ 2)=2:

. , -

, P

n

k=0 3k O(3n).

, , P

n

k=0 3k 6 c 3n

c ( ). n = 0 P0

k=0 3k = 1 6

c 1; c > 1. n, n+ 1. :

n+1Xk=0

3k =

nXk=0

3k + 3n+1 6 c3n + 3n+1 =

1

3+1

c

c3n+1 6 c3n+1:

, (1=3+ 1=c) 6 1, . . c > 3=2.

P

n

k=0 3k = O(3n), .

, -

, -

. , P

n

k=1 k = O(n). ,P1k=1 k = O(1). -

n, n. ,

n+1Xk=1

k =

nXk=1

k + (n+ 1) = O(n) + (n+ 1)[!]

= O(n+ 1):

, ,

O(n), n.

,

(,

50 3

). , -

P

n

k=1 k

nXk=1

k 6

nXk=1

n = n2:

nX

k=1

ak 6 namax;

amax | a1; : : : ; an.

|

. , Pn

k=0 ak , ak+1=ak 6 r

k > 0 r < 1. ak 6 a0rk,

:

nXk=0

ak 6

1Xk=0

a0rk = a0

1Xk=0

rk = a0

1

1 r :

P1

k=1 k3k .

1=3,

(k+ 1)3(k+1)

k3k=1

3 k + 1

k62

3

k > 1. ,

(1=3)(2=3)k,

1Xk=1

k3k 61Xk=1

1

32

3

k=1

3 11 23

= 1:

, 1,

r < 1,

. , (k + 1)-

k- kk+1 < 1.

1Xk=1

1

k= lim

n!1

nXk=1

1

k= lim

n!1(lgn) =1:

r,

.

51

.

P

n

k=1 k. -

, P

n

k=1 k > n.

O(n2) , -

:

nXk=1

k =

n=2Xk=1

k +

nXk=n=2+1

k >

n=2Xk=1

0 +

nXk=n=2+1

n

2=n

2

2:

(

, , -

).

-

, ( k0)

nXk=0

ak =

k0Xk=0

ak +

nXk=k0+1

ak = (1) +

nXk=k0+1

ak:

, 1Xk=0

k2

2k

(k + 1)2=2k+1

k2=2k=(k+ 1)2

2k2

1. ,

, .

(k > 3) 8=9,

1Xk=0

k2

2k=

2Xk=0

k2

2k+

1Xk=3

k2

2k6 O(1) +

9

8

1Xk=0

8

9

k

= O(1);

|

.

-

. , ,

Hn =P

n

k=11k. 1 n blgnc -

1+(1=2+1=3)+ (1=4+1=5+1=6+1=7)+ : : : .

1 ( ), -

blg nc + 1 ( ). ,

1 + 1=2 + 1=3 + : : :+ 1=n 6 lg n+ 1: (3.8)

52 3

f

P

n

k=m f(k) :

nZm1

f(x) dx 6

nXk=m

f(k) 6

n+1Zm

f(x) dx: (3.9)

, . 3.1, ( -

) ( -

) ( ). -

f :

n+1Zm

f(x) dx 6

nXk=m

f(k) 6

nZm1

f(x) dx: (3.10)

:

nXk=1

1

k>

n+1Z1

dx

x= ln(n + 1) (3.11)

( )

nXk=2

1

k6

nZ1

dx

x= lnn;

nXk=1

1

k6 lnn + 1: (3.12)

3.2-1 , P

n

k=11k2

-

( n).

3.2-2

blgncXk=0

dn=2ke:

53

. 3.1 Pn

k=mf(k) . -

. . . () ,

R nm1

f(x)dx 6Pn

k=mf(k). () -

, , Pn

k=mf(k) 6

R n+1m

f(x)dx.

54 3

3.2-3 , , n-

(lgn).

3.2-4 P

n

k=1 k3 .

3.2-5 -

-

(3.10)?

3-1

( r > 0 s > 0 ):

.P

n

k=1 kr.

.P

n

k=1 lgsk.

.P

n

k=1 kr lgs k.

[121] |

.

( -

[12] [192]).

4

, -

,

-

. (recur-

rences). , 1, -

Merge-Sort

T (n) =

((1); n = 1,

2T (n=2) + (n); n > 1.(4.1)

( ), T (n) = (n lgn).

,

, . . (

O) . -, ,

, -

( , substitution

method). -, ,

, (

, iteration method). , -

T (n) = aT (n=b) + f(n);

a > 1, b > 1 | , f(n) | -

. -

(master theorem). -

,

.

-

, .

, Merge-

56 4

Sort (T (n) -

n):

T (n) =

((1); n = 1,

T (dn=2e) + T (bn=2c) + (n); n > 1.(4.2)

, ,

, T (n) = (1) n. , -

(4.1)

T (n) = 2T (n=2)+ (n): (4.3)

, ( T (1)) -

,

T (n).

, , -

, ( ) ,

.

, ,

(. 4.1 4.5).

4.1.

: .

, ,

.

, -

. ,

T (n) = 2T (bn=2c) + n; (4.4)

(4.2) (4.3). , T (n) =

O(n lgn), . . T (n) 6 cn lgn c > 0. -

. bn=2c, . .T (bn=2c) 6 cbn=2c lg(bn=2c). ,

T (n) 6 2(cbn=2c lg(bn=2c)) + n 66 cn lg(n=2) + n = cn lgn cn lg 2 + n = cn lgn cn+ n 66 cn lgn:

c > 1.

-

, . . n. -

, n = 1 -

, c ( lg 1 = 0). -

,

57

n, . c ,

T (n) 6 cn lgn n = 2 n = 3. n

, n = 1

( bn=2c > 2 n > 3).

?

. -

.

.

T (n) = 2T (bn=2c+ 17) + n:

(4.4) 17

. , , -

: n

bn=2c + 17 bn=2c . , T (n) = O(n lgn) ,

(. . 4.1-5).

. -

, . , -

(4.1) T (n) = (n) (

n), T (n) = O(n2) (

). -

,

, .

,

. ,

.

.

T (n) = T (bn=2c) + T (dn=2e) + 1:

, T (n) = O(n). -

. , , , T (n) 6 cn -

c.

T (n) 6 cbn=2c+ cdn=2e+ 1 = cn+ 1;

c T (n) 6 cn.

,

O(n2), :

58 4

, ,

.

: T (n) 6 cn b - b c.

T (n) 6 (cbn=2c b) + (cdn=2e b) + 1 = cn 2b+ 1 6 cn b

b > 1. -

c .

:

, () , -

? |

,

.

:

T (n) = O(n)

(4.4). , T (n) 6 cn, -

T (n) 6 2(cbn=2c) + n 6 cn+ n = O(n):

, , , -

, cn c

c, O(n).

. , -

T (n) = 2T (bpnc) + ln n

,

. m = lg n,

T (2m) = 2T (2m=2) +m:

T (2m) S(m),

S(m) = 2S(m=2)+m;

(4.4). : S(m) = O(m lgm).

T (n) S(m),

T (n) = T (2m) = S(m) = O(m lgm) = O(lgn lg lgn):

59

, , , -

T (n) n,

. ,

S(m) T (n) n, 2m.

4.1-1 , T (n) = T (dn=2e) + 1 , T (n) =O(lgn).

4.1-2 , T (n) = 2T (bn=2c) + n T (n) =

(n lgn), T (n) = (n lg n).

4.1-3 n = 1

(4.4), -

, ?

4.1-4 , (4.2)

(n lgn).

4.1-5 , T (n) = 2T (bn=2c + 17) + n T (n) =O(n lgn).

4.1-6

T (n) = 2T (pn) + 1, ( , ,

| ).

4.2.

, ? , -

( ), ,

.

T (n) = 3T (bn=4c) + n:

, :

T (n) = n + 3T (bn=4c) = n+ 3(bn=4c+ 3T (bn=16c))= n + 3(bn=4c+ 3(bn=16c+ 3T (bn=64c)))= n + 3bn=4c+ 9bn=16c+ 27T (bn=64c);

, , (2.4), bbn=4c=4c = bn=16c bbn=16c=4c = bn=64c. , ? i- -

T (bn=4ic), T (1), bn=4ic = 1, . .

60 4

i > log4 n. , bn=4ic 6 n=4i, ( , -

3log4 n ):

T (n) 6 n+ 3n=4 + 9n=16 + 27n=64 + : : :+ 3log4 n(1)

6 n

1Xi=0

3

4

i+(nlog4 3)

= 4n+ o(n) = O(n)

( log4 n + 1

, 3log4 n nlog4 3,

o(n), log4 3 < 1.)

-

.

:

, .

,

( ).

( -

). , -

, (

n = 4k ). , -

,

,

. 4.3, -

(. 4-5).

(recursion tree). ,

. 4.1

T (n) = 2T (n=2) + n2:

, n | .

() (), T (n), -

T (n), T (n=2), T (n=4) . . -

T (n), -

. n2, | (n=2)2+(n=2)2 =

n2=2, | (n=4)2 + (n=4)2 + (n=4)2 + (n=4)2 = n2=4. -

,

-

. , T (n) = (n2).

. 4.2 | -

T (n) = T (n=3) + T (2n=3) + n

61

Total=

. 4.1 T (n) = 2T (n=2) + n2. - () lg n ( lg n+ 1 ).

. 4.2 T (n) = T (n=3) + T (2n=3) + n.

62 4

( ).

n. ,

1. -

,

n ! (2=3)n ! (2=3)2n ! ! 1 k = log3=2n ( k (2=3)kn = 1). T (n)

O(n lgn).

4.2-1 ( ) T (n) =

3T (bn=2c) + n, T (n).

4.2-2 , , T (n) =

T (n=3) + T (2n=3)+ n T (n) = (n lgn).

4.2-3 T (n) = 4T (bn=2c) + n T (n).

4.2-4 T (n) = T (n a) + T (a) + n, a > 1 | .

4.2-5 T (n) =

T (n) +T ((1)n) +n, | 0 < < 1.

4.3.

T (n) = aT (n=b) + f(n); (4.5)

a > 1 b > 1 | , f |

( ) .

; ,

.

(4.5) ,

n a n=b,

( T (n=b)) -

.

f(n) ( 1.3.2 f(n) = C(n) +D(n)).

, Merge-Sort a = 2, b = 2,

f(n) = (n).

, (4.5) -

: n=b .

63

T (n=b) T (bn=bc) T (dn=be). , , ,

.

4.1. a > 1 b > 1 | , f(n) | ,

T (n) n

T (n) = aT (n=b) + f(n);

n=b dn=be, bn=bc. :1. f(n) = O(nlogb a") " > 0, T (n) =

(nlogb a).

2. f(n) = (nlogb a), T (n) = (nlogb a lgn).

3. f(n) = (nlogb a+") " > 0 af(n=b) 6cf(n) c < 1 n,

T (n) = (f(n)).

? -

f(n) nlogb a; -

, T (n) ( 1 3).

( 2), -

(nlogb a lgn) = (f(n) lgn).

. -

, f(n) , nlogb a: -

n" " > 0.

f(n) nlogb a ,

af(n=b) 6 cf(n);

, , .

, -

: , , f(n) ,

nlogb a, , -

.

2 3. , -

.

, -

.

T (n) = 9T (n=3) + n:

a = 9, b = 3, f(n) = n, nlogb a = nlog3 9 = (n2).

64 4

f(n) = O(nlog3 9") " = 1, , T (n) = (n2).

T (n) = T (2n=3) + 1:

a = 1, b = 3=2, f(n) = 1 nlogb a = nlog3=2 1 = n0 = 1.

2, f(n) = (nlogb a) = (1), ,

T (n) = (lg n).

T (n) = 3T (n=4) + n lg n

a = 3, b = 4, f(n) = n lgn; nlogb a =

nlog4 3 = O(n0;793). ( " 0;2) , - . n af(n=b) =

3(n=4) lg(n=4) 6 (3=4)n lgn = cf(n) c = 3=4.

T (n) = (n lg n).

, : T (n) =

2T (n=2)+n lgn. a = 2, b = 2, f(n) = n lgn, nlogb a = n. ,

f(n) = n lgn , nlogb a, -

: f(n)=nlogb a = (n lgn)=n = lgn

n" " > 0. -

2 3;

. 4.4-2.

4.3-1 ,

. T (n) = 4T (n=2) + n;

. T (n) = 4T (n=2) + n2;

. T (n) = 4T (n=2) + n3.

4.3-2 A

T (n) = 7T (n=2)+n2, A0 | - T 0(n) = aT 0(n=4)+n2. a A0 , A?

4.3-3 , ,

T (n) = T (n=2)+(1) ( , . . 1.3-5)

T (n) = (lg n).

4.3-4 , ( 3) -

: f ,

", -

.

4.4 4.1 65

? 4.4 4.1

4.1 -

; ,

.

. -

n, b; -

. -

, -

. .

-

: -

, b,

,

.

, ,

, : T (n)

, T (n) = O(n) n,

, n. (,

T (n) = n n = 1; 2; 4; 8; : : : T (n) = n2 n.)

4.4.1.

T (n) , ()

b > 1 ( )

(4.5), . .

T (n) = aT (n=b) + f(n):

T :

( 4.2), (-

4.3) ( 4.4).

4.2. a > 1, b > 1 | , f(n) |

, b. T (n) | , b

T (n) = aT (n=b) + f(n) n > 1, T (1) > 0.

T (n) = (nlogb a) +

logb n1Xj=0

ajf(n=bj): (4.6)

66 4

. 4.3 T (n) = aT (n=b) + f(n) a- logb n n

logb a. - , (4.6).

.

,

T (n) = f(n) + aT (n=b)

= f(n) + af(n=b) + a2T (n=b2)

= f(n) + af(n=b) + a2f(n=b2) + : : :

+ alogb n1f(n=blogb n1) + alogb nT (1):

alogb n = nlogb a,

(nlogb a). ,

.

4.2

(. 4.3), a (

). f(n), a -

f(n=b), a2 f(n=b2) . .

j aj ; | f(n=bj). -

logb n ,

T (1); alogb n = nlogb a .

4.4 4.1 67

(4.6) , :

j- ajf(n=bj),

logb n1Xj=0

ajf(n=bj):

,

.

nlogb a 1, -

(nlogb a).

, -

.

, | ,

.

(4.6).

4.3. a > 1, b > 1 | , f(n) | -

, b. - g(n),

g(n) =

logb n1Xj=0

ajf(n=bj) (4.7)

( n, b). 1. f(n) = O(nlogb a") " > 0,

g(n) = O(nlogb a).

2. f(n) = (nlogb a), g(n) = (nlogb a lg n).3. af(n=b) 6 cf(n) c < 1

n > b, g(n) = (f(n)).

. 1. - f(n) = n, = logb a" f (4.7) : (

= logb a)

g(n) = f(n) + af(n=b) + a2f(n=b2) + : : :+ ak1f(n=bk1)

= n + a(n=b) + a2(n=b2) + : : :+ ak1(n=bk1); (4.8)

-

k = logb n a=b; 1,

< logb a b < a. -

(

). O(ak) = O(nlogb a).

.

68 4

2.

:

g(n) = f(n) + af(n=b) + a2f(n=b2) + : : :

= n + a(n=b) + a2(n=b2) + : : : ; (4.9)

= logba -

1 . logbn, -

nlogb a log

bn = (nlogb a lgn):

2 .

3. f ,

-

, c < 1.

c, -

( 1=(1 c)) ( , -

). , g(n) = (f(n)) n,

b. .

, n b.

4.4. a > 1, b > 1 | , f(n) |

, b. T (n) | , b

T (n) = aT (n=b) + f(n) n > 1 T (1) > 0. :

1. f(n) = O(nlogb a") " > 0, T (n) =(nlogb a).

2. f(n) = (nlogb a), T (n) = (nlogb a) lgn.

3. f(n) = (nlogb a+") " > 0 af(n=b) 6cf(n) c < 1 -

n, T (n) = (f(n)).

??????? ?

. 4.2 4.3.

T (n) = (nlogb a) +O(nlogb a) = (nlogb a):

T (n) = (nlogb a) + (nlogb a lg n) = (nlogb a lg n):

4.4 4.1 69

T (n) = (nlogb a) + (f(n)) = (f(n)):

, f(n) = (nlogb a+")

" > 0 ,

(. . 4.4-3).

4.4 .

4.4.2.

n, -

b. n=b -

T (n) = aT (dn=be) + f(n) (4.10)

T (n) = aT (bn=bc) + f(n): (4.11)

, .

, .

n; n=b; n=b2; : : : -

ni, :

ni =

(n; i = 0,

dni1=be; i > 0.(4.12)

( ). -

| , .

, logb n -

, n ( b)

.

, dxe 6 x+ 1 ,

n0 6 n;

n1 6n

b+ 1;

n2 6n

b2+1

b+ 1;

n3 6n

b3+

1

b2+1

b+ 1;

: : : : : : : : : : : : : : : : : : : : : :

1 + 1=b + 1=b2 + : : : 6 1=(b 1), i = blogb nc ni 6 n=b

i + b=(b 1) 6 b+ b=(b 1) = O(1).

70 4

(4.10),

T (n) = f(n0) + aT (n1)

= f(n0) + af(n1) + a2T (n2)

6 f(n0) + af(n1) + a2f(n2) + : : :+

+ ablogb nc1f(nblogb nc1) + ablogb ncT (nblogb nc)

= (nlogb a) +

blogb nc1Xj=0

ajf(nj): (4.13)

(4.6), n

b.

[ , .

, T (ndlog bne) . , f(n) , . .

n, n0.

, n0.

.]

g(n) =

blogb nc1Xj=0

ajf(nj): (4.14)

-

, ( -

), ( ) (-

). -

, -

( ,

). , -

n=bi ni. -

, b=(b 1), - . ,

f(nj) = O(nlogb a=aj) = O((n=bj)logb a), -

4.3 ( 2). , bj=n 6 1 j 6 blogb nc. f(n) = O(nlogb a) , c

4 71

nj

f(nj) 6 c

n

bj+

b

b 1

logb a= c

nlogb a

aj

1 +

bj

n bb 1

logb a6 c

nlogb a

aj

1 +

b

b 1

logb a= O

nlogb a

aj

:

, c(1 + b=(b 1))logb a | -. , 2 .

1 .

f(nj) = O(nlogb a"); ,

2, .

, n

.

, , nj

n=bj .

4.4-1? ni (4.12), b|

.

4.4-2? , f(n) = (nlogb a lgk n), k > 0,

(4.5) T (n) = (nlogb a lgk+1 n).

b.

4.4-3? , 3 -

: (af(n=b) 6 cf(n) -

c < 1) , " > 0,

f(n) = (nlogb a+").

4-1

-

(, T (n) | -

n 6 2):

. T (n) = 2T (n=2) + n3.

. T (n) = T (9n=10) + n.

72 4

. T (n) = 16T (n=4) + n2.

. T (n) = 7T (n=3) + n2.

. T (n) = 7T (n=2)+ n2.

. T (n) = 2T (n=4)+pn.

. T (n) = T (n 1) + n.. T (n) = T (

pn) + 1.

4-2

A[1 : :n] 0 n, -

. , -

B[0 : :n] , A,

, ( -

O(n)). A

.

-

A: -

A.

, -

O(n).

4-3

, -

, |

. ,

, . -

. -

:

1. (1).

2. (N), N | .

3. , -

. (q p+ 1), A[p : : q].

.

(. 1.3-5). -

? (-

, .)

. Merge-Sort -

1.3.1.

4-4

T (n) .

, T (n) | n 6 8.

. T (n) = 3T (n=2) + n lg n.

4 73

. T (n) = 3T (n=3 + 5) + n=2.

. T (n) = 2T (n=2) + n= lgn.

. T (n) = T (n 1) + 1=n.. T (n) = T (n 1) + lg n.. T (n) =

pnT (pn) + n.

4-5

T (n) n, -

b. -

n?

. T (n) h(n) | , -

( -

), T (n) 6 h(n) n, -

b > 1. , , h

: h(n) = O(h(n=b)). ,

T (n) = O(h(n)).

. T T (n) =

aT (n=b) + f(n) n > n0; a > 1, b > 1 f(n) -

. T (n) n 6 n0,

T (n0) 6 aT (n0=b)+f(n0): , T (n)

.

. 4.1

f(n).

4.4.

4-6

(2.13).

. -

(generating function), -

(formal power series)

F =1Xi=0

Fizi = 0 + z + z2 + 2z3 + 3z4 + 5z5 + 8z6 + 13z7 + : : :

. , F(z) = z + zF(z) + z2F(z).. ,

F(z) = z1 z z2 =

z

(1 'z)(1 b'z) = 1p5

1

1 'z 1

1 b'z

' =1 +p5

2= 1;61803 : : :

b' = 1 p52

= 0;61803 : : :

74 4

. ,

F(z) =1Xi=0

1p5('i b'i)zi:

. , Fi i > 0 'i=p5

. (: jb'j < 1.). , Fi+2 > '

i i > 0.

4-7

n ,

; , | . -

,

. -

,

.

A B

B A

B A

B A

B A

. , ,

, -

( ).

.

n , . ,

bn=2c , - .

. . ,

(n) .

( .)

[ : -

n , -

. ,

, . ,

. -

O(n) . -

, -

. ,

, , . -

, -

:

.]

4 75

(L. Fibonacci)

1202 . (A. De Moivre)

(. 4-6). -

-

, [26], -

( . 4.4-2). [121] [140]

,

. -

[164].

76 4

1257

5

, , -

, , ,

. , , -

( ).

5.1.

(set) (members, elements).

x S, x 2 S (- x S). x S, x =2 S. -

. , S = f1; 2; 3g - 1; 2; 3 . 2

, 4 | , 2 2 S, 4 =2 S. , -

. A B (are equal),

.

A = B. , f1; 2; 3; 1g= f1; 2; 3g= f3; 2; 1g. -

:

? (empty set), .

Z (integers); Z =f: : : ;2;1; 0; 1; 2; : : :g;

R () (real numbers);

N (natural numbers);N = f0; 1; 2; : : :g1

A

1 1 | .

78 5

B, ( x 2 A x 2 B), , A - (subset) B A B. A B, A

(proper subset) B; A B. ( A B , .) A

A A. A B -, A B B A. A, B C A B B C A C. A ? A. :

A ,

, B.

, fx : x 2Z x=2| g. x Z, ...

.

A B -

, -

(set operations):

(intersection) A B

A \B = fx : x 2 A x 2 Bg:

(union) A B -

A [B = fx : x 2 A x 2 Bg:

(dierence) A B -

A nB = fx : x 2 A x =2 Bg:

-

:

(empty set laws):

A \? = ?; A [? = A:

(idempotency laws):

A \ A = A; A [A = A:

(commutative laws):

A \B = B \ A; A [B = B [A:

79

??? n

. 5.1 , - (5.2). A;B;C .

(associative laws):

A \ (B \ C) = (A \ B) \ C; A [ (B [ C) = (A [ B) [ C:

(distributive laws):

A \ (B [ C) = (A\ B) [ (A \ C);A [ (B \ C) = (A [B) \ (A [ C) (5.1)

(absorption laws):

A \ (A[ B) = A; A [ (A \B) = A

(DeMorgan's laws):

A n (B \ C) = (A nB) [ (A n C);A n (B [ C) = (A nB) \ (A n C) (5.2)

. 5.1 (5.1);

A, B C .

,

(universe). , ,

,

Z . U ,

(complement) A A =

U nA. A U :

A = A; A \ A = ?; A [A = U:

(5.2) ,

A;B U

A \ B = A [ B; A [B = A \B:

A B (disjoint),

, . . A\B = ?. , S = fSig (partition) S,

80 5

Si (are pairwise disjoint),. . Si \ Sj = ? i 6= j, S, . .

S =[Si2S

Si

, S S, s 2 S Si .

S (car-

dinality), (size), jSj. ,

. -

: j?j = 0. (nite) | ; (innite) -

.

; , , -

, (countably innite);

, , -

(uncountable). Z,

R .

A B

jA [Bj = jAj+ jBj jA \Bj (5.3)

,

jA [ Bj 6 jAj+ jBj

A B , jA \ Bj = 0 : jA[Bj = jAj+ jBj. A B, jAj 6 jBj. n n- (n-

set); (sin-

gleton). k-

subset, k- (- -

).

S

, S; -

2S - (power set). ,

2fa;bg = f?; fag; fbg; fa; bgg. S 2S - 2jSj . a b (a; b)

(a; b) = fa; fa; bgg, (a; b) (b; a). [

81

.

, , (a; b) = (c; d)

(a = c) (b = d).]

(cartesian product) A

B ,

A, | B. : AB.

A B = f(a; b) : a 2 A b 2 Bg

, fa; bg fa; b; cg = f(a; a); (a; b); (a; c); (b; a); (b; b); (b; c)g. A B

:

jABj = jAj jBj: (5.4)

n A1; A2; : : : ; An

n- (n-tuples)

A1A2: : :An = f(a1; a2; : : : ; an) : ai 2 Ai i = 1; 2; : : : ; ng

( (a; b; c) ((a; b); c),

(a; b; c; d) ((a; b; c); d) ).

:

jA1 A2 : : : Anj = jA1j jA2j : : : jAnj

An = A A : : :A

n ; A

An jAjn. , n- n (. . 5.3).

5.1-1 -

(5.1).

5.1-2 -

:

A1 \ A2 \ : : :\An = A1 [ A2 [ : : :[ An;A1 [A2 [ : : :[An = A1 \ A2 \ : : :\ An:

82 5

5.1-3 (5.3), -

(principle of inclusion and exclusion):

jA1 [ A2 [ : : :[ Anj = jA1j+ jA2j+ : : :+ jAnj jA1 \ A2j jA1 \ A3j : : :+ jA1 \ A2 \A3j+ : : :+ (1)n1jA1 \ A2 \ : : :\ Anj

5.1-4 ,

.

5.1-5 , S n -

, - 2S 2n . (-

, S 2n .)

5.1-6 n-, -

.

5.2.

(binary relation) R

A B -

A B. (a; b) 2 R, aRb , a R b.

A A A.,

f(a; b) : a; b 2 N a < bg. n- - (n-ary relation) A1; A2; : : : ; An

A1 A2 : : :An. R AA (reex-

ive),

aRa

a 2 A. , = 6 - N,

83

a; b; c 2 A. ,

84 5

-

, .

, ,

| x, yRx

y. -

: x (max-

imal), , . . xRy -

x = y. , -

( ),

(

).

(total order, linear or-

der), a b aRb, bRa

( | ).

, 6 -

, -

| ( ,

).

5.2-1 , - Z , -

.

5.2-2 , n

a b (mod n) - Z. (, a b (mod n), q, ab = qn.) ?

5.2-3 ,

. , ;

. , ;

. , .

5.2-4 S | , R | -

S. , R ,

.

5.2-5 , -

, :

aRb bRa , aRa

. ?

85

5.3.

A B. (function), -

A B, f A B, - : a 2 A b 2 B, (a; b) 2 f . A - (domain) ; B

, -

codomain.

, f -

A B. -

A

B, B -

A. , -

f = f(a; b) : a 2 N b = a mod 2g f : N ! f0; 1g, a b 2 f0; 1g, a mod 2. f(0) = 0, f(1) = 1, f(2) = 0

. ,

g = f(a; b) : a; b 2 N a+ b g

, () (1; 3) (1; 5),

, ,

.

(a; b) f , -

, , b (value)

(argument) a, b = f(a). -

, , -

. ,

f : N! N f(n) = 2n, , f = f(n; 2n) :n 2 Ng. f; g : A! B (equal), f(a) = g(a) a 2 A. ( , - f : A ! B1 g : A ! B2 B1 6= B2, f(a) = g(a) a!) (nite sequence) n -

f ,

f0; 1; 2; : : : ; n1g. , . . hf(0); f(1); : : : ; f(n1)i. - (innite sequence) ,

N

. , , -

(2.13), h0; 1; 1; 2; 3; 5; 8; 13; 21; : : :i.

86 5

-

, -

. , f : A1 A2 : : :An ! B, f(a1; a2; : : : ; an) f((a1; a2; : : : ; an)). ai (ar-

gument) f ,

n- (a1; a2; : : : ; an).

b = f(a) f : A ! B a 2 A, b 2 B, b (image) a. A0 A f(A0)

f(A0) = fb 2 B : b = f(a) a 2 A0g:

(range) f

, . . f(A). , -

f : N! N, f(n) = 2n, , -

f(N) = fm :m = 2n n 2 Ng. f : A! B (surjection), -

, B, . .

b 2 B a 2 A. -, f : N! N, f(n) = bn=2c, - . f(n) = 2n ,

, f : N! N, , - -

. f : A ! B, , A B (onto B).

f : A ! B (injection), -,

, . . f(a) 6= f(a0) a 6= a0. , f(n) = 2n N N, -

n

(n=2, n ;

). f(n) = bn=2c , () f(2) = f(3) = 1.

one-to-one function.

f : A! B (bijection), - . ,

f(n) = (1)ndn=2e, ,

87

N Z, :

0! 01!12! 13!24! 2...

, Z

N. -

, Z -

N. -

(one-to-one correspon-

dence), -

A B. , -

A , (permutation) -

A.

f , (inverse)

f1

f1(b) = a , f(a) = b:

, f(n) = (1)ndn=2e

f1(m) =

(2m; m > 0,

2m 1; m < 0.

5.3-1 A B | , f : A! B | - . ,

. f | , jAj 6 jBj;. f | , jAj > jBj.

5.3-2 f : N! N, f(x) = x+ 1? Z!Z, .

5.3-3 .

( ,

.)

5.3-4? f : Z! ZZ.

88 5

. 5.2 . () - (V;E), V = f1; 2; 3; 4; 5; 6g E =f(1; 2); (2; 2); (2; 4); (2; 5); (4; 1); (4; 5); (5; 4); (6; 3)g. (2; 2) -. () G = (V; E), V = f1; 2; 3; 4; 5; 6g E = f(1; 2); (1; 5); (2; 5); (3; 6)g. 4 ( ). () (), f1; 2; 3; 6g.

5.4.

,

.

, -

,

. 23,

.

(directed graph)

(V;E), V | , E | -

V , . . V V . (digraph). -

V (vertex set);

(vertex;

vertices). E (edge set) -

; (edges). 5.2 () -

f1; 2; 3; 4; 5; 6g. , | . ,

- (self-loops),

.

(undirected) G = (V;E)

(V ) (unordered) :

fu; vg, u; v 2 V u 6= v. - (u; v) fu; vg; (u; v) (v; u)

. -

-,

( ). . 5.2 () -

f1; 2; 3; 4; 5; 6g.

89

-

( -

). (u; v) ,

(incident from, leaves) u (incident to,

enters) v. , . 5.2 () ,

2 ((2; 2); (2; 4); (2; 5)) ,

((1; 2); (2; 2)). (u; v) -

, (incident on vertices) u

v. , . 2.5 () , 2

( (1; 2) (2; 5)).

G (u; v), , v

u (is adjacent to u).

, -

. v

u , u ! v. 5.2 () 5.2 () 2 -

1, 1 2

( (2; 1) ).

(degree) -

. , . 5.2 ()

2 2. -

(out-degree), -

, (in-degree),

. -

(degree) . , -

2 . 5.2 () 2,

3 5.

k (path of length k) u v -

hv0; v1; v2; : : : ; vki, v0 = u, vk = v (vi1; vi) 2 E i = 1; 2; : : : ; k. -, k k . (con-

tains) v0; v1; : : : ; vk (v0; v1); (v1; v2); : : : ; (vk1; vk). v0 , vk | ;

, v0 vk. u u0

p u u0, , u0 - u p (u0 is reachable from u via p).

( ) up

u0. (simple), -

. , . 5.2 () h1; 2; 5; 4i - 3, h2; 5; 4; 5i , -.

(subpath) p = hv0; v1; : : : ; vki , , . .

hvi; vi+1; : : : ; vji i; j, - 0 6 i 6 j 6 k.

90 5

(cycle) , -

-

. hv0; v1; : : : ; vki , ( ),

. . v1; v2; : : : ; vk . -

1. , -

: k -

k (

k ). , . 5.2 () h1; 2; 4; 1i,h2; 4; 1; 2i h4; 1; 2; 4i . , h1; 2; 4; 5; 4; 1i . h2; 2i, - - (2; 2). , -

-, (simple).

hv0; v1; : : : ; vki - () , k > 3, v0 = vk

v1; v2; : : : ; vk . , . 5.2 () -

h1; 2; 5; 1i., , (acyclic).

(connected), -

-

. -

-

. -

(connected components) . , . 5.2 () -

: f1; 2; 5g, f3; 6g f4g. - ,

.

(strongly

connected), ( -

) . -

(strongly connected com-

ponents), -

u v v u.

, -

. . 5.2 ()

: f1; 2; 4; 5g, f3g f6g. , f3; 6g , 3 - 6, .

G = (V;E) G0 = (V 0; E0) (isomorphic),

f : V ! V 0 , : (u; v) 2 E , (f(u); f(v)) 2 E0. , - | ,

-. . 5.3 () -

91

. 5.3 () . () : - 4, | .

G G0 V = f1; 2; 3; 4; 5; 6g V 0 = fu; v; w; x; y; zg. f : V ! V 0, f(1) = u,f(2) = v, f(3) = w, f(4) = x, f(5) = y, f(6) = z, -

. , . 5.3 () ,

5 7 . , -

, ,

4, | .

G0 = (E0; V 0) (subgraph) G =(E; V ), E0 E V 0 V . G = (E; V ) V 0, , ,

. . G0 = (E 0; V 0),

E0 = f(u; v) 2 E : u; v 2 V 0g

G -

V 0 (subgraph of G induced by V 0). . 5.2 () f1; 2; 3; 6g . 5.2 () (1; 2), (2; 2), (6; 3).

G

(directed version),

fu; vg (u; v) (v; u), . -

, -

(undirected version),

, - (u; v)

(v; u) fu; vg. (neighbor) u , -

( ); ,

v u , v u

92 5

u v. v |

u v u .

.

(complete) , -

(

). (V;E)

(bipartite), V -

V1 V2 , -

. -

(forest), -

( -

; -

). - free

tree. (directed acyclic graph)

- dag ( ).

. ,

(multigraph),

, , -

, -. -

(hypergraph) ,

(hyperedges), -

, . -

-

.

5.4-1 , -

. . , -

,

(handshaking lemma): -

.

5.4-2 , k > 3 -

( ,

, , ).

5.4-3 , ( -

) u v,

u v. ,

, .

5.4-4 , (V;E)

1: jEj >jV j 1

93

5.4-5 , -

( ) .

, -

, -

?

5.4-6 . 5.2 ()

. 5.2 ().

5.4-7? -

, -

? (:

,

.)

5.5.

, -

. -

. -

11.4 23.1

.

5.5.1.

5.4, ( ,

free tree) -

. ,

() , (forest); -

, ( -

).

. . 5.4 () ; . 5.4 ()

. 5.4 () , .

5.4 () , ,

.

-

.

5.2 ( ). G = (V;E) | -

. :

1. G ( ).2. G -

.

3. G , , .

94 5

. 5.4 () . () . () , , , .

. 5.5 u v

4. G jEj = jV j 1.5. G jEj = jV j 1.6. G , -

.

. (1) ) (2): , ;

, , .

p1 p2 u

v (. 5.5). , ;

w | , x y |

, w p1 p2.

, ,

z. p0 w z ( x) p00 w z( y). p0 p00 ( ), z p1 w,

p2. ( p0

p00).(2) ) (3) , , . (u; v) | -

. ,

, u v | ,

.

(3)) (4) , , jEj > jV j1 (. 5.4-4). , jEj 6 jV j 1, . n = 1; 2 n 1 . G n > 3 -

. G k > 2 -

95

( , ).

(3). -

,

jV j k 6 jV j 2. , jV j 1.

(4)) (5) jEj = jV j1. , . ,

( ).

,

(). ,

|

,

.

(5) ) (6) G jEj = jV j 1. G k ; -

. ,

, k -

. , k = 1 .

( , (1)) (2)), .

(6)) (1) , - . , . -

, u v. ,

(u; v) . -

(u; v),

| , u

v, .

5.5.2. .

, (rooted tree), ,

( )

, (root). -

- nodes.

5.6 () 12

7.

x| r.

r x; ,

, (ancestors) x. y

x, x (descendant) y. -

.

x, x, -

(proper ancestors) (proper

descendants) x. [ : -

96 5

= 4, 0, 1 ..

. 5.6 () 4. : ( 7) , ( , 1) , ( , 2) . . . () , ( 3), .

-

, ,

.]

x ,

x, x . -

x (subtree rooted at x). ,

. 5.6 () 8 8, 6, 5 9.

(y; x) | x, y -

(parent) x, x y. [ -

(father) (son),

, - -

, | .

-

.]

, -

. , , -

siblings; ,

, ( )

. , ,

(leaf, external node). , ,

(internal).

-

(degree). , , ,

, -

(

, ).

x (depth) -

x.

97

. 5.7 . () , - . - , | -. () ( , - 7 5 , ). , . () (a), , . -.

(height) .

(ordered tree)

: -

(, ,

. .). . 5.6 -

, .

5.5.3. .

(binary tree) -

,

( ), : , - (root), , -

(left subtree) , , -

(right subtree) .

, , (emp-

ty). nil. , (left child)

; (right child) .

, ,

(child is absent).

. 5.7 ().

-

,

2. , ,

1 |

98 5

=3, 0, 1 ..

. 5.8 3 8 7 .

, -

. . 5.7 (,) ,

.

-

.

( , ). -

. 5.7 ().

: k-

(k-ary) k = 2. , -

(positional tree) ,

-

, . -

1, 2, 3 ,

( ) , -

(ith child is absent). k-

, k.

k- (complete k-ary tree) k-

,

k. ( -

.) . 5.8

3. ,

k- h.

0, k -

1, k2 k

kh h. ,

k- n logk n ( -

, ).

k- h

1 + k + k2 + : : :+ kh1 =kh 1k 1

(. (3.3)). , -

.

5 99

5.5-1 ( ), -

A, B C. -

A, B C A. ()

A, B C A.

A, B C A.

5.5-2 , n > 7 c n

, n

, n .

5.5-3 G = (V;E) | ,

v0,

v 2 V . , - G .

5.5-4 , -

2 .

5.5-5 , n -

blg nc.

5.5-6? (internal path length)

, 0

2, . -

. n | , i e

| . , e = i+ 2n.

5.5-7? 2d, d| . ,

1 ( , Kraft inequality)

5.5-8? , L -

,

[L=3; 2L=3].

5-1

k- (V;E) -

c : V ! f0; 1; : : : ; k 1g, c(u) 6= c(v) u v. (

.)

. , 2-.

100 5

. , -

G :

1. G .

2. G 2-.

3. G .

. d|

G. , G (d+ 1)-.

. , G O(jV j) , G O(pjV j)-.

5-2

. (,

,

.)

. n > 2

( ).

. 6 ,

, ,

.

.

,

.

. n n=2 ,

,

.

5-3

, -

, ,

-

.

. , n

,

3n=4 .

. , 3=4 () ,

,

3n=4 .

. ,

n A B ,

jAj = bn=2c, jBj = dn=2e, , , O(lgn).

5 101

(G. Boole) -

- ,

1854 . (-

)

(G. Cantor) 1874{1895 . -

(G.W. Leibnitz) -

. -

. 1736 ,

(L. Euler) , -

.

[94].

6

-

. ,

.

, -

.

6.1 (

). 6.2 -

-

. 6.3 -

, . 6.4 -

. -

6.5

( ). 6.6 -

:

, -

.

6.1.

,

. , n-

n . -

. ,

(. . 5.1).

, -

, -

.

(rule of sum) , jA [ Bj = jAj + jBj A B ( -

(5.3)).

103

, , 26 + 10 = 36

, 26, 10.

(rule of product) , jA Bj = jAj jBj A B, . (5.4). , 28 4 ,

28 4 = 112 ( ).

(string; - ) -

-

S ( ). , 8 -

( ) 3:

000; 001; 010; 011; 100; 101; 110; 111:

k k- (k-string). -

(substring) s0 s - s. k-

(k-substring), k. , 010

3- 01101001 ( 4), 111

| .

k S

Sk, jSjk - k. , 2k k. -

:

jSj ; jSj -, | k , jSj jSj : : : jSj(k ) .

(permutation) S -

, -

. ,

6 S = fa; b; cg :

abc; acb; bac; bca; cab; cba:

n! n ,

n ,

n 1 , n 2 , . .

104 6

,

,

. S n

k, n.

n k k,

S. ( | k-permutation.)

n(n 1)(n 2) (n k + 1) = n!(n k)! (6.1)

n , n1 - , k- , -

n k + 1 ., 12 = 4 3

fa; b; c; dg:

ab; ac; ad; ba; bc; bd; ca; cb; cd; da; db; dc:

-

(

n = k).

(k-combinations) n k k-

- n- .

, fa; b; c; dg 4 6 -

fa; bg; fa; cg; fa; dg; fb; cg; fb; dg; fc; dg:

n k k!

( n k), k-

k! , -

. (6.1) ,

n k

n!

k!(n k)! : (6.2)

k = 0 1, (

; , 0! = 1).

105

n k Ckn

( )n

k

:

Ck

n=

n

k

=

n!

k!(n k)! : (6.3)

k n k :

Ck

n= Cnk

n: (6.4)

Ckn (bi-

nomial coecients), (binomial ex-

pansion):

(x+ y)n =

nXk=0

Ck

nxkynk (6.5)

( (x + y)n, , -

k x n k y, k n, . . Ckn).

x = y = 1

2n =

nXk=0

Ck

n: (6.6)

( : 2n n -

: Ckn k .)

(

).

-

. 1 6 k 6 n

Ck

n =n(n 1) (n k + 1)

k(k 1) 1

=n

k

n 1k 1

n k + 1

1

>

n

k

k: (6.7)

106 6

k! > (ke)k, -

(2.12),

Ck

n=n(n 1) (n k + 1)

k(k 1) 1

6nk

k!(6.8)

6

en

k

k

: (6.9)

0 6 k 6 n (. . 6.1-12)

Ck

n6

nn

kk(n k)nk ; (6.10)

00 = 1. k = n, 0 6 6

1,

Cn

n 6nn

(n)n((1 )n)(1)n

=

1

1

1

1!n(6.11)

= 2nH(); (6.12)

H() = lg (1 ) lg(1 ) (6.13)

() , - (bi-

nary) entropy function. 0 lg 0 = 0,

H(0) = H(1) = 0.

6.1-1 k- n? (-

, ,

.) n?

6.1-2 (boolean function) n m -

| , ftrue; falsegn ftrue; falsegm. - n ?

n m ?

6.1-3 n ()

? , -

, .

107

6.1-4 -

f1; 2; : : : ; 100g , ?( .)

6.1-5

Ck

n=n

kCk1n1 (6.14)

0 < k 6 n.

6.1-6

Ck

n=

n

n kCk

n1

0 6 k < n.

6.1-7 k n, -

, . ,

,

Ck

n = Ck

n1 + Ck1n1:

6.1-8 6.1-7,

Ckn n = 0; 1; 2; : : : ; 6 k 0 n -

(C00 , C01 C

11 ,

).

(Pascal's triangle).

6.1-9

nXi=1

i = C2n+1:

6.1-10 , n > 0 Ckn ( k 0 n) k =

bn=2c k = dn=2e ( n , | ).

6.1-11? , n > 0, j > 0, k > 0, j + k 6 n

Cj+kn 6 C

j

nCk

nj

, -

(6.3).

?

6.1-12? (6.10) k 6 n=2;

, (6.4), k 6 n.

108 6

6.1-13? , ,

Cn

2n =22npn

(1 + O(1=n)): (6.16)

6.1-14? H(), , -

= 1=2. H(1=2)?

6.2.

-

.

S, -

(sample space), | -

(elementary events).

. -

, -

, 2, -

() ():

S = f;; ; g

(event) S.

,

, . . f; g. S ( ) -

(certain event), ? -

(null event). A B -

(mutually exclusive), A\B = ?. - s 2 S fsg S. .

S. , -

S,

. - (

; -

). ,

(

) .

(probability distribution) -

S P, -

109

( -

, - probability axioms):

1. PA > 0 A.

2. PfSg = 1.3. PfA[Bg = PfAg+PfBg -

A B, , ,

Pf[iAig =Xi

PfAig:

( ) -

A1; A2; : : :

PfAg A (probability ofthe event A). , 2 -

, 1 -

.

.

Pf?g = 0. A B, PfAg 6 PfBg. A SA (- A), PfAg = 1 PfAg. A B

PfA [Bg = PfAg+ PfBg PfA \ Bg (6.17)6 PfAg+ PfBg: (6.18)

,

1=4. -

Pf;; g = Pfg+ Pfg+ Pfg= 3=4:

: , ,

Pfg = 1=4, - 1 1=4 = 3=4.

6.2.1.

-

(discrete). -

PfAg =Xs2A

Pfsg;

A,

-

. S ,

110 6

(uniform

probability distribution) S. -

, k

jSj, k=jSj. - s 2 S. -

(ipping a fair coin),

1=2. n , -

S = f; gn, 2n . S -

n f; g, 1=2n.

A = f k n k g

S jAj = Ckn , Ck

n, k . , -

A PfAg = Ckn=2n.

-

[a; b]. [c; d] [a; b]

Pf[c; d]g= d cb a:

, ,

, , -

. , -

.

, 0, -

(c; d] (c; d) -

.

-

(continuous uniform probability distribu-

tion).

. , ,

. ,

?

111

. -

, (

) 1=3.

(conditional probability) A B;

PfAjBg

PfAjBg = PfA \BgPfBg ; (6.19)

( , PfBg 6= 0). : B ; -

, ,

A.

(independent),

PfA \Bg = PfAgPfBg;

PfBg 6= 0

PfAjBg = PfAg:

,

1=2, ( -

) | 1=4. -

,

. :

1=2, -

1=4.

.

, -

,

, (. . 1=2).

A1; A2; : : : ; An

(pairwise independent),

PfAi \Ajg = PfAigPfAjg

1 6 i < j 6 n.

A1; A2; ; An - (mutually independent), Ai1 ; Ai2 ; : : : ; Aik ( 2 6 k 6 n 1 6 i1 < i2 < < ik 6 n)

PfAi1 \Ai2 \ : : :\Aikg = PfAi1gPfAi2g PfAikg:

112 6

| : , -

, -

,

.

(6.19) ,

A B, , -

PfA \ Bg = PfBgPfAjBg= PfAgPfBjAg:

(6.20)

PfAjBg,

PfAjBg = PfAgPfBjAgPfBg ; (6.21)

(Bayes's theorem).

: B = (B \A)[ (B \A), B \A B \A | ,

PfBg = PfB \ Ag+ PfB \Ag= PfAgPfBjAg+ PfAgPfBjAg:

(6.21),

:

PfAjBg = PfAgPfBjAgPfAgPfBjAg+ PfAgPfBjAg

:

.

: ,

.

, . ,

. ,

?

. -

A | , B |

. PfAjBg.: PfAg = 1=2, PfBjAg = 1, PfAg = 1=2 PfBjAg = 1=4,,

PfBjAg = (1=2) 1(1=2) 1 + (1=2) (1=4) = 4=5:

113

6.2-1 (Boole's inequality):

PfA1 [A2 [ : : :g 6 PfA1g+ PfA2g+ : : : (6.22)

A1; A2; : : : .

6.2-2 , -

. ,

, ? (

.)

6.2-3 ( 1 10)

. ,

?

6.2-4? ,

p (0 < p < 1). -

, ,

. (: ; -

, ; ,

.)

6.2-5? -

a=b, , -

? ( a b , 0 < a < b, -

lg b.)

6.2-6 ,

PfAjBg+ PfAjBg = 1:

6.2-7 , A1; A2; : : : ; An,

PfA1 \ A2 \ : : :\Ang == PfA1g PfA2jA1g PfA3jA1\A2g PfAnjA1\A2\ \An1g:

6.2-8?