Table of Content
This course is the second part of a larger two-part course on Data structures and Algorithms.
If you haven't taken the course we created on Algorithms, please do so. We highly recommend it!
Here are some things you should keep in mind before you continue with this course:
- Different programming languages have different data structures. Our language of choice in this series is Python.
- There are different ways that a data structure can be implemented. There's a chance you may stumble upon a different implementation when you consult another resource. Here, we will try to break it down in the simplest way to enhance your understanding.
- Lastly, do not memorize the implementation of either data structure or algorithm, instead, try to understand the data structure and, more importantly, code along with us, as that is the best way to learn.
We guarantee that by the end of this course if you study and practice everything we talk about, you will have a solid understanding of the fundamentals of data structures and algorithms, problem-solving, and be able to tackle medium to hard algorithm problems on LeetCode.
Course Prerequisite
This course requires:
- intermediate knowledge of python programming language.
- knowledge of algorithms.
In this series, you will first be learning built-in data structures such as arrays, dictionaries, sets, and tuples.
We will then use the built-in data structures to create custom data structures.
We will look at stacks, queues, circular queues, linked lists, hash tables, trees, and graphs by the end of this course.
Wrap Off and Advice
What you are about to learn in this course on data structure might look a bit challenging at first.
Do not be stressed out or discouraged if you do not understand a particular concept.
We advise you:
- Have a pen and paper and trace the execution of code with a sample input rather than stare at your monitor, figuring out what each line is doing.
- Do not rush through the videos. The code will always be available at the repo for you to refer to when necessary.