Tree and Graph Data Structures Course Overview
Transcript from the "Course Overview" Lesson
>> Bianca Gandolfo: Hello, welcome everyone. This is an introduction to Graphs and Trees. This is Part 3 and 4 of my four part course on Practical Data Structures and Algorithms geared for technical interviews. So let's just talk about an overview of an interview data structure. So these are the main ones that are listed and, cracking the coding interview.
[00:00:30] Highly recommend if you don't have a copy, all of these sort of like online tutorials as well as most Computer Science courses. When I was developing this course, I took a punch of syllabuses from university courses and kind of cross-referenced, and just picked out the most common ones.
[00:00:48] And also the ones that you actually will get asked about in an interview. Cool, so we have arrays and strings, hash tables, linked lists, stacks and queues. We covered that prior. And today we're gonna to talk about graphs, and we're gonna talk about trees. So graphs we use to model complex relationships between objects.
[00:01:10] And trees are pretty similar to graphs except that we have a hierarchical relationship between nodes. Cool, so we're gonna cover trees, graphs, and binary search trees. And we're gonna start from like small tidbits and we're gonna build and build and build until we have a full picture. And so that's just what to expect, we're gonna ramp slow.
[00:01:36] And so you're gonna need to keep each piece for the next piece. So if there's any point where you're confused, please stop me. Cuz it's gonna be required that you understand each piece to understand the next piece, cool? Can I get a commitment from everyone that you'll stop me when you have questions?
>> Speaker 2: Yep, yes.
>> Bianca Gandolfo: Awesome, can I get a verbal yes from everyone?
>> Speaker 2: Yes.
>> Bianca Gandolfo: Feel like more excited?
>> Speaker 2: Yes, yeah, woo.
>> Bianca Gandolfo: You didn't do it.
>> Speaker 2: [LAUGH]
>> Bianca Gandolfo: [LAUGH] It's okay, I forgive you, but next time, next time. Awesome, thank you. Okay, so some tips on how to be effective.
[00:02:15] First of all, don't memorize, it's not gonna help you. You wanna learn sort of this overarching themes so you can apply them to different problems. You wanna practice, so first of all, practice, practice, practice but also practice with a timer. If you're learning this for an interview, you're interview is gonna be timed.
[00:02:36] There's probably gonna be 30 minutes or an hour. And so, if you're going through these problems and it's taking you more than 30 minutes or an hour depending on the complexity. Just note that, and then keep practicing so you can get faster. Reading about it doesn't count. So someone said here that they, who was it that likes to watch but doesn't actually like to code it out.
[00:02:57] Was that you, Eli? And Joe, did you also say that? That you-
>> Speaker 3: Yes, I did.
>> Bianca Gandolfo: That you didn't like to practice? Okay, yeah, so hate to break it to you all, doesn't count. It's cool, you can talk about theoretically, but we're programmers here. We have to program this out.
[00:03:14] So we need to take that theory and we need to actually apply it to code. Because that's the point, right? And also, just in life, communicate, be nice. This also applies to interviews. Just treat it like any relationship you would cultivate with someone. Respect, kindness, they're not there to attack you.
[00:03:38] So those are my main tips for interviews and learning this kind of stuff. Any questions? Anyone else have a tip that they would like to offer?
>> Speaker 4: With the practice, do you also suggest practicing, like doing it on a whiteboard as well as doing it on the computer.
[00:03:58] Since so many interviews still use the whiteboard, and don't actually give you a machine.
>> Bianca Gandolfo: Yeah, personally, I don't practice on a whiteboard. But I could see that it could be really useful. Especially if you feel like you're gonna be nervous about that, like the change in the environment, if that makes you uncomfortable, kill it.
[00:04:21] Just keep do it all in a whiteboard until it gets easier. The reason I don't practice in the whiteboard personally is because it's just slower and it's messier, and that kind of bothers me. So I guess you could practice making it really neat. Starting up at the very top, writing really small, making lots of spaces in between everything.
[00:04:43] But I also don't own a whiteboard, yeah, but that's good.
>> Speaker 5: Applications. So finding something you can apply to something.
>> Bianca Gandolfo: Yeah.
>> Speaker 5: That's how I learned, but it's very hard with algorithms sometimes to, because it's like that's the basic. And then afterwards, you have to actually build the app, function.
>> Bianca Gandolfo: Yeah, for sure.
>> Speaker 5: But it's always nice to think about it that way, from that point of view, but finding that real application is also for a bunch of different-
>> Bianca Gandolfo: Yeah, it'll stick too, right?
>> Speaker 5: Yeah.
>> Bianca Gandolfo: It'll be more interesting, absolutely. One last tip, who's got it?
>> Speaker 5: I actually do the whiteboard thing itself. At home I painted a whole whiteboard. So, I code it up, go through this sort of code kinda deal and then decode it. And then when I go on my interviews, I actually take my own pens and markers.
>> Bianca Gandolfo: Wow.
>> Speaker 5: Wipe the board clean, get ready for it and it's very impressive to actually do both. Say I'll talk you through, write a loop, talk about anything that tbey want me to discuss.
>> Bianca Gandolfo: Yeah.
>> Speaker 5: Code it out on the board and then if they want me to, I'll code it on a computer.
>> Bianca Gandolfo: Cool. I like that your ringer on.
>> Speaker 5: Yeah.
>> Bianca Gandolfo: You're professional whiteboard that you have to have your special markers.
>> Speaker 5: [LAUGH] They get really, really, they laugh at that. They're like, you came here with your own marker.
>> Bianca Gandolfo: They'll remember you though.
>> Speaker 5: Yeah, that's right.
>> Bianca Gandolfo: If you can find a quirk and you go in there, and you do a really good job, they're gonna be like, who's that awesome guy who brought his markers, cool. All right, cool, and just some perspective. We're on a journey. We're all at different places on our journey.
[00:06:26] And for some of us, this will come easier. It'll be harder for others, but it's okay. And manage your time, keep at it, keep practicing, be present. Find ease and joy if you can through this. For some people this can be really painful. They're only doing this because they wanna get a job and this is like a hurdle that you have jump through to get a job.
[00:06:52] And that can be a burden. But I invite you to just let that go and try to find joy in it. Try to find something, just one thing that is interesting or exciting about this. And maybe that one thing is your dream job, or whatever that may be.