CS 2050 Algorithm Design and Programming II

Syllabus

Overview:    Fundamental techniques and algorithms for representing and manipulating data structures. Topics include complexity analysis, recursion, stacks, queues, lists, trees. Applications of techniques to sorting and searching are covered in detail.

Textbook:    Data Structures and Algorithms in Java
    Adam Drozdek
    Brooks/Cole, 2001

        
Prerequisites:    CS 1050

Topics:    1. Algorithm Design vs. Programming                    (1week)
    2. Complexity Analysis                                                     (2 weeks)
    3. Recursion and Binary Search                                       (2 weeks)
    4. Abstract Data Types: Stacks, Queues, and Lists         (3 weeks)
    5. Binary Trees and BSTs                                                (3 weeks)
    6. Heaps                                                                         (1 week)
    7. Sorting                                                                        (2 weeks)
    8. Hashing                                                                       (1 week)
    9. Graphs                                                                        (1 week)

Prepared by:    Jeffrey Uhlmann

Date:    September 2004

A study of fundamental tech-
niques and algorithms for representing and
manipulating data structures. Topics include
data abstraction, recursion, stacks, queues,
linked lists, trees, efficient methods of sorting
and searching, and Big-O analysis. Prerequi-
site: CS 1050.