Introduction
  • Introduction From Tim Buchalka
  • Introduction to the Course
  • JDK8 for Windows
  • JDK8 for MAC
  • JDK8 for Linux
  • IntelliJ for Windows
  • IntelliJ for MAC
  • IntelliJ for Linux
  • Introduction to Data Structures
  • Introduction to Algorithms
Arrays and Big-O Notation
  • Introduction to Arrays
  • Big-O Notation
  • A Quick Review of Arrays in Java
  • Arrays in Memory
  • Big-O Values for Array Operations
Sort Algorithms
  • Introduction to Sort Algorithms
  • Bubble Sort (Theory)
  • Bubble Sort (Implementation)
  • Stable vs. Unstable Sort Algorithms
  • Selection Sort (Theory)
  • Selection Sort (Implementation)
  • Insertion Sort (Theory)
  • Insertion Sort (Implementation)
  • Shell Sort (Theory)
  • Shell Sort (Implementation)
  • Recursion
  • Merge Sort (Theory)
  • Merge Sort (Implementation)
  • Quick Sort (Theory)
  • Quick Sort (Implementation)
  • Counting Sort (Theory)
  • Counting Sort (Implementation)
  • Radix Sort (Theory)
  • Stable Counting Sort (Theory)
  • Radix Sort (Implementation)
  • Sorting Arrays Using the JDK
  • Sort Algorithms Challenge #1
  • Sort Algorithms Challenge #1 Solution
  • Sort Algorithms Challenge #2
  • Sort Algorithms Challenge #2 Solution
  • Sort Algorithms Challenge #3
  • Sort Algorithms Challenge #3 Solution
Lists
  • Introduction to Lists
  • Abstract Data Types
  • Array Lists
  • Vectors
  • Singly Linked Lists (Theory)
  • Singly Linked Lists (Implementation)
  • Doubly Linked Lists (Theory)
  • Doubly Linked Lists (Implementation)
  • The JDK LinkedList Class
  • Linked Lists Challenge #1
  • Linked Lists Challenge #1 Solution
  • Linked Lists Challenge #2
  • Linked Lists Challenge #2 Solution
Stacks
  • Introduction to Stacks
  • Stacks (Theory)
  • Stacks Implementation (Array)
  • Stacks Implementation (Linked List)
  • Stacks Challenge
  • Stacks Challenge Solution
Queues
  • Introduction to Queues
  • Queues (Theory)
  • Queues (Array Implementation)
  • Circular Queue Implementation (Part One)
  • Circular Queue Implementation (Part Two)
  • Queues and the JDK
  • Queues Challenge
  • Queues Challenge Solution
Hashtables
  • Introduction to Hashtables
  • Hashtables (Theory)
  • Hashtables (Array Implementation)
  • Linear Probing
  • Linear Probing - Removing Items
  • Linear Probing - Rehashing
  • Chaining
  • Hashtables and the JDK
  • Bucket Sort (Theory)
  • Bucket Sort (Implementation)
  • Hashtables Challenge #1
  • Hashtables Challenge #1 Solution
  • Hashtables Challenge #2
  • Hashtables Challenge #2 Solution
Search Algorithms
  • Introduction to Search Algorithms
  • Linear Search Algorithm
  • Binary Search Algorithm
  • Binary Search (Implementation)
Trees
  • Introduction to Trees
  • Trees (Theory)
  • Binary Search Trees (Theory)
  • Binary Search Trees (Insertion)