Recap2:13 with Pasan Premaratne
Let's wrap up this course with a recap!
And with that let's wrap up this course. 0:00 In the prerequisite to this course, Introduction to Algorithms, we learned 0:02 about basic algorithms along with some conceptions like recursion and Big O, 0:07 that set the foundation for learning about implementing and evaluating algorithms. 0:11 In this course we learned what a data structure is, and 0:16 how data structures go hand in hand with algorithms. 0:19 We started off by exploring a data structure that many of us 0:22 use in our day to day programming, arrays, or lists as they're known in Python. 0:26 We took a peek under the hood at how arrays are created and stored, and 0:31 examined some of the common operations carried out on arrays. 0:35 These are operations that we write and execute all the time, but 0:39 here we took a step back and evaluated the run times of these operations, and 0:43 how they affect the performance of our code. 0:47 After that we jumped into an entirely new world where we wrote 0:50 our own data structure, a signally linked list. 0:53 Admittedly, linked lists aren't used much in day to day problem solving. 0:56 But it's a good data structure to start off with, because it is fairly straight 1:00 forward to understand and not that much different from an array. 1:05 We carried out the same exercise as we did on arrays in that we 1:09 looked at common data operations. 1:12 But since this was a type we defined on our own, we implemented these operations 1:14 ourselves and got to examine with a fine-tooth comb, how our code and 1:18 the structure of the type, affected the run time of these operations. 1:22 The next topic we tackled was essentially worlds colliding. 1:27 We implemented a sorting algorithm, to sort two different data structures. 1:30 Here we got to see how all of the concepts we've learned so far, 1:35 algorithmic thinking, time and space complexity and data structures, 1:39 all come together to tackle the problem of sorting data. 1:43 This kind of exercise is one we're going to focus on moving forward, 1:47 as we try to solve more real world programming problems using different data 1:51 structures and algorithms. 1:55 If you stuck with this content so far, keep up the great work. 1:57 This can be a complex topic, but a really interesting one. 2:01 And if you take your time with it, 2:04 you will get a deeper understanding of programming and problem solving. 2:05 As always, check the notes for more resources and happy coding. 2:10
You need to sign up for Treehouse in order to download course files.Sign up