### 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>> Algorithms

You must be logged in to post a comment.