The design, implementation, and analysis of abstract data types, data structures and their algorithms. Topics include: data and procedural abstraction, amortized data structures, trees and search ...
The library sorting problem is used across computer science for organizing far more than just books. A new solution is less than a page-width away from the theoretical ideal. Computer scientists often ...
This course studies approximation algorithms – algorithms that are used for solving hard optimization problems. Such algorithms find approximate (slightly suboptimal) solutions to optimization ...