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.
Spring | Summer | Fall | ||
---|---|---|---|---|
(Session 1) | (Session 2) | |||
2023 | ||||
2022 | ||||
2021 | ||||
2020 |
Introduction To Algorithms (4c)
|
|||
2019 | ||||
2018 | ||||
2017 | ||||
2016 | ||||
2015 | ||||
2014 | ||||
2013 | ||||
2012 | ||||
2011 | ||||
2010 | ||||
2009 | ||||
2008 | ||||
2007 | ||||
2006 | ||||
2005 | ||||
2004 | ||||
2003 | ||||
2002 | ||||
2001 | ||||
2000 | ||||
1999 | ||||
1998 |