# [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)
### 3. Complexity analysis and recursion
- #### 3.1 [Big-O notation](big_o.html)
- #### 3.2 [Recursive functions](recursion.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