A Practical Guide to Algorithms with JavaScript

The Landscape of Data Structures & Algorithms

Bianca Gandolfo

Thumbtack

Check out a free preview of the full A Practical Guide to Algorithms with JavaScript course

The "The Landscape of Data Structures & Algorithms" Lesson is part of the full, A Practical Guide to Algorithms with JavaScript course featured in this preview video. Here's what you'd learn in this lesson:

Bianca wraps up "A Practical Guide to Algorithms" course by reviewing the landscape of data structures and algorithms. Bianca answers questions from students.

Preview
Close

Transcript from the "The Landscape of Data Structures & Algorithms" Lesson

[00:00:00]
>> Bianca Gandolfo: We're gonna do a quick wrap up here. We're gonna kinda go through the landscape of data structures and algorithms. This is a mind map that I created as I was creating this course. And it's still in progress, but I kinda wanted to give you sort of the big picture of what we've gone over today.

[00:00:20]
So we start off the day with memorization and recursion, which most of these things that are red are recursion but even some of them aren't red are recursion. Over here haven't colored them yet. So we started with memorization and recursion, memorization is directly related to our dynamic programming.

[00:00:43]
Which we went over the top down memorization technique. And we also talked about greedy algorithms and commonitorial optimization, which is a fancy word for what we were doing with the make change problem. Where you have a bunch of different combinations. You need to find some optimal solution. And what else did we do?

[00:01:04]
We talked about searching. We did binary search, and linear search. We went into some sorting algorithms. We talked about merge sort as well as bubble sort. And we talked about them in the context of the divide and conquer paradigm, or technique. Some things to look forwards to in future classes are some data structure concepts that will be tying into all of these.

[00:01:26]
You can see there's some arrows, and as I build this out, there's gonna be more and more arrows. And so when we are working with heaps, we're gonna do binary heaps and it's gonna take us to some sorting. When we're doing trees and link lists, it's gonna take us to some searching.

[00:01:43]
Graphs and paths all related to these dynamic programming, and greedy algorithm concepts, as well as
>> Bianca Gandolfo: All of these things. So these are just some concepts too that you covered, some things to look forward to in our next time together, in parts two, three, and four of this workshop.

[00:02:09]
>> Speaker 2: Are there any specific go-to sites or resources that you recommend for their future endeavors.?
>> Bianca Gandolfo: Yeah, yeah. So, I think, I like geeksforgeeks.org. I like their content. It's all in Java or C++, though. There's not a lot of JavaScript specific content on data structures and algorithms, outside of the Frontend Masters.

[00:02:35]
And I think there's one blog that has some. But for the most part you're not gonna find a lot of it. You'll see like maybe on GitHub people practicing stuff but there is no definitive guide. There is a couple books, I haven't been super impressed with any books to be honest, in JavaScript yet.

[00:03:00]
What else? So I like GeekforGeeks, I didn't take a lot of the open books? That's my core go-to, I like Princeton has a good one on Coursera The MIT one is good. It's just on YouTube. A really good starting one to get foundational knowledge is CS50 at Harvard.

[00:03:23]
And that's also on YouTube. They have companion, these little short videos that are five minutes that you can watch. It doesn't really go into too much code but it does all the visualization part. So I think a lot of, yeah, I think that's good if you're interested. If you're interested in the provesome stuff, then the MIT course is good.

[00:03:50]
But, I don't know, it kinda depends on where you wanna go with that. Yeah, good question.
>> Bianca Gandolfo: So, hypothetically, I made a data structures and algorithms coloring book, would you be interested in that?
>> Speaker 3: Yes.
>> Speaker 2: Yeah.
>> Bianca Gandolfo: Okay.
>> Speaker 3: Coloring book?
>> Bianca Gandolfo: Yeah.
>> Speaker 3: How does that work?

[00:04:17]
>> Bianca Gandolfo: It's kind of,
>> Bianca Gandolfo: Like that.
>> Speaker 3: [LAUGH]
>> Bianca Gandolfo: You have a question?
>> Speaker 2: Yeah, Aaron online is asking what the next part of the course is going into.
>> Bianca Gandolfo: Yeah, yeah, yeah. So, the next part of the course, part two is focusing on some simple data structure, or it's kinda like your base line data structures.

[00:04:44]
We're gonna have stacks and cues of course, linked lists. We're gonna do a hash table and
>> Bianca Gandolfo: Those are the ones I could think of off the top of my head. We're gonna be doing some data structures, and we're gonna be combining these concepts with that. So this class is gonna be a prereq for the next course and also the other ones as well.

[00:05:12]
Because we're gonna be applying these algorithms and these techniques to data structures, so
>> Bianca Gandolfo: Yay, good job guys, you made it through. That was a lot. Remember one of my first slides where it said.
>> Bianca Gandolfo: Now you know. Now you know. It was a lot. We covered a lot.

[00:05:42]
The next step for you is to just practice, right? So you've heard the concepts but you're really not gonna get mastery until you really have tried these in a lot of different scenarios. But at least you have some words that you can Google as you approach problems like maybe a divide and conquer solution will work for this.

[00:06:02]
You can reason through that. Or maybe I can memorize it or cache it even, and optimize the solution. So you have some words now to start working with and a foundation in which you can go off into the world and build up your algorithm content knowledge and problem solving skills.

[00:06:23]
Again, algorithms is something people study for their whole lives, right? And so you can keep going with it, and this is just the beginning. So I'm excited for you as you begin your journey with algorithms. And hopefully we can continue that journey together through the whole data structures and algorithms course here at Frontend Masters.

[00:06:40]
Thank you.
>> Speaker 2: Thank you.
>> Bianca Gandolfo: [APPLAUSE]

Learn Straight from the Experts Who Shape the Modern Web

• In-depth Courses