This course covers some of the fundamental data structures
as well as the algorithms operating on them. Topics
included are: Introduction to theoretical aspects of
computing: modeling algorithms and their run times,
computational complexity. Linear data structures (lists,
stacks, queues), trees (binary search trees, AVL trees, tree
traversals), hash tables, priority queues, disjoint sets,
sorting algorithms, graphs and their representations, graph
algorithms (depth first and breadth first search, single
source shortest path algorithms), sorting algorithms,
algorithmic paradigms (divide and conquer, greedy,
dynamic programming).
|