Lecture Notes for CS 512, Algorithm Design
2 September 1999
These are provisional lecture notes, expect changes.
- Introduction
- What are algorithms?
- Like recipies
- individual, collected - eggs, dinner; sorting, payroll.
- grouped into classes - desserts, main course; graph, spell checking.
- Issues
- Suitability - is the algorithm apropriate?
- Expense - time, space costs.
- Correctness - does the algorithm work?
- How algorithms come to be.
- Design - many techniques; induction.
- Analysis - paper and pencil analysis.
- Implementation - sometimes followed by more analysis (measurement).
- Preliminaries.
- Notation - pseudo-code; if, then, arrows.
- Complexity - big-oh notation.
- Graph algorithms.
- Graphs.
- What is a graph?
- A set of nodes or vertices.
- A set of edges or arcs between nodes.
- Directed or undirected edges (graphs).
- Widely used as models - nodes represent things, edges represent
relations between things; road maps, work-flow diagrams.
- Graph algorithms.
- Given a graph, find a subgraph - tsp, shortest path.
- Given a bunch of nodes and a relation for arcs, draw a graph
satisfying some properties - resource allocation, scheduling
- Eulerian graphs (Euler paths)
- The seven bridges of Koingsberg - an edge traversal problem.
This page last modified on 7 September 1999.