P. 1
Algorithms and Complexity

Algorithms and Complexity

Ratings: (0)|Views: 16|Likes:
Published by Jeremie

More info:

Published by: Jeremie on Apr 11, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/24/2012

pdf

text

original

 
Algorithms and Complexity
Herbert S. Wilf University of PennsylvaniaPhiladelphia, PA 19104-6395
Copyright Notice
Copyright 1994 by Herbert S. Wilf. This material may be reproduced for any educational purpose, multiplecopies may be made for classes, etc. Charges, if any, for reproduced copies must be just enough to recoverreasonable costs of reproduction. Reproduction for commercial purposes is prohibited. This cover page mustbe included in all distributed copies.
Internet Edition, Summer, 1994
This edition of Algorithms and Complexity is available at the web site
http://www.math.upenn.edu
. Itmay be taken at no charge by all interested persons. Comments and corrections are welcome, and should besent to
wilf@math.upenn.edu
 
CONTENTSChapter 0: What This Book Is About
0.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Hard vs. easy problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3 A preview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Chapter 1: Mathematical Preliminaries
1.1 Orders of magnitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Positional number systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.3 Manipulations with series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.4 Recurrence relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.5 Counting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.6 Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Chapter 2: Recursive Algorithms
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.2 Quicksort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.3 Recursive graph algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.4 Fast matrix multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472.5 The discrete Fourier transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502.6 Applications of the FFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562.7 A review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Chapter 3: The Network Flow Problem
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.2 Algorithms for the network ow problem . . . . . . . . . . . . . . . . . . . . . . . . . 643.3 The algorithm of Ford and Fulkerson . . . . . . . . . . . . . . . . . . . . . . . . . . 653.4 The max-ow min-cut theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693.5 The complexity of the Ford-Fulkerson algorithm . . . . . . . . . . . . . . . . . . . . . 703.6 Layered networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723.7 The MPM Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.8 Applications of network ow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Chapter 4: Algorithms in the Theory of Numbers
4.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814.2 The greatest common divisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824.3 The extended Euclidean algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 854.4 Primality testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874.5 Interlude: the ring of integers modulo
n
. . . . . . . . . . . . . . . . . . . . . . . . . 894.6 Pseudoprimality tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924.7 Proof of goodness of the strong pseudoprimality test . . . . . . . . . . . . . . . . . . . . 944.8 Factoring and cryptography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974.9 Factoring large integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994.10 Proving primality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100iii
 
Chapter 5: NP-completeness
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045.2 Turing machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095.3 Cooks theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1125.4 Some other NP-complete problems . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165.5 Half a loaf ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195.6 Backtracking (I): independent sets . . . . . . . . . . . . . . . . . . . . . . . . . . . 1225.7 Backtracking (II): graph coloring . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1245.8 Approximate algorithms for hard problems . . . . . . . . . . . . . . . . . . . . . . . . 128iv

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->