CSCI 223: Data Structures and Algorithms
CSCI 223 Data Structures and Algorithms Three Credit Hours
Prerequisites: CSCI 202 and MATH 206
Required for B.S. degree in computer science.
Formal specification and implementation of abstract data types, and analysis of algorithms. Topics include list and set representation methods, sorting, trees, and graphs. Data structures used include stacks, queues, binary trees, hash tables, priority queues, and search trees.
- Algorithmic efficiency
- Lists, stacks, and queues
- Heaps and the heap sort
- Binary search trees
- Balanced trees
Upon successful completion of this course, a student will be able to
- Explain the theory and implementation issues related to trees, heaps, hash tables, and graphs
- Analyze problems to identify an appropriate ADT and implementation to be used in the problem solution
- Use a modern IDE to create, compile, debug, test and execute Java programs where an ADT implementation is of primary importance in the solution
- Explain and apply the basic concepts of algorithm analysis.
Data Structures: Abstraction and Design Using Java (Second Edition) by Elliot B. Koffman and Paul A. T. Wolfgang, John Wiley & Sons, Inc., 2010. (ISBN: 978-0470128701)
Introduction to Algorithms (Third Edition) by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, MIT Press, 2009. (ISBN: 978-0262033848)