Introduction to Algorithms (אלגוריתמים וחישוביות 1)

This course covers important algorithmic methods and fundamental algorithms, with an emphasis on graph and network algorithms.

Topic summary:

General introduction
Introcution to graph algorithms
First examples: Topological Sort, finding Euler Cycles
DFS and applications
Shortest paths in unweighted and weighted graphs
Minimum spanning trees
Network flows and bipartite maching
String matching and finite automata


The course is loosely based on
Introduction to Algorithms by Cormen, Leiserson, Rivest.

Additional literature:

Data Structures and Algorithms by Aho, Hopcroft and Ullman.
Data Structures and Algorithms in Java by Goodrich and Tamassia.