mirror of https://github.com/CGAL/cgal
Removed outdated directory
This commit is contained in:
parent
fc3c398c80
commit
dafe7a0022
|
|
@ -1,67 +0,0 @@
|
||||||
|
|
||||||
\section{Interval Skip List}
|
|
||||||
|
|
||||||
|
|
||||||
% +========================================================================+
|
|
||||||
\subsection{Definition}
|
|
||||||
% +========================================================================+
|
|
||||||
|
|
||||||
An interval skip list is a data strucure for finding all intervals
|
|
||||||
that contain a point, and for stabbing queries, that is for answering
|
|
||||||
the question whether a given point is contained in an interval or not.
|
|
||||||
The implementation we provide is dynamic, that is the user can freely
|
|
||||||
mix calls to the methods \ccc{insert(..)}, \ccc{remove(..)},
|
|
||||||
\ccc{find_intervals(..)}, and \ccc{is_contained(..)}
|
|
||||||
|
|
||||||
The interval skip list class is parameterized with an interval class.
|
|
||||||
|
|
||||||
The data structure was introduced by Hanson~\cite{}, and it is called
|
|
||||||
interval skip list, because it is an extension of the randomized list
|
|
||||||
structure known as skip list~\cite{}. .
|
|
||||||
|
|
||||||
% +========================================================================+
|
|
||||||
\subsection{Example Programs}
|
|
||||||
% +========================================================================+
|
|
||||||
\label{sectionIntervalskiplistExamples}
|
|
||||||
|
|
||||||
We give two examples. The first one uses a basic interval class. In
|
|
||||||
the second example we create an interval skip list for the $z$-ranges
|
|
||||||
of the faces of a terrain, allowing to answer level queries.
|
|
||||||
|
|
||||||
% +-------------------------------------------------------------+
|
|
||||||
\subsubsection{First Example with Simple Interval}
|
|
||||||
|
|
||||||
The first example reads two numbers \ccc{n} and \ccc{d} from \ccc{std::cin}.
|
|
||||||
It creates n intervals of length \ccc{d} with the left endpoint at \ccc{n}.
|
|
||||||
It then reads out the intervals for the 1-dimensional points with
|
|
||||||
coordinates $0 ... n+d$.
|
|
||||||
|
|
||||||
The interval skip list class has as template argument an interval
|
|
||||||
class. In this example we use the class \ccc{Interval_skip_list_interval}.
|
|
||||||
|
|
||||||
\newpage
|
|
||||||
\ccIncludeExampleCode{Interval_skip_list/intervals.C}
|
|
||||||
|
|
||||||
% +-------------------------------------------------------------+
|
|
||||||
\subsubsection{Example with Faces of a Triangulated Terrain}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
This example creates an interval skip list that allows to find all the faces
|
|
||||||
of a terrain intersected by an horizontal plane with given level.
|
|
||||||
The data points for the terain are read from a file.
|
|
||||||
|
|
||||||
As model for the interval concept, we use a class that is a wrapper
|
|
||||||
around a face handle of a triangulated terrain. Lower and upper bound
|
|
||||||
of the interval are smallest and largest $z$-coordinate of the face.
|
|
||||||
|
|
||||||
\ccIncludeExampleCode{Interval_skip_list/terrain.C}
|
|
||||||
|
|
||||||
|
|
||||||
% +--------------------------------------------------------+
|
|
||||||
|
|
||||||
%\input{Interval_skip_list_ref/main}
|
|
||||||
|
|
||||||
% EOF
|
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue