Data Structures Easy to Advanced Course - Full Tutorial from a Google Engineer https://www.youtube.com/watch?v=RBSGKlAvoiM Answer from CarelessPackage1982 on reddit.com
🌐
W3Schools
w3schools.com › dsa
DSA Tutorial
Knowing DSA can help you perform better in job interviews and land great jobs in tech companies. Start learning DSA now » · This tutorial is made to help you learn Data Structures and Algorithms (DSA) fast and easy.
🌐
GeeksforGeeks
geeksforgeeks.org › dsa › dsa-tutorial-learn-data-structures-and-algorithms
DSA Tutorial - GeeksforGeeks
Data Structures : Array, Hashing, Strings, Matrix, Linked List, Stack, Queue, Deque, Tree, Heap, Graph
Published   2 weeks ago
🌐
TutorialsPoint
tutorialspoint.com › data_structures_algorithms › index.htm
Data Structures and Algorithms (DSA) Tutorial
This tutorial will give you a great understanding on Data Structures needed to understand the complexity of enterprise level applications and need of algorithms, and data structures.
🌐
Reddit
reddit.com › r/learnprogramming › how do you learn data structures and algorithms!
r/learnprogramming on Reddit: How do you learn Data Structures and Algorithms!
December 10, 2022 -

How did you guys learn? Everyone says Leetcode and codewars but every time I try to do an easy one I just can't do it. Do you guys look at the solutions and try to study it and then try again? Very lost on how to approach this topic.

Edit: Thank you for all the advice and responses guys!

🌐
Scaler
scaler.com › topics › data-structures
Data Structures and Algorithms Tutorial - Scaler Topics
June 23, 2022 - Learn in-depth about the need & applications of data structures, along with complexity analysis, sorting and searching algorithms. This Data Structures Tutorial will guide you to learn Data Structures easily from beginner to advanced level.
🌐
YouTube
youtube.com › playlist
Data Structures Tutorial Videos - YouTube
These video tutorials are used to learn and to be good at all the Data Structure Algorithms with their implementations. These video tutorials answering many ...
Find elsewhere
🌐
W3Schools
w3schools.com › dsa › dsa_intro.php
Introduction to Data Structures and Algorithms
When we talk about algorithms in ... uses data structures. Algorithms are fundamental to computer programming as they provide step-by-step instructions for executing tasks. An efficient algorithm can help us to find the solution we are looking for, and to transform a slow program into a faster one. By studying algorithms, developers can write better programs. ... The algorithms we will look at in this tutorial are designed ...
🌐
Programiz
programiz.com › dsa
Learn Data Structures and Algorithms
These tutorials will provide you with a solid foundation in Data Structures and Algorithms and prepare you for your career goals.
🌐
Reddit
reddit.com › r/learnprogramming › learning dsa from scratch : the ultimate guide
r/learnprogramming on Reddit: Learning DSA from scratch : The Ultimate Guide
June 20, 2023 -

DSA can be seen as three step process, A. Learn a language, B. Learn a data structure, C. Apply it in algorithms. Let's dig in shall we?

Learning a language is THE MOST asked question so, here's an answer. What language do I pick, short answer is it depends, the long of it is this. You have primarily three options,

  1. C/C++

  2. Java

  3. Python

What to pick and why? Simply speaking, most programming languages have the same skeleton just different ways of doing it. Therefore, they are used in different ways.

C++ is a powerful language which gives most of the power in your hands, this includes handling how much power or resource you would demand from a system. What kind of system memory you wish to utilise. If you have a timeline of over a year or more this is the best option for you. Though this has a long learning curve and does take time, it helps a lot in the future since almost every other language on this list has features taken from C++. Lastly, if you wish to join Competitive Programming this is the way to go.

Java is a language that falls somewhere in the middle where it's not too easy but not too frustrating as well. Most service based companies who are in the Asian belt prefer Java as a language in many of their projects. Bearing that in mind. If you're aiming for a job in a service based firm this is the way to go. The learning curve is a bit less than C++ but again the concepts are quite empowering for a programmer in their career.

Python is the kingpin that runs the Wild West that's IT these days, Python would be the ideal choice if you're a short deadline and need a job ASAP. The concepts are fewer and the language is less verbose.

Resources to learn the languages:

For C++

1 First two lectures on Harvard's CS50 (David J Malan is one of the best explainers of Intro To Programming I've ever seen)

2. W3Schools www.w3schools.com (Works great as a course material and reference)

3. www.learncpp.com (Frankly, the best place to learn imho)These should be enough for learning C++

For Java

Derek Banas has a fantastic tutorial on YT. Tim Bulchaka’s Java Masterclass course (Paid Resource)Coding With John is another fabulous resource.

For Python

Corey Schafer on YT

W3Schools (Works great as a course material and reference)

The Python Tutorial on Python.Org is a good reference to work as a pair with any of the above listed resources.

So, what all must you know from a language agnostic view point,The basics - Variables, if-else, strings, loops, functions.OOPs (Object Oriented Programming) - Classes, Methods, instances, etc.

At this stage you can move on to learning Data Structures, I'll be listing the most common ones and what approaches are necessary. This is not an exhaustive list nor it is a rulebook for solving problems. Tweak and learn as per your need and adapt.

I would suggest to go through these data structures.

- Linked lists

- Stacks

- Queues

- Trees

- Graphs

- Heaps

- Hash tables

These would allow you to clear any interview or start solving competitive programming problems.

A playlist that helped me a lot for data structures was William Fiset's video

If you have taken Java as a language Princeton University's Algorithms would be the go-to resource.

Tech Interview Handbook is another resource that would be helpful.

Abdul Bari is a fantastic resource for Algorithms. His explanations are top tier.

Though in JavaScript this resource for it's logic explanations are great.

# EDIT :

MOOC is a resource I missed out on thanks to u/WingsOfReason for suggesting.

Simultaneous to this would be recommended to solve problems from sites such as HackerRank, LeetCode.

In the case for LeetCode go for Easy Problems at first then go to medium problems. Hard Problems are better suited for Competitive Problems only.

The way I used to solve problems was this, I set a timer of 20 minutes and read the problem trying to solve the problem. After the 20 mins were over, regardless of if I had solved the problem or not reading through the editorials or looking through on Google for solutions helped me see methods or logics I hadn't thought of before.

Form a habit of solving at least 2 problems a day, which helps your mind work everyday and allow you to go.

Some Tips:

Getting an error is the rule, the program running perfect is the exception. This is a mindset which would allow you to get over the hesitation of feeling incompetent and giving up. StackOverFlow, Reddit and other such resources have millions of people solving, asking problems. Which simply means you're not alone.

You can always edit bad code, a blank page is depressing anyway, Write the code once you've got a solution. You can then edit it and make it better. Writing on paper is also a great habit to have.

The better programmer keeps going one more time than the person before them.

Even the greatest programmer today once didn't know how to declare a variable.Good luck!

🌐
TechVidvan
techvidvan.com › tutorials › learn-data-structures
Learn Data Structures - TechVidvan
January 2, 2023 - Data Structure Tutorials Introduction to Data Structures Data Structure and Algorithm Data Structures Asymptotic Analysis Divide and Conquer Greedy Algorithm with Applications Linked List Doubly Linked Circular Linked List Stack in Data Structure Queue...
🌐
Roadmap
roadmap.sh › datastructures-and-algorithms
Data Structures and Algorithms Roadmap
May 30, 2025 - Step by step guide to learn Data Structures and Algorithms in 2026
🌐
Google Tech Dev Guide
techdevguide.withgoogle.com › paths › data-structures-and-algorithms
Data Structures & Algorithms - Google Tech Dev Guide
We've curated good stuff like playlists, technical development resources, and other material to help you be your best.
🌐
GeeksforGeeks
geeksforgeeks.org › data-structures
Data Structures Tutorial - GeeksforGeeks
April 12, 2025 - Please refer Complete Data Structures & Algorithms Tutorial for topic-wise guide, practice problems and interview questions.
🌐
Reddit
reddit.com › r/webdev › what are the best resources for learning data structures and algorithms?
r/webdev on Reddit: What are the best resources for learning Data Structures and Algorithms?
July 16, 2023 -

I have been programming for a while but have avoided getting into Data Structures and Algorithms (DSA). I now want to change that. I want to really know this and use it well in my future programming and hopefully get at least FAANG good with it. What are the best ways to learn DSA? What are the best sites and programs to learn DSA?

I know a bunch of the Ivy League schools have different courses that I could take, as does Codecademy and a bunch of the other paid learn to code programs, and I've heard of a program called Zero to Mastery. Are any of these any good? Where else should I be looking?

Thanks

Top answer
1 of 16
23
For FAANG, you should know Data structures and Algorithms. You know programming, so start practicing with basic problems, focusing on Arrays, linked lists, stacks, searching, and sorting. HackerRank is good for beginners, solving simple problem(mostly Easy) sets and understanding complexity analysis. Look for structured courses. The Zero to Mastery course is a good option for interview preparation, but it mostly focuses on tough questions. Go with the course that provides good theoretical knowledge and covers problem-solving exercises. You cant solve millions of questions in Leetcode but if you focus on learning different techniques of Data Structures and Algorithms and only focus problems based on it. Then you will solve even new problems in interviews which you never say before. I am listing almost all resources for learning Data Structures and Algorithms below The CS50 on edX introduces you to computer science fundamentals, basics data structures, algorithms like searching and sorting, and Big-O Notation. The course provides updated content and supports multiple languages MIT OpenCourseWare is another great course focusing on interview-level data structures and algorithms. You will learn divide-and-conquer, merge sort, quick sort, heaps, and graphs. Logicmojo DSA course is great for a deep understanding of DSA and algorithm design. Lectures are easier to digest, explaining how to implement DSA and covering topics like recursion, backtracking, DP(Mostly I was confused about this) and Trie. If you need learn classes its good. YouTube Playlists: video based preparation content , Before jumping into courses i followed below youtubers , Bhaiya and Didi :) , its good for kickstart CodeWithHarry – Beginner-friendly Java DSA course. William Fiset’s DSA Playlist" – One of the best for Java, explains every concept in depth. Take U Forward – Excellent DSA roadmap, best for interviews. Apna College - Java DSA – Best for structured learning. Practice Platforms: Leetcode – Best for FAANG-style interview prep. (Need no introduction, Bible of DSA Questions) Codeforces / AtCoder – For improving competitive coding skills. GeeksforGeeks – Great for topic-wise practice. check companies wise practise session The NeetCode Advanced DSA course is also good, with a tutorial on solving LeetCode problems.. Just be consistent, at the start, you feel it's taking more than 1 hour to solve even single problems but as you solve similar kinds of questions (especially questions asked in interviews). You will see your timing is improving day by day with code quality
2 of 16
13
Here's a really good course on Youtube: https://www.youtube.com/playlist?list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P They use C for the examples, but the explanations are second to none. Also, after going through the videos, it might help to find some LeetCode problems in a similar vein to work through.
🌐
CodeChef
codechef.com › roadmap › data-structures-and-algorithms
Data Structures & Algorithms Roadmap – Learn DSA Step-by-Step
Start your DSA journey with our structured roadmap that takes you from fundamentals—like arrays and linked lists—to advanced topics such as dynamic programming and graph algorithms. Each stage includes hands-on challenges and over 450 practice problems to reinforce your coding skills.
🌐
Great Learning
mygreatlearning.com › blog › it/software development › what is data structure: need, types & classification
What is Data Structure: Need, Types & Classification
January 6, 2025 - A data structure is a specialized format for organizing, storing, and accessing data within a computer's memory. Different data structures excel at different tasks. An array, for instance, is ideal for storing a fixed-size collection of similar ...
🌐
Studytonight
studytonight.com › data-structures
Data Structures Tutorial | Studytonight
In This Tutorial we will learn about what is Data Structure, Linked list, Stack, Queue, what are different types of Sorting Algorithms, Searching Algorithms and advanced Data Structures topics.