This is a tutorial made by Nicholas Cable, on Nov. 16, 2020. This will help people understand Python Data Structures through a series of readings and practice problems.
-
[Queues]
- How is it organized/data stored
- Stored in a list
- For problems, store class inside another class (easier to work with)
- FIFO
- First in First out
- remove from beginning of list instead of end
- Priorities?
- Sample problems
- Adding/Removing from list
- How to add to a queue (insert and not append [tell difference between the two])
- How to remove from a queue (dequeue)
- Class registration
- How many spots in class?
- Who signed up first? (could just use index to find that)
- What happens when someone drops the class?
- Adding/Removing from list
- How is it organized/data stored
-
[Linked Lists]
- Design of linked list (include image)
- How does it link to each other
- Each item is a node
- Next and prev links
- How does it save memory (uses space in memory instead of array of data)
- place in memory to store data
- how to access the data
- When to use it
- performance
- O(n) perfomance
- Run through list using 'yield' to get each point
- Possible Sample Problems
- Problem 1
- Creating linked list
- Looping through linked list
- Getting sum of all values of list
- Problem 2 1.
- Problem 1
-
[Trees]
- What does a tree look like?
- Looks like a literal tree (with branches)
- Add a diagram with more details
- How is data stored
- Unbalanced tree (add image here)
- Balanced tree (add image here)
- Function to balance tree
- Perfomance of a tree
- log(n) performance
- Functions to run through tree
- Recursion!
- Possible sample problems
- Adding values to a tree. Removing values?
- Balancing tree?
- What does a tree look like?
These three topics will be covered in this repository.