CS 3114: Data Structures and Algorithms
Advanced data structures and analysis of data structure and algorithm performance. Sorting, searching, hashing and advanced tree structures and algorithms. File system organization and access methods. Course projects require advanced problem-solving, design, and implementation skills.
Having successfully completed this course, the student will be able to:
- Choose the data structures that effectively model the information in a problem.
- Judge efficiency tradeoffs among alternative data structure implementations or combinations.
- Apply algorithm analysis techniques to evaluate the performance of an algorithm and to compare data structures.
- Implement and know when to apply standard algorithms for searching and sorting.
- Design, implement, test, and debug programs using a variety of data structures including buffer pools, hash tables, and advanced tree structures.
- Select appropriate methods for organizing data files and implement file-based data structures.
Prerequisites: Math2534, C or better in CS2104 (previously CS2984) Introduction to Problem Soving, C or better in CS2114 (CS2984) Software Engineering and Data Structures, C or better in CS2505 (CS2984) Introduction to Computer Organization I.