Concepts of Object Oriented Programming
· Data Abstraction
o Encapsulation - Classes
o Information Hiding - Private Access
· Inheritance
o A superclass variable can be assigned any subclass object
o A superclass object can be cast to any subclass
· Polymorphism
o Overridden methods are decided at run time
Linked List Implementations
· Singly linked lists
· Doubly linked lists
Introduction to Hash Tables
Stacks and Queues
Java Data Structure Interfaces and Classes
· The Generic Collection, List and Set Interfaces
· The Generic Comparable and Comparator Interfaces
· The ArrayList<T> and LinkedList<T> Classes
· The SortedSet<T> Interface
·The HashSet<T> and TreeSet<T> Classes
Recursion
Algorithm Analysis
· Growth Rate of Functions
· Big-Oh notation
· Running Time
· Recurrence Relations
Maps
· The Generic Map Interface
· The Generic Sorted Map Interface
· The HashMap<K,V> Class
· The TreeMap<K,V> Class
Other Data Structures
· Trees and the Generic Tree Class
· Binary Trees and the Generic BinaryTree Class
· Binary Search Trees and the Generic BinarySearchTree Class
Balancing Binary Search Trees
· BinaryHeaps
· Hash Tables
· Priority Queues
· Disjoint Sets
Graphs
· Shortest Paths
· Minimal Spanning Trees
Sorting
· O(n2) Sorts
· Shell Sort
· Merge Sort
· Heap Sort
· Quick Sort