Description
In this course, you will learn:
- An in-depth overview of the most essential data structures for modern programming.
- More complex data structures, such as linked lists, stacks and queues, hash tables, and trees and graphs.
- A clear understanding of data structures and understand how to use them—in whatever language you're programming in: C#, Swift, JavaScript, Java, Python, and more.
Syllabus:
- Introduction
- Understand data structures
- What you should know
1. Introduction to Data Structures
- Introduction to data and data types
- Numerical data types
- Booleans and characters
- Primitive types in memory
- Introduction to data structures
- Strings
- Primitive vs. reference types in memory
2. Arrays
- What are arrays?
- Use arrays in Swift
- Multidimensional arrays
- Multidimensional arrays in JavaScript
- Jagged arrays
- Jagged arrays in C#
- Resizable arrays and language support
- Search arrays
- Sort arrays
- Big O notation
3. Lists
- What are linked lists?
- Operations on linked lists
- Build a linked list in Java
- Use linked lists in Java
- Singly vs. doubly linked lists
- Lists in other languages
- Pros and cons of lists
4. Stacks and Queues
- What are stacks?
- Implement stacks in Swift
- Use stacks in Swift for LIFO
- Error tracing with stacks
- What are queues?
- Implement queues in Swift
- Use queues in Swift for FIFO
- Queues in other languages
- Specialized queues
- Pros and cons of stacks and queues
5. Hash-Based Data Structures
- What are associative arrays?
- Understanding hash functions
- Understanding hash tables
- Using dictionaries in Python
- Language support for hashing
- Language support for hash tables
- Pros and cons of hash-based structures
6. Trees and Graphs
- What are sets?
- Sets in Python 3
- Introduction to tree data structures
- Understand binary search trees
- Understand heaps
- Pros and cons of tree data structures