Be careful not to make the wrong assumptions when studying the
algorithms of this chapter. A few of them are efficient and easy to
implement, but many might be neither. Even if an algorithm has an
amazing asymptotic running time, it might be close to impossible to
implement. For example, one of the most famous algorithms from
computational geometry can split a simple6.2 polygon into triangles in time for a
polygon with
edges
[190]. This is so amazing
that it was covered in the New York Times, but the algorithm is
so complicated that it is doubtful that anyone will ever implement it.
Sometimes it is preferable to use an algorithm that has worse
theoretical running time but is much easier to understand and
implement. In general, though, it is valuable to understand both
kinds of methods and decide on the trade-offs for yourself. It is also
an interesting intellectual pursuit to try to determine how
efficiently a problem can be solved, even if the result is mainly of
theoretical interest. This might motivate others to look for simpler
algorithms that have the same or similar asymptotic running times.
Steven M LaValle 2020-08-14