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
English
Current price: $10 Original price: $35 Discount: 71% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 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
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

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
06:29:36
+
Introduction
2 Lectures 18:02

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

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

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

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
About the Instructor
William Fiset
4.6 Average rating
6 Reviews
117 Students
1 Course
Software engineer at Google; ACM-ICPC world finalist

Hello!

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,

William