Book contents
- Frontmatter
- Contents
- Preface
- Translator's preface
- Acknowledgments
- Part I Algorithmic tools
- Chapter 1 Notions of complexity
- Chapter 2 Basic data structures
- Chapter 3 Deterministic methods used in geometry
- Chapter 4 Random sampling
- Chapter 5 Randomized algorithms
- Chapter 6 Dynamic randomized algorithms
- Part II Convex hulls
- Part III Triangulations
- Part IV Arrangements
- Part V Voronoi diagrams
- References
- Notation
- Index
Chapter 1 - Notions of complexity
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- Translator's preface
- Acknowledgments
- Part I Algorithmic tools
- Chapter 1 Notions of complexity
- Chapter 2 Basic data structures
- Chapter 3 Deterministic methods used in geometry
- Chapter 4 Random sampling
- Chapter 5 Randomized algorithms
- Chapter 6 Dynamic randomized algorithms
- Part II Convex hulls
- Part III Triangulations
- Part IV Arrangements
- Part V Voronoi diagrams
- References
- Notation
- Index
Summary
Computational geometry aims at designing the most efficient algorithms to solve geometric problems. For this, one must clearly agree on the criteria to estimate or measure the efficiency of an algorithm or to compare two different algorithms. This chapter recalls a few basic notions related to the analysis of algorithms. These notions are fundamental to understanding the subsequent analyses given throughout this book. The first section recalls the definition of algorithmic complexity and the underlying model of computation used in the rest of this book. The second part introduces the notion of a lower bound for the complexity of an algorithm, and optimality.
The complexity of algorithms
The model of computation
From a practical standpoint, the performances of an algorithm can be evaluated by how much time and memory is required by a program that encodes this algorithm to run on a given machine. The running time and space both depend on the particular machine or on the programming language used, or even on the skills of the programmer. It is therefore impossible to consider them relevant measures of efficiency that could serve to compare different algorithms or implementations of the same algorithm. In order to compare, one is forced to define a standard model of a computer on which to evaluate the algorithms, called the model of computation. Thus, to define a model of computation is essentially to define the units of time and space.
- Type
- Chapter
- Information
- Algorithmic Geometry , pp. 3 - 12Publisher: Cambridge University PressPrint publication year: 1998