Data Structures
605.202
Course Description
This course investigates abstract data types (ADTs), recursion, algorithms
for searching and sorting, and basic algorithm analysis. ADTs to be covered
include lists, stacks, queues, priority queues, trees, sets, and dictionaries.
The emphasis is on the trade-offs associated with implementing alternative data
structures for these ADTs. There will be four or five substantial Java
programming assignments.
NOTE: This course DOES NOT count toward the Master of Science in Computer
Science degree.
Syllabus
-
Review of Object-Oriented Principles and Some Basics of Java
-
Analysis of Algorithms
-
Linked Lists, Recursion
-
Stacks, Queues, Dequeues
-
Sequences, Bubble Sort
-
Trees, Binary Trees, Trees Traversal
-
Priority Queues; Insertion Sort and Selection Sort; Midterm Exam
-
Heaps and Heap-Sort, Huffman Coding
-
Dictionaries; Binary Search Trees
-
AVL Trees
-
Merge Sort, Quick Sort, Selection
-
Hash Tables, Bucket Sort, Radix Sort, Sets; Selection
-
Graphs and Advanced Topics
-
Final Exam
Prerequisites
Differential and integral calculus and 605.201 or equivalent.
Instructor
Leonid Felikson received a B.S. in computer science and an M.S.
in computer science from the Urals Polytechnical Institute, Russia. Mr.
Felikson is currently the Senior Technical Analyst at the Freddie Mac,
Corp. His areas of interest include distributed objects processing, object-oriented
analysis and design, and systems integration. He has taught courses and
seminars on the principles of operating systems and computer programming,
and database concepts and design at a variety of public and private organizations.
E-mail the instructor.
Computer Lab Requirements
Students are expected to complete eight homeworks and four projects
using Java. Unix laboratory facilities will be provided for all students.
Students may complete assignments on any platform using the public-domain
Java JDK 1.2.
Textbook
Data Structures and
Algorithms in Java by Michael T. Goodrich and Roberto Tamassia
Further
Information on Class Specifics
Return to
Computer Science Courses | Computer
Science | Part-Time Engineering
Fall 99-2000