Practical Data Structures Algorithms In Java

Go from zero to hero in the most important algorithms and data structures using Java

Last updated 2022-01-10 | 4.5

- Gain Confidence for Coding Interviews
- Learn The Most Practical and Popular Data Structures & Algorithms in-depth rather than a rushed course on Computer Science
- Get practice translating sudo code & implementing algorithms with Assignments and Solutions

What you'll learn

Gain Confidence for Coding Interviews
Learn The Most Practical and Popular Data Structures & Algorithms in-depth rather than a rushed course on Computer Science
Get practice translating sudo code & implementing algorithms with Assignments and Solutions
Get an intuitive understanding of how many of the popular algorithms and data structures behave

* Requirements

* The basics of programming such as if/else statements
* loops & methods in some programming language

Description

LAST UPDATED: November 2020

If I had to pick the single most important topic in software development, it would be data structures and algorithms. Think of it as the fundamental tools available to every computer programmer. The better you get with these tools the more confident a programmer you’ll become. Software development is a vast field requiring all kinds of skill-sets but getting good at this single topic is a huge leap forward in your programming journey and it’ll certainly pave the way for a successful programming career.

The topics in this course are going to cover data structures such as lists, stacks, queues, trees and some of the most powerful sorting, searching, and graph algorithms that have revolutionized the field of computing. Throughout the course I keep things practical and provide real life examples of how all of these algorithms work and when & where they can be applied to write efficient computer programs.

I’ll be moving at a slow and steady pace introducing each topic followed by a PRACTICAL programming assignment so you can immediately apply what you learned. All homework assignments in the course will be accompanied with step by step solution videos demystifying each problem as I code up the solutions. My goal is to make sure, that after you complete this course you feel completely confident going into a coding interview because you will have built a solid foundation in computer programming. So go ahead and signup and I’ll see you in the course.

Who this course is for:

  • If you're fed up with academia centric courses on Data Structures & Algorithms and want to intuitively & practically understand how to implement and the most popular algorithms and data structures in software
  • If you don't like math and want to learn popular data structures and algorithms at a deep level

Course content

10 sections • 48 lectures

Intro to OOP Class & Object Preview 12:35

Program Flow and Using the Constructor Preview 11:40

Application Runtime Preview 11:05

Java Behind The Scenes Preview 24:07

Dedicated TA Support Preview 01:39

Source Code For the Course Preview 00:55

Abstract Data Types Preview 10:23

Running Time of an Algorithm and Big O Notation Preview 17:43

Stack Data Structure (Java Practical) + HW Preview 19:28

Stacks Continued Preview 05:35

Queue Data Structure (Java Practical) Preview 18:17

Introduction to Linked Lists Preview 18:31

Singly Linked List (Java Practical) Preview 19:37

Circular Linked List (Java Practical) Preview 11:00

Doubly Linked List - Part 1 + HW (Java Practical) Preview 17:23

Doubly Linked List - Part 2 Preview 12:39

Doubly Linked List - Part 3 + HW (Java Practical) Preview 07:55

Basic Linear Search Preview 09:07

Binary Search (Overview) Preview 13:07

Binary Search (Java Practical) + HW Preview 07:56

Recursion in Java Preview 18:48

Recursive Search (Java Practical) + HW Preview 19:53

Big O Notation Part 2 Preview 26:08

Selection Sort (Overview) Preview 04:15

Selection Sort (Java Practical) + HW Preview 07:20

Insertion Sort (Overview) Preview 03:49

Insertion Sort (Java Practical) + HW Preview 15:49

Merge Sort (Overview) Preview 19:15

Merge Sort Continued (The Merge Process) Preview 19:11

Merge Sort (Java Practical) + HW Preview 21:10

Quick Sort (Overview) Preview 11:46

Quick Sort Continued Preview 10:28

Quick Sort (Java Practical) + HW Preview 10:27

Binary Search Tree Overview Preview 19:59

Java Implementation of Binary Search Tree Preview 15:56

Deleting a Node from Binary Search Tree Preview 09:10

Java Implementation to Delete Node Preview 29:20

ASSIGNMENT: Print Binary Search Tree

In this assignment, you'll be implementing the displayTree() method I spoke about in the previous lecture. Take your time with this coding challenge because it is an interesting problem and will exercise your coding skills. The solution is provided at the end.

Binary Search Tree - Odds and Ends Preview 17:59

Heaps Data Structure Overview Preview 23:38

Java Implementation of Heap Data Structure Preview 34:23

ASSIGNMENT: Print the Heap

In this assignment, you'll be implementing the displayHeap() method I spoke about in the previous lecture. Take your time with this coding challenge because it is an interesting problem and will exercise your coding skills. The solution is provided at the end.

Overview of Hash Tables Preview 35:05

Hash Tables (Java Practical) + HW Preview 29:14

Graphs Overview + HW Preview 29:17

Graphs (Java Practical) + Solution Preview 12:49

Bonus Lecture: Lifetime Access to All My Courses Preview 00:24