Course Highlights
  • Learn the strengths and weaknesses of a variety of data structures, so you can choose the best data structure for your data and applications
  • Code an implementation of each data structure, so you understand how they work under the covers
  • Learn many of the algorithms commonly used to sort data, so your applications will perform efficiently when sorting large datasets
  • Learn what’s available in the JDK for storing and sorting data, so you won’t waste time reinventing the wheel
Curriculum

10 Topics
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

5 Topics
Introduction to Arrays
A Quick Review of Arrays in Java
Big-O Notation
Arrays in Memory
Big-O Values for Array Operations

27 Topics
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

13 Topics
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

6 Topics
Introduction to Stacks
Stacks (Theory)
Stacks Implementation (Array)
Stacks Implementation (Linked List)
Stacks Challenge
Stacks Challenge Solution

8 Topics
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

14 Topics
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

4 Topics
Introduction to Search Algorithms
Linear Search Algorithm
Binary Search Algorithm
Binary Search (Implementation)

14 Topics
Introduction to Trees
Trees (Theory)
Binary Search Trees (Theory)
Binary Search Trees (Insertion)
Binary Search Trees (Traversal)
Binary Search Trees (Get Min Max)
Binary Search Trees (Delete Cases 1 and 2)
Binary Search Trees (Implement Cases 1 and 2)
Binary Search Trees (Delete Case 3)
Binary Seach Trees (Implement Case 3)
Trees and the JDK
Binary Search Trees Challenge #1
Binary Search Trees Challenge #1 Solution
Binary Search Trees Challenge #2

10 Topics
Introduction to Heaps
Heaps (Theory)
Storing Heaps as Arrays
Heaps (Insert)
Heaps (Delete Theory)
Heaps (Delete)
Heaps (Peek)
Priority Queues
Heapsort (Theory)
Heapsort (Implementation)

3 Topics
Sets
Course Wrap-Up
Tell Us What Content You Want Us To Add!

2 Topics
Source Codes
Bonus Lecture and Information

  Write a Review

Data Structures and Algorithms: Deep Dive Using Java

Go to Paid Course