Easy to Advanced Data Structures
4.3 (6,900 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
87,010 students enrolled

Easy to Advanced Data Structures

A complete guide to learning everything there is to know about data structures
4.3 (6,900 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
87,010 students enrolled
Created by William Fiset
Last updated 3/2020
English
English [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
23 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 8.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Mature understanding of data structures
  • Algorithms associated with data structures
  • Dynamic arrays
  • Singly and doubly linked list
  • Queues & Stacks
  • Binary Trees and Binary search trees
  • Heaps & Priority queues
  • Union find/Disjoint set
  • Hash table/Associative array
  • Fenwick tree/Binary indexed tree
Course content
Expand all 48 lectures 08:17:34
+ Introduction
2 lectures 17:26
Understanding time/space complexity
12:39

Do your best to answer these complexity questions similar to those in the video.

QUIZ: time complexity
2 questions
+ Static and dynamic arrays
2 lectures 18:36
Static and dynamic arrays
11:51
QUIZ: dynamic arrays
1 question
Dynamic array source code
06:45
+ Linked lists
2 lectures 24:17
Linked list introduction
14:42
QUIZ: linked lists
4 questions
Doubly linked list source code
09:35
+ Stacks
3 lectures 18:40
Understanding stacks
11:38
Stack implementation details
03:31
QUIZ: stacks
2 questions
Stack source code
03:31
+ Queues
3 lectures 16:26
Understanding queues
06:25
QUIZ: queues I
3 questions
QUIZ: queues II
2 questions
Queue source code
04:12
+ Priority queues
5 lectures 59:24
What is a priority queue?
13:17
Min heaps and Max heaps
06:14
QUIZ: priority queue
3 questions
Priority queue removing elements
14:06
Priority queue source code
15:49
+ Union find/Disjoint set
5 lectures 37:06
Union find introduction
05:45
Kruskal's Algorithm
06:14
Union and find operations
10:52
Path compression
06:35
Union find source code
07:40
QUIZ: union find
4 questions
+ Binary search trees
5 lectures 57:47
Introduction to binary trees
12:30
Binary search tree insertions
05:52
Binary search tree removals
14:09
Binary tree traversals
11:57
QUIZ: tree traversals
2 questions
Binary search tree source code
13:19
+ Hash tables
9 lectures 01:48:50
Hash table hash functions
17:20
Hash table separate chaining
08:13
Hash table separate chaining source code
11:46
QUIZ: hash functions and separate chaining
3 questions
Hash table open addressing
11:08
Hash table linear probing
13:55
Hash table quadratic probing
09:26
Hash table double hashing
14:49
QUIZ: open addressing
4 questions
Hash table removing key-value pairs
07:32
Hash table open addressing source code
14:41
+ Fenwick tree/Binary indexed tree
4 lectures 30:28
Fenwick tree range queries
13:44
Fenwick tree point updates
04:35
Fenwick tree construction
06:28
Fenwick tree source code
05:41
QUIZ: fenwick tree
3 questions
Requirements
  • Basic computer science knowledge
Description

Data structures are amongst the most fundamental ingredients in the recipe for creating efficient algorithms and good software design. Knowledge of how to create and design good data structures is an essential skill required in becoming an exemplary programmer. This course will teach you how to master the fundamental ideas surrounding data structures.

Learn and master the most common data structures in this comprehensive course:

  • Static and dynamic arrays

  • Singly and doubly linked lists

  • Stacks

  • Queues

  • Heaps/Priority Queues

  • Binary Trees/Binary Search Trees

  • Union find/Disjoint Set

  • Hash tables

  • Fenwick trees

  • AVL trees

  • Binary Indexed trees

  • Sparse tables

Course contents

This course provides you with high quality animated videos explaining a multitude of data structures and how they are represented visually. You will learn how to code various data structures together with simple to follow step-by-step instructions. Every data structure presented will be accompanied by some working source code (in Java) to solidify your understanding of that particular data structure. I will also be posting various coding exercises and multiple choice questions to ensure that you get some hands on experience.

Who this course is for:
  • Individuals hungry for new knowledge
  • Students who want a fundamental understanding of data structures