Home|Publications|Projects|Research Interests|Teaching|Students|Experience|Announcements|Contact


DATA STRUCTURES
Description
Stacks, queues, linked lists. Dynamic memory allocation. Trees structures. B-trees and applications. Graphs, shortest path, topological sorting. Sorting and searching techniques and performance. Static and dynamic hash techniques.
Grading
Midterm - 35%
Homeworks - 20%
Participation - 5%
Final - 40%
Textbooks
(1) Robert L. Kruse, Alexander J. Ryba, Data Structures and Program Design in C++, Prentice-Hall, 1999.
(2) Adam Drozdek, Data Structures and Algorithms in Java, Thomson Learning, 2001.
Supplementary books
(1) Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Cliford Stein, Introduction to Algorithms, MIT Press, 2003.
(2) Richard Johnsonbaugh, Marcus Schaefer, Algorithms, Pearson Education, 2004.
(3) Kenneth A. Lambert, Thomas Naps, Fundamentals of C++, Thomson Learning, 2001.
(4) Harvey M. Deitel, Paul J. Dietel, Jeffrey A. Listfield, Tem R. Nieto, Cheryl H. Yaeger, Marina Zlatkina, C# How to Program (4th Edition), Pearson (5) Education, 2001.
Outline
(1) Introduction
(2) Linked lists
(3) Stacks
(4) Queues
(5) Recursion
(6) Trees
(7) Balanced trees
(8) Multiway trees
(9) Graphs
(10) Hashing functions