Join Simon Allardice for an in-depth discussion in this video Review and conclusion, part of Foundations of Programming: Data Structures.
- View Offline
…We've covered a lot of content in the last couple of hours.…Now some of these data structures may be clearer…in your mind, whereas others are perhaps a little vague.…A lot of that will have to do with whether…you could easily identify a situation where you would use them.…And that's not a trivial question, but it's always worth staying conscious…of the fact that the first issue is not the data structure.…It's the data.…How much date do you have?…How often does it change?…Do you need to sort it, do you need to search it?…Now however complex you get, these…questions are going to drive your decisions.…
You get past the way too simple question of, which…data structures are fast, because you have ask, fast for what?…Faster access a direct element, faster search, faster insert…or delete, faster sort, because those are the key questions.…Now sure, if any place where you only have trivial…amounts of data, it isn't going to matter very much.…There's no reason to debate whether you should be using an array or a…linked list or a hash table if all you're doing is storing three strings.…
Starting with simple ways of grouping data like arrays and structs, together you'll explore gradually more complex data structures, like dictionaries, sets, hash tables, queues and stacks, links and linked lists, and trees and graphs. Simon keeps the lessons grounded in the real world and answers the "why" behind many data-structuring decisions: Why use a hash table? Why is a set useful? Why avoid arrays? When you're finished with the course, you'll have a clear understanding of data structures and understand how to use them in whatever language you're programming in, today or 5 years from now.
- What is a data structure?
- Using C-style structs and arrays
- Sorting and searching arrays
- Working with singly and doubly linked lists
- Using stacks for last-in, first-out (LIFO) structures
- Using queues for first-in, first-out (FIFO) structures
- Working with hash tables
- Understanding binary search trees (BSTs)
- Learning about graphs