DS-GA 1170
Fundamental Algorithms
Reviews a number of important algorithms, with emphasis on correctness and efficiency. The topics covered include solution of recurrence equations, sorting algorithms, selection, binary search trees and balanced-tree strategies, tree traversal, partitioning, graphs, spanning trees, shortest paths, connectivity, depth-first and breadth-first search, dynamic programming, and divide-and-conquer techniques. Prerequisites: At least one year of experience with a high-level language such as Pascal, C, C++, or Java; and familiarity with recursive programming methods and with data structures (arrays, pointers, stacks, queues, linked lists, binary trees).
Topics
- solution of recurrence equations
- sorting algorithms
- selection
- binary search trees and balanced-tree strategies
- tree traversal
- partitioning
- graphs
- spanning trees
- shortest paths
- connectivity
- depth-first and breadth-first search
- dynamic programming
- and divide-and-conquer techniques
Topics explicitly listed in official catalogue description
Sources
- Course catalogue ↗2026-2027