# [CSC 245 - Data Structures](https://thearn.github.io/CSC245/) #### Fall 2017, Baldwin Wallace University #### Instructor: Tristan A. Hearn, Ph.D. --------------------- ## Contents: ### 1. Introduction - #### 1.1 [Course syllabus](intro.html) - #### 1.2 [Getting set up and submitting assignments](setup.html) - #### 1.3 [Course calendar](calendar.html) ### 2. Getting started with Java and OOP - #### 2.1 [Basic data types in Java](java_basics.html) - #### 2.2 [Object-Oriented Programming (OOP) fundamentals](oop.html) - #### 2.3 [Keywords for Java class methods and data members](keywords.html) - #### 2.4 [Method overloading](overload_generics.html) <!-- - #### 2.5 [General debugging tips](debug.html) --> ### 3. Complexity analysis and recursion - #### 3.1 [Big-O notation](big_o.html) - #### 3.2 [Recursive functions](recursion.html) <!-- - #### 3.2 [Finding the complexity of common operations](complexity.html) --> ### 4. Linear data structures - #### 4.1 [Dynamic arrays and the List ADT](dyn_array.html) - #### 4.2 [Linked lists](linkedlists.html) - #### 4.3 [Stacks and queues](stacks_queues.html) ### 5. Hash Tables and Trees - #### 5.1 [Hash Tables and the Map ADT](hashtable.html) - #### 5.2 [Binary Trees](binary_trees.html) - #### 5.2 Binary Search Trees (BST) - #### 5.3 Self-balancing BSTs ### 6. Graphs - #### 6.1 Directed graphs - #### 6.2 Path finding <div id="footer"></div>