Skip to content Skip to footer
-73%

Introduction to Algorithms 4th Edition by Thomas H. Cormen, ISBN-13: 978-0262046305

Original price was: $75.00.Current price is: $19.99.

 Safe & secure checkout

Description

Description

Introduction to Algorithms 4th Edition by Thomas H. Cormen, ISBN-13: 978-0262046305

[PDF eBook eTextbook]

  • Publisher: ‎ The MIT Press; 4th edition (April 5, 2022)
  • Language: ‎ English
  • 1312 pages
  • ISBN-10: ‎ 026204630X
  • ISBN-13: ‎ 978-0262046305

A comprehensive update of the leading algorithms text, with new material on matchings in bipartite graphs, online algorithms, machine learning, and other topics.

Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely combines rigor and comprehensiveness. It covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers, with self-contained chapters and algorithms in pseudocode. Since the publication of the first edition, Introduction to Algorithms has become the leading algorithms text in universities worldwide as well as the standard reference for professionals. This fourth edition has been updated throughout.

New for the fourth edition

  • New chapters on matchings in bipartite graphs, online algorithms, and machine learning
  • New material on topics including solving recurrence equations, hash tables, potential functions, and suffix arrays
  • 140 new exercises and 22 new problems
  • Reader feedback–informed improvements to old problems
  • Clearer, more personal, and gender-neutral writing style
  • Color added to improve visual presentation
  • Notes, bibliography, and index updated to reflect developments in the field
  • Website with new supplementary material

Table of Contents:

Copyright

Preface

I Foundations

Introduction

1 The Role of Algorithms in Computing

1.1 Algorithms

1.2 Algorithms as a technology

2 Getting Started

2.1 Insertion sort

2.2 Analyzing algorithms

2.3 Designing algorithms

3 Characterizing Running Times

3.1 O-notation, Ω-notation, and Θ-notation

3.2 Asymptotic notation: formal definitions

3.3 Standard notations and common functions

4 Divide-and-Conquer

4.1 Multiplying square matrices

4.2 Strassen’s algorithm for matrix multiplication

4.3 The substitution method for solving recurrences

4.4 The recursion-tree method for solving recurrences

4.5 The master method for solving recurrences

★ 4.6 Proof of the continuous master theorem

★ 4.7 Akra-Bazzi recurrences

5 Probabilistic Analysis and Randomized Algorithms

5.1 The hiring problem

5.2 Indicator random variables

5.3 Randomized algorithms

★ 5.4 Probabilistic analysis and further uses of indicator random variables

II Sorting and Order Statistics

Introduction

6 Heapsort

6.1 Heaps

6.2 Maintaining the heap property

6.3 Building a heap

6.4 The heapsort algorithm

6.5 Priority queues

7 Quicksort

7.1 Description of quicksort

7.2 Performance of quicksort

7.3 A randomized version of quicksort

7.4 Analysis of quicksort

8 Sorting in Linear Time

8.1 Lower bounds for sorting

8.2 Counting sort

8.3 Radix sort

8.4 Bucket sort

9 Medians and Order Statistics

9.1 Minimum and maximum

9.2 Selection in expected linear time

9.3 Selection in worst-case linear time

III Data Structures

Introduction

10 Elementary Data Structures

10.1 Simple array-based data structures: arrays, matrices, stacks, queues

10.2 Linked lists

10.3 Representing rooted trees

11 Hash Tables

11.1 Direct-address tables

11.2 Hash tables

11.3 Hash functions

11.4 Open addressing

11.5 Practical considerations

12 Binary Search Trees

12.1 What is a binary search tree?

12.2 Querying a binary search tree

12.3 Insertion and deletion

13 Red-Black Trees

13.1 Properties of red-black trees

13.2 Rotations

13.3 Insertion

13.4 Deletion

IV Advanced Design and Analysis Techniques

Introduction

14 Dynamic Programming

14.1 Rod cutting

14.2 Matrix-chain multiplication

14.3 Elements of dynamic programming

14.4 Longest common subsequence

14.5 Optimal binary search trees

15 Greedy Algorithms

15.1 An activity-selection problem

15.2 Elements of the greedy strategy

15.3 Huffman codes

15.4 Offline caching

16 Amortized Analysis

16.1 Aggregate analysis

16.2 The accounting method

16.3 The potential method

16.4 Dynamic tables

V Advanced Data Structures

Introduction

17 Augmenting Data Structures

17.1 Dynamic order statistics

17.2 How to augment a data structure

17.3 Interval trees

18 B-Trees

18.1 Definition of B-trees

18.2 Basic operations on B-trees

18.3 Deleting a key from a B-tree

19 Data Structures for Disjoint Sets

19.1 Disjoint-set operations

19.2 Linked-list representation of disjoint sets

19.3 Disjoint-set forests

★ 19.4 Analysis of union by rank with path compression

VI Graph Algorithms

Introduction

20 Elementary Graph Algorithms

20.1 Representations of graphs

20.2 Breadth-first search

20.3 Depth-first search

20.4 Topological sort

20.5 Strongly connected components

21 Minimum Spanning Trees

21.1 Growing a minimum spanning tree

21.2 The algorithms of Kruskal and Prim

22 Single-Source Shortest Paths

22.1 The Bellman-Ford algorithm

22.2 Single-source shortest paths in directed acyclic graphs

22.3 Dijkstra’s algorithm

22.4 Difference constraints and shortest paths

22.5 Proofs of shortest-paths properties

23 All-Pairs Shortest Paths

23.1 Shortest paths and matrix multiplication

23.2 The Floyd-Warshall algorithm

23.3 Johnson’s algorithm for sparse graphs

24 Maximum Flow

24.1 Flow networks

24.2 The Ford-Fulkerson method

24.3 Maximum bipartite matching

25 Matchings in Bipartite Graphs

25.1 Maximum bipartite matching (revisited)

25.2 The stable-marriage problem

25.3 The Hungarian algorithm for the assignment problem

VII Selected Topics

Introduction

26 Parallel Algorithms

26.1 The basics of fork-join parallelism

26.2 Parallel matrix multiplication

26.3 Parallel merge sort

27 Online Algorithms

27.1 Waiting for an elevator

27.2 Maintaining a search list

27.3 Online caching

28 Matrix Operations

28.1 Solving systems of linear equations

28.2 Inverting matrices

28.3 Symmetric positive-definite matrices and least-squares approximation

29 Linear Programming

29.1 Linear programming formulations and algorithms

29.2 Formulating problems as linear programs

29.3 Duality

30 Polynomials and the FFT

30.1 Representing polynomials

30.2 The DFT and FFT

30.3 FFT circuits

31 Number-Theoretic Algorithms

31.1 Elementary number-theoretic notions

31.2 Greatest common divisor

31.3 Modular arithmetic

31.4 Solving modular linear equations

31.5 The Chinese remainder theorem

31.6 Powers of an element

31.7 The RSA public-key cryptosystem

★ 31.8 Primality testing

32 String Matching

32.1 The naive string-matching algorithm

32.2 The Rabin-Karp algorithm

32.3 String matching with finite automata

★ 32.4 The Knuth-Morris-Pratt algorithm

32.5 Suffix arrays

33 Machine-Learning Algorithms

33.1 Clustering

33.2 Multiplicative-weights algorithms

33.3 Gradient descent

34 NP-Completeness

34.1 Polynomial time

34.2 Polynomial-time verification

34.3 NP-completeness and reducibility

34.4 NP-completeness proofs

34.5 NP-complete problems

35 Approximation Algorithms

35.1 The vertex-cover problem

35.2 The traveling-salesperson problem

35.3 The set-covering problem

35.4 Randomization and linear programming

35.5 The subset-sum problem

VIII Appendix: Mathematical Background

Introduction

A Summations

A.1 Summation formulas and properties

A.2 Bounding summations

B Sets, Etc.

B.1 Sets

B.2 Relations

B.3 Functions

B.4 Graphs

B.5 Trees

C Counting and Probability

C.1 Counting

C.2 Probability

C.3 Discrete random variables

C.4 The geometric and binomial distributions

★ C.5 The tails of the binomial distribution

D Matrices

D.1 Matrices and matrix operations

D.2 Basic matrix properties

Bibliography

Index

Thomas H. Cormen is Emeritus Professor of Computer Science at Dartmouth College. Charles E. Leiserson is Edwin Sibley Webster Professor in Electrical Engineering and Computer Science at MIT. Ronald L. Rivest is Institute Professor at MIT. Clifford Stein is Wai T. Chang Professor of Industrial Engineering and Operations Research, and of Computer Science at Columbia University.

What makes us different?

• Instant Download

• Always Competitive Pricing

• 100% Privacy

• FREE Sample Available

• 24-7 LIVE Customer Support

Delivery Info

Reviews (0)

Reviews

There are no reviews yet.

Be the first to review “Introduction to Algorithms 4th Edition by Thomas H. Cormen, ISBN-13: 978-0262046305”

Your email address will not be published. Required fields are marked *