Modern software increasingly depends on data structures that go far beyond basic arrays and trees. Some of the most powerful systems rely on designs that rarely appear in traditional programming ...
Understand the principles of efficient algorithms for dealing with large scale data sets and be able to select appropriate algorithms for specific problems. Understand and be able to apply the main ...
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 ...