Easy to Advanced Data Structures
4.6 (6 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
117 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Easy to Advanced Data Structures to your Wishlist.

Add to Wishlist

Easy to Advanced Data Structures

A complete guide to learning everything there is to know about data structures
4.6 (6 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
117 students enrolled
Created by William Fiset
Last updated 6/2017
Current price: $10 Original price: $35 Discount: 71% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 6.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I 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
View Curriculum
  • Basic computer science knowledge

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

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 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 is the target audience?
  • Individuals hungry for new knowledge
  • Students who want a fundamental understanding of data structures
Students Who Viewed This Course Also Viewed
Curriculum For This Course
40 Lectures
2 Lectures 18:02

Understanding time/space complexity

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

QUIZ: dynamic arrays
1 question

Dynamic array source code
Linked lists
2 Lectures 24:17
Linked list introduction

QUIZ: linked lists
4 questions

Doubly linked list source code
3 Lectures 18:40

Stack implementation details

QUIZ: stacks
2 questions

Stack source code
3 Lectures 16:26
Understanding queues

QUIZ: queues I
3 questions

QUIZ: queues II
2 questions

Queue source code
Priority queues
5 Lectures 59:24
What is a priority queue?

Min heaps and Max heaps

QUIZ: priority queue
3 questions

Priority queue removing elements

Priority queue source code
Union find/Disjoint set
5 Lectures 37:06

Kruskal's Algorithm

Union and find operations

Path compression

Union find source code

QUIZ: union find
4 questions
Binary search trees
5 Lectures 57:47

Binary search tree insertions

Binary search tree removals

Binary tree traversals

QUIZ: tree traversals
2 questions

Binary search tree source code
Hash tables
9 Lectures 01:48:50
Hash table hash functions

Hash table separate chaining

Hash table separate chaining source code

QUIZ: hash functions and separate chaining
3 questions

Hash table open addressing

Hash table linear probing

Hash table quadratic probing

Hash table double hashing

QUIZ: open addressing
4 questions

Hash table removing key-value pairs

Hash table open addressing source code
Fenwick tree/Binary indexed tree
4 Lectures 30:28
Fenwick tree range queries

Fenwick tree point updates

Fenwick tree construction

Fenwick tree source code

QUIZ: fenwick tree
3 questions
About the Instructor
William Fiset
4.6 Average rating
6 Reviews
117 Students
1 Course
Software engineer at Google; ACM-ICPC world finalist


My name is William, I am a software engineer at Google stationed in Mountain View California. I finished my undergrad with a joint honors degree in mathematics and computer science at Mount Allison University in Canada. While I was at university, I got addicted to competitive programming; during my fourth year my team and I qualified to compete in the ACM-ICPC world finals programming competition. I still occasionally participate in online programming competitions especially those on Hackerrank and TopCoder. 

I teach courses on Udemy because there exists a need to create high quality content about complex topics in computer science. The areas I tend to focus on are data structures and algorithms which together are the most important topics to master on the road to becoming an exemplary software engineer. Consider enrolling in one or more of the courses I have worked hard to develop; my courses arguably offer the best computer science content on the web. If you have any questions about the course content, coupons, or algorithms and data structures feel free to shoot me an email!

Yours sincerely,