Geometric Algorithms (Coursera)

Start Date
Jan 28th 2022 Course Auditing
Categories
Effort
Certification
Languages
Misc

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Course Information: In many areas of computer science such as robotics, computer graphics, virtual reality, and geographic information systems, it is necessary to store, analyze, and create or manipulate spatial data. This course deals with the algorithmic aspects of these tasks: we study techniques and concepts needed for the design and analysis of geometric algorithms and data structures. Each technique and concept will be illustrated on the basis of a problem arising in one of the application areas mentioned above.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Goals:

At the end of this course participants should be able

- to decide which algorithm or data structure to use in order to solve a given basic geometric problem,

- to analyze new problems and come up with their own efficient solutions using concepts and techniques from the course.

Prerequisites:

In order to successfully take this course, you should already have a basic knowledge of algorithms and mathematics. Here's a short list of what you are supposed to know:

- O-notation, Ω-notation, Θ-notation; how to analyze algorithms

- Basic calculus: manipulating summations, solving recurrences, working with logarithms, etc.

- Basic probability theory: events, probability distributions, random variables, expected values etc.

- Basic data structures: linked lists, binary search trees, etc.

- Graph terminology

- Programming skills for practical assignments

Syllabus

WEEK 1

Plane Sweep Algorithms

In this module we will discuss an algorithm for line segment intersection that does not only depend on the input size, i.e. the number of line segments, but also on the output size, i.e. the number of intersections. This algorithm uses the Plane Sweep technique, which is applicable to many algorithmic problems in the Euclidean plane.

WEEK 2

Voronoi diagrams and Delaunay triangulations

In this module we will introduce the notions of Voronoi diagrams and Delaunay triangulations and its properties. Furthermore we will an algorithm for constructing Delaunay triangulations using the technique of randomized incremental construction. We will see how to analyze these types of algorithms.

WEEK 3

Orthogonal range searching

In this module we will introduce the problem of range searching. We will first look at the one dimensional case and later on generalize to higher dimensions. We will see two data structures that allow for range searching, namely KD Trees and Range Trees. We will compare them by looking at construction time, space usage and query time.

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.