# A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra

- First Online:

- Received:
- Revised:

DOI: 10.1007/BF02293050

- Cite this article as:
- Avis, D. & Fukuda, K. Discrete Comput Geom (1992) 8: 295. doi:10.1007/BF02293050

- 167 Citations
- 837 Downloads

## Abstract

- (a)
Virtually no additional storage is required beyond the input data.

- (b)
The output list produced is free of duplicates.

- (c)
The algorithm is extremely simple, requires no data structures, and handles all degenerate cases.

- (d)
The running time is output sensitive for nondegenerate inputs.

- (e)
The algorithm is easy to parallelize efficiently.

For example, the algorithm finds the*v* vertices of a polyhedron in*R*^{d} defined by a nondegenerate system of*n* inequalities (or, dually, the*v* facets of the convex hull of*n* points in*R*^{d}, where each facet contains exactly*d* given points) in time*O*(*ndv*) and*O*(*nd*) space. The*v* vertices in a simple arrangement of*n* hyperplanes in*R*^{d} can be found in*O*(*n*^{2}*dv*) time and*O*(*nd*) space complexity. The algorithm is based on inverting finite pivot algorithms for linear programming.