ITCS 6114/8114             Algorithms and Data Structures                
Spring, 2008



Course Description::
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.


Suggested Textbooks:
[1] Introduction to Design & Analysis of Algorithms, by Anany Levitin
[2] Introduction to Algorithms, by Cormen, Leiserson, Rivest, Stein


Class Meetings::
Monday & Wednesday [5:00-6:15PM], Woodward Hall 135


Lectures (in PPT format):

Introduction I
Introduction II
Sorting I
Sorting II
Selection and Search
Binary Search Tree
AVL Trees
Red-Black Tree
Graphs I
Graphs II
Trees I
Trees II
Sample Problems
Matrix Multiplication
Optimal Binary Search Tree
Floyd Shortest Path Algorithm
Dynamic Programming I
Dynamic Programming II
Knuth-Morris-Pratt Algorithm I
Knuth-Morris-Pratt Algorithm II
Strassen's Matrix Multiplication
Skip Lists and Hashing
Universal Hashing and Dynamic Order Statistics
Complexity I
Complexity -Sample Problems
Reductions
Sample Problems II



Grades

  • Midterm - 30 points each, Final - 40 points, Project - 30 points (maximum)
  • Grade A from 86 to 100 points, Grade B from 71 to 85 points, Grade C from 56 to 70.



Instructor:       Zbigniew W. Ras

Office: Location: Woodward Hall 430C
Telephone: 704-687-8574
Office Hours: Monday, Wednesday: 3:00-4:30pm
e-mail: ras@uncc.edu

TA:       Bhumika Thakker      

Office: Location: Woodward Hall 432 (KDD Lab.)
Telephone: 704-687-8546
Office Hours: Monday [2:00-4:00pm], Wednesday [1:00-3:00pm]
e-mail: bthakke1@uncc.edu