Best New Free Computer IT Training Tutorial Resources

July 15, 2008

New York University Algorithms Course

This Algorithms course, from New York Univeristy, teaches the analysis, correctness and efficiency of computer algorithms. It discusses basic algorithms, such as balanced binary trees, sorting and selection, graph traversal, graph connectivity, breadth-first and depth-first searches, spanning tree, shortest paths. It also covers computational techniques that include divide-and-conquer, greedy method, and dynamic programming. It then reviews randomized algorithms, amortization, and an introduction to NP-Completeness Theory. Detailed lecture notes for this course are linked below. For more detailed information and learning material on algorithms, you can visit NIST's Dictionary of Algorithms and Data Structures.

The student for this algorithms course should be familiar with computer programming, data structures, and some discrete mathematics. Problems solved using computers can be roughly classified into problems-in-the-large and problems-in-the-small. The former is associated with large software systems, compilers or text editors. The latter is identified with mathematically well-defined problems such as sorting, multiplying two matrices or solving a linear program. The methodology for studying such "large" and "small" problems are quite distinct: Algorithmics is the study of the small problems and their algorithmic solution.

Algorithms can be classified into four basic themes:
  (a) data-structures (e.g, linked lists, stacks, search trees)
  (b) algorithmic techniques (e.g., divide-and-conquer, dynamic programming)
  (c) basic computational problems (e.g., sorting, graph-search, point location)
  (d) analysis techniques (e.g., recurrences, amortization, randomized analysis)

Algorithms Lecture Notes  (in pdf format)

Lecture 1: Introduction to Algorithmics
(36 pages, 377kb)

Lecture 2: Recurrences
(49 pages, 455kb)

Lecture 3: Balanced Search Trees
(46 pages, 479kb)

Lecture 4: Pure Graph Algorithms
(36 pages, 408kb)

Lecture 5: Greedy Method
(48 pages, 488kb)

Lecture 6: Amortization Method
(42 pages, 418kb)

Lecture 7: Dynamic Programming
(38 pages, 378kb)

Lecture 8: Randomized Algorithms - Quick Probability
(31 pages, 317kb)

Lecture 9: Randomization and Derandomization
(9 pages, 132kb)

Lecture 14: Minimum Cost Paths
(25 pages, 265kb)

Lecture 30: NP Completeness
(20 pages, 246kb)

Tags for this post>>

Filed under: Best New Free Computer IT Training Tutorial Resources — computer_teacher @ 8:12 pm

Powered by WordPress