# Useful Links

The web contains a lot of useful information which can assist you in coping with this course material. Some sites offer applets and some detailed examples. On this page we provide you with some useful links that are worth a visit.
**If you have a great link, do not hesitate to send it to algo152@cs.bgu.ac.il!!!**

- Previous exams is where
you can find exams and midterms from previous years (you need to login with your BGU password).
- Dictionary of Algorithms and Data Structures is an extensive collection of algorithms and keyword definitions not to be missed.
- Kruskal
and Prim -
good applets that demonstrate these algorithms for computing an MST.
- There are numerous articles and examples for the dynamic programming technique, which are worth looking at for better understanding.
- A great introductionary tutorial can be found here .
- A nice article demonstrating the computation of
**Fibonacci Numbers**and**Matrix Chain Multiplication**problem. - One more tutorial for Dynamic Programming.

- Dijkstra - a great applet
for the Dijkstra shortest path algorithm.
- An applet for various graph algorithms, including Floyd-Warshall, Belmman-Ford and Ford-Fulkerson and max flow
- Dinitz Algorithm
- A very good explanation of the Dinitz Algorithm
- Another great exposition of the Dinitz Algorithm
- The original explanation in Russian - a very preliminary version of the one in English.

**Download:**part I part II -
**Example:**ppt

- A demonstration of an endless Ford-Fulkerson execution
- P vs. Np
- A very nice lecture by Papadimitriou
- A description by Cook himself of P vs. NP, as part of the $1 million Clay Institute prize here
- A quite nice Turing machine applet

- A proof of the shortest paths tree property of a generic Relax-based algorithm.
- Proof of Kosaraju-Sharir.