Introduction To Data Structures

A complete guide to learning everything there is to know about data structures

Last updated 2022-01-10 | 4.5

- Mature understanding of data structures
- Algorithms associated with data structures
- Dynamic arrays

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

* 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

Course content

13 sections • 60 lectures

Abstract data types Introduction Preview 04:47

Understanding time/space complexity Preview 12:39

QUIZ: time complexity

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

Static and dynamic arrays Preview 11:51

QUIZ: dynamic arrays

Dynamic array source code Preview 06:45

Linked list introduction Preview 14:42

QUIZ: linked lists

Doubly linked list source code Preview 09:35

Understanding stacks Preview 11:38

Stack implementation details Preview 03:31

QUIZ: stacks

Stack source code Preview 03:31

Understanding queues Preview 06:25

QUIZ: queues I

Breadth first search and queue implementation Preview 05:49

QUIZ: queues II

Queue source code Preview 04:12

What is a priority queue? Preview 13:17

Min heaps and Max heaps Preview 06:14

Priority queue inserting elements Preview 09:58

QUIZ: priority queue

Priority queue removing elements Preview 14:06

Priority queue source code Preview 15:49

Union find introduction Preview 05:45

Kruskal's Algorithm Preview 06:14

Union and find operations Preview 10:52

Path compression Preview 06:35

Union find source code Preview 07:40

QUIZ: union find

Introduction to binary trees Preview 12:30

Binary search tree insertions Preview 05:52

Binary search tree removals Preview 14:09

Binary tree traversals Preview 11:57

QUIZ: tree traversals

Binary search tree source code Preview 13:19

Hash table hash functions Preview 17:20

Hash table separate chaining Preview 08:13

Hash table separate chaining source code Preview 11:46

QUIZ: hash functions and separate chaining

Hash table open addressing Preview 11:08

Hash table linear probing Preview 13:55

Hash table quadratic probing Preview 09:26

Hash table double hashing Preview 14:49

QUIZ: open addressing

Hash table removing key-value pairs Preview 07:32

Hash table open addressing source code Preview 14:41

Fenwick tree range queries Preview 13:44

Fenwick tree point updates Preview 04:35

Fenwick tree construction Preview 06:28

Fenwick tree source code Preview 05:41

QUIZ: fenwick tree

Tree rotations Preview 08:50

AVL tree insertions Preview 09:35

AVL tree removals Preview 08:55

AVL tree source code Preview 16:48

Introduction to indexed priority queues Preview 25:21

Indexed priority queue source code Preview 08:33

Sparse Table Preview 23:17

An introduction to sparse tables for fast range queries

Sparse Table Source Code Preview 07:15

Sparse table source code