Easy to Advanced Data Structures
Course Features






Easy to Advanced Data Structures
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
Instructors
About the instructor

Hello!
My name is William, I am a software engineer for Google Maps stationed in Mountain View California. I am a former ACM-ICPC world finalist and avid problem solver looking to share my knowledge of computer programming and problem-solving.
I teach courses on Udemy because there exists a need to create high quality content about complex topics in computer science. The areas I focus on are data structures and algorithms; together they 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 developed; they are designed for everyone, whether you are a beginner or advanced.
Yours sincerely,
William