This course
introduces and develops methods for designing and implementing abstract data
types using the Java programming language. The main focus is on how to build
and encapsulate data objects and their associated operations. Specific topics
include linked structures, recursive structures and algorithms, binary trees,
balanced trees, graphs, and hash tables. These topics are fundamental to
programming and are essential to other courses in computer science.
Students may register for CS187 via Spire. Please see the prerequisites for CS187 before registering.
· Introduction
to Data Structures and Algorithms.
· Searching and
Algorithm Analysis.
· Sorting Algorithms.
· Stacks and
Queues.
· Lists: Singly
and Doubly Linked Lists.
· Trees: Binary
Search Trees.
· Tree
Balancing Algorithms: AVL and B-Trees.
· Heaps and
Priority Queues.
· Hashing and
Hash Tables.
· Graphs and
Graph Search.
This course treats the above
topics in an Object-Oriented manner through the use of Interfaces and
Inheritance. All structures are generically typed. Array-based and Linked
implementations are discussed.
Please follow the link to access the course Syllabus for more information about the course.