ITCS 6114/8114   Algorithms and Data Structures
Introduction to techniques and structures used and useful in design of sophisticated software systems.
Records; arrays; linked lists; queues; stacks; trees; graphs; storage management and garbage collection;
recursive algorithms; searching and sorting; graph algorithms; time and space complexity.
 Introduction to Design & Analysis of Algorithms, by Anany Levitin
 Introduction to Algorithms, by Cormen, Leiserson, Rivest, Stein
Tuesday [6:30-9:15PM], Woodward Hall 130
Last Class: April 30
Lectures (in PPT format):
Selection and Search
Binary Search Tree
Optimal Binary Search Tree
Sample Midterm Problems
Floyd Shortest Path Algorithm
Strassen's Matrix Multiplication
Dynamic Programming I
Traveling Salesperson Problem
Knuth-Morris-Pratt Algorithm I
Knuth-Morris-Pratt Algorithm II
Dynamic Programming II
Skip Lists and Hashing
Universal Hashing and Dynamic Order Statistics
Complexity -Sample Problems
Sample Problems for Final Exam
- Midterm - 30 points, Final - 30 points, Project - 30 points, Participation - 10 points.
- Grade A from 86 to 100 points, Grade B from 71 to 85 points, Grade C from 56 to 70.
Location: Woodward Hall 430C
Office Hours: Tuesday: 12:30am-1:30pm; 5:00-6:00pm
Location: Woodward Hall 432 (KDD Lab.)
Office Hours: Tuesday [11:30am-1:30pm; 5:00-6:00pm]