CSCI-2300 Data Structures and Algorithms
From the Rensselaer Catalog: Data structures and algorithms,
and the mathematical techniques necessary to design and analyze
them. Basic data structures: lists, associative structures,
trees. Mathematical techniques for designing algorithms and analyzing
worst-case and expected-case algorithm efficiency. Advanced data
structures: balanced trees, tries, heaps, priority queues,
graphs. Searching, sorting. Algorithm design techniques: dynamic
programming, greedy algorithms, divide-and-conquer,
backtracking. Example graph, string, geometric, and numeric
algorithms. Prerequisites: CSCI-1200 and MATH-1010. Fall and spring
terms annually. 4 credit hours.
The main background needed is programming experience and familiarity
with data structures and algorithms, including basic efficiency
analysis techniques. Programming will be done primarily in C++. The
more advanced C++ language and library features will be thoroughly
discussed and illustrated with example programs.
|