Schedule A 

Schedule B 
9/17  Intro to Time Complexity Intro to Space Complexity lecture notes for time and space complexity Binary Search: Type I (sorted array) lecture notes for binary search type I Binary Search: Type II (Rotated sorted array) lecture notes for binary search type II 
9/18 
9/24  TreeSet, TreeMap, Comparator vs Comparable lecture notes Node.java TreeSetExample.java 
9/25 
10/1  HashSet, HashMap, Hash Code, Hash Function Node.java HashSetExample.java 
10/2 
10/8  Noncyclic LinkedList: Insert, Remove Cyclic Linkedlist, Floydâ€™s cycle detection algorithm 
10/9 
10/15  Interface vs abstract class Stack and Queue Interface implemented by LinkedList 
10/16 
10/22  Tree Node, Binary Tree, Binary Search Tree Tree Traversal Recursion: Preorder, Inorder, Postorder Tree Traversal without Recursion and with Stack 
10/23 
10/29  Tree Traversal without Recursion and without Stack: Morris Tree Traversal Algorithm 
10/30 
11/5  Depth First Search Implementation (with Stack) Breath First Search Implementation (with Queue) 
11/6 
11/12  Heap, Binary Heap, Min Heap, Max Heap (Concept) 
11/13 
11/19  Priority Queue, Min/Max Heap: add, remove (Implementation) 
11/20 
Java is a professional objectoriented programming language used in high school AP® Computer Science that is the most relevant, indemand programming languages in the job market today. Also, Java is a generalpurpose computer programming language that is concurrent, classbased, objectoriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation.  
Eclipse is an open source community that benefits millions of developers around the world each and every day. Eclipse's Java IDE is widely used in universities and work environments. 