Practical Analysis of Algorithms

  • 9h 43m
  • Dana Vrajitoru, William Knight
  • Springer
  • 2014

This book introduces the essential concepts of algorithm analysis required by core undergraduate and graduate computer science courses, in addition to providing a review of the fundamental mathematical notions necessary to understand these concepts. Features: includes numerous fully-worked examples and step-by-step proofs, assuming no strong mathematical background; describes the foundation of the analysis of algorithms theory in terms of the big-Oh, Omega, and Theta notations; examines recurrence relations; discusses the concepts of basic operation, traditional loop counting, and best case and worst case complexities; reviews various algorithms of a probabilistic nature, and uses elements of probability theory to compute the average complexity of algorithms such as Quicksort; introduces a variety of classical finite graph algorithms, together with an analysis of their complexity; provides an appendix on probability theory, reviewing the major definitions and theorems used in the book.

In this Book

  • Introduction
  • Mathematical Preliminaries
  • Fundamental Notations in Analysis of Algorithms
  • Recurrence Relations
  • Deterministic Analysis of Algorithms
  • Algorithms and Probabilities
  • Finite Graph Algorithms
  • Appendix—Probability Theory
  • References