CS 235 Data Structures

Taught: Spring 2008, 2009, 2010, Fall 2010

Grambling State University, Louisiana, USA
Grambling State University, Louisiana, USA


We start this course by reinforcing the basics of Java programming (classes, types, objects, instances, variables and methods). Some laboratory sessions (containing exercises and quizzes) are conducted to apply these concepts. Object oriented designs such as inheritance, polymorphism and exception are covered in chapter 2. Chapter 3 containing arrays, linked lists and recursion are investigated thoroughly. We explore some analysis tools such as functions and complexity operations including as “Big-Oh” and “Big-Omega” that are necessary to study the asymptotic behavior of an algorithm in chapter 4. Stacks and queues data structures are introduced in chapter 5. We present the concept of tree for hierarchical storage of elements in chapter 7. Procedures for searching trees are explored in chapter 10. We show that storing and searching entries in a dictionary are made easy via this chapter. Sorting algorithms such as “Merge-Sort”, “Quick-Sort”, and their comparison are introduced in chapter 11. Finally, we finish this course by covering the concept of graphs laid in chapter 13. Abstract data structures for graphs, graph traversals, shortest path and minimum spanning trees are parts of this last chapter.



M. T. Goodrich, R. Tamassia, Data Structures and Algorithms in Java, 4th Edition, John Wiley and Sons, © 2005


Course Materials

Chapter 3 Programming with Recursion
Chapter 3 Recursion
Chapter 3 Linked Lists
Chapter 4 Analysis
Chapter 5 Stacks
Chapter 5 Queues
Chapter 7 Trees
Chapter 10 Binary Search Trees
Chapter 10 AVL Trees
Chapter 10 (2, 4) Trees
Chapter 10 Red Black Trees
Chapter 11 Merge Sort
Chapter 11 Quick Sort
Chapter 11 Divide and Conquer
Chapter 11 Sorting Lower Bound
Chapter 11 Sets
Chapter 11 Union Find
Chapter 11 Radix Sort
Chapter 13 Graph
Chapter 13 DFS
Chapter 13 BFS
Chapter 13 Digraphs
Chapter 13 Shortest Path
Chapter 13 MST
Chapter 13 Program Graph