ITCS 6114/8114 Algorithms and Data Structures
Spring, 2013
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::
Tuesday [6:309:15PM], Woodward Hall 130
Last Class: April 30
Lectures (in PPT format):
Introduction I
Introduction II
Sorting I
Sorting II
Selection and Search
Binary Search Tree
AVL Trees
Sample Problems
RedBlack Tree
Graphs I
Graphs II
Trees I
Trees II
Sample Problems
Matrix Multiplication
Optimal Binary Search Tree
Sample Midterm Problems
Floyd Shortest Path Algorithm
Strassen's Matrix Multiplication
Dynamic Programming I
Traveling Salesperson Problem
Polynomial Evaluation
FFT
FFT Example
KnuthMorrisPratt Algorithm I
KnuthMorrisPratt Algorithm II
Dynamic Programming II
Skip Lists and Hashing
Universal Hashing and Dynamic Order Statistics
Complexity I
Complexity Sample Problems
Reductions
Sample Problems for Final Exam
Grades
 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.

Office:
Location: Woodward Hall 430C
Telephone: 7046878574
Office Hours: Tuesday: 12:30am1:30pm; 5:006:00pm
email: ras@uncc.edu
Office:
Location: Woodward Hall 432 (KDD Lab.)
Telephone: 7046878546
Office Hours: Tuesday [11:30am1:30pm; 5:006:00pm]
email: ahajja@uncc.edu