Skip to content

Comp. Sci. Data Structures and Algorithms Course

enki-hq edited this page Mar 25, 2020 · 3 revisions

Table of Contents

Content

Below you can find the ordered content of the topic, in a linear progression

The linear progression of content aims to cover all content, course by course, workout by workout as follows:

  • first course is the only core one, denoted by its manifest
  • the next course is denoted by the first item of the next array in each course manifest
  • each course has its order of workouts designated by the sections field in the same aforementioned manifest

Insights:

no name content aspects standards PQ RQ Quiz done
1 what-is-a-data-structure 👶 introduction
2 the-array-data-structure 👶 introduction
3 the-linked-list-data-structure 👶 introduction
4 the-stack-data-structure 👶 introduction
5 the-queue-data-structure 👶 introduction

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 the-graph-data-structure 👶 introduction
💪 workout
2 the-components-of-a-graph 👶 introduction
💪 workout
3 the-components-of-a-graph-ii 👶 introduction
💪 workout
4 graph-adt 👶 introduction
💪 workout
5 the-tree-data-structure 👶 introduction
💪 workout
6 node-height-and-depth 👶 introduction
💪 workout

Exercises:

⚠️ There are no insights in this workout.

Game:

name type aspects standards done
what-should-it-be-stored-in fillTheGap 👶 introduction
💪 workout

Insights:

no name content aspects standards PQ RQ Quiz done
1 approximating-memory-and-time-required-by-data-types 🦑 deep
💪 workout
2 approximation-methods 🦑 deep
💪 workout
3 binary-search 🦑 deep
💪 workout
4 sieve-of-eratosthenes 🦑 deep
🔮 obscura
5 primality-test 🦑 deep
💪 workout

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 the-binary-search-tree-data-structure 🦑 deep
💪 workout
2 verifying-a-binary-search-tree 🦑 deep
💪 workout
3 inserting-data-into-a-binary-search-tree 🦑 deep
💪 workout
4 removing-keys-from-a-binary-search-tree 🦑 deep
💪 workout
5 balanced-vs-unbalanced-binary-trees 🦑 deep
💪 workout

Exercises:

⚠️ There are no insights in this workout.

Game:

name type aspects standards done
oh-that-was-the-answer tetris 🦑 deep
💪 workout

Insights:

no name content aspects standards PQ RQ Quiz done
1 the-heap-data-structure 🦑 deep
💪 workout
2 inserting-data-into-a-heap-with-the-upheap-operation 🦑 deep
💪 workout
3 removing-data-from-a-heap-with-the-downheap-operation 🦑 deep
💪 workout
4 o-logn-operations-for-heaps 🦑 deep
💪 workout
5 trie-data-structure 🦑 deep
💪 workout

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 tree-traversals 🦑 deep
💪 workout
2 depth-first-traversal 🦑 deep
💪 workout
3 pre-order-traversal 🦑 deep
💪 workout
4 in-order-traversal 🦑 deep
💪 workout
5 post-order-traversal 🦑 deep
💪 workout

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 reverse-polish-notation 🦑 deep
💪 workout
🔮 obscura
2 parsing-reverse-polish-notation 🦑 deep
💪 workout
🔮 obscura
3 binary-expression-tree 🦑 deep
🔮 obscura
4 exponentiation-by-squaring 🦑 deep
🔮 obscura
5 levenshtein-distance 🦑 deep
🔮 obscura

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 dijkstras-algorithm 🦑 deep
💪 workout
2 dijkstras-iteration 🦑 deep
💪 workout
3 bellman-ford-algorithm 🦑 deep
💪 workout
4 bellman-ford-iteration 🦑 deep
💪 workout
5 traveling-salesman-problem 🦑 deep
🔮 obscura

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 kruskals-algorithm 🦑 deep
🔮 obscura
💪 workout
2 kruskals-iteration 🦑 deep
🔮 obscura
💪 workout
3 prims-algorithm 🦑 deep
🔮 obscura
💪 workout
4 prims-iteration 🦑 deep
🔮 obscura
💪 workout
5 0-1-knapsack-problem 🦑 deep
🔮 obscura

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Standards

✅ - At least one insight covers this

❌ - Nothing covers this

🛠️ - This standard has no objectives yet

❌ Identify linear collection data structures and their usage

  1. ❌ Identify Linked Lists
  2. ❌ Identify a Stack
  3. ❌ Identify a Queue
  4. ❌ Identify Indexable Ordered Sets (arrays, lists)
  5. ❌ Identify a use case for a Linked List
  6. ❌ Identify a use case for a Stack
  7. ❌ Identify a use case for a Queue
  8. ❌ Identify a use case for a Indexable Ordered Set

❌ Identify unordered collection data structures and their usage

  1. ❌ Identify a Hash Map
  2. ❌ Identify a Set
  3. ❌ Identify a use case for a Hash Map
  4. ❌ Identify a use case for a Set

❌ Identify graph data structures and their usage

  1. ❌ Identify a linked list
  2. ❌ Identify an arboreal graph
  3. ❌ Identify a binary tree
  4. ❌ Identify a red-black tree
  5. ❌ Identify a graph
  6. ❌ Define directionality, cyclical, connected, complete, and weighted in reference to properties of graphs
  7. ❌ Classify diagrams of graphs as having directionality or not, being cyclic or acyclic, connected or not, complete or incomplete, weighted or not

❌ Implement and use linear collection data structures

  1. ❌ Implement a Linked List and use it to solve a problem
  2. ❌ Implement a Stack and use it to solve a problem
  3. ❌ Implement a Queue and use it to solve a problem
  4. ❌ Implement a Indexable Ordered Sets (arrays, skip lists, etc) to solve a problem

❌ Implement and use unordered collection data structures

  1. ❌ Implement a Hash Map and use it to solve a problem
  2. ❌ Implement a Set and use it to solve a problem

❌ Implement and use graph data structures

  1. ❌ Implement a Tree
  2. ❌ Use a tree appropriately to solve a problem
  3. ❌ Implement a binary tree
  4. ❌ Use a binary tree appropriately to solve a problem
  5. ❌ Implement a red-black tree
  6. ❌ Use a red-black tree appropriately to solve a problem
  7. ❌ Implement a graph data structure
  8. ❌ Write an algorithm to identify if a graph is cyclic
  9. ❌ Write an algorithm to identify if a graph is complete
  10. ❌ Implement and Use a directed graph appropriately to solve a problem
  11. ❌ Implement and Use an undirected graph appropriately to solve a problem
  12. ❌ Implement and Use a weighted graph appropriately to solve a problem

❌ Analyze the complexity of common data structure access operations

  1. ❌ Accurately describe the complexity of Array access, search, insertion, and deletion
  2. ❌ Accurately describe the complexity of Stack access, search, insertion, and deletion
  3. ❌ Accurately describe the complexity of Queue access, search, insertion, and deletion
  4. ❌ Accurately describe the complexity of Doubly and Singly Linked List access, search, insertion, and deletion, and contrast the differences
  5. ❌ Accurately describe the complexity of Hash Table access, search, insertion, and deletion
  6. ❌ Accurately describe the complexity of Skip List access, search, insertion, and deletion
  7. ❌ Accurately describe the complexity of Binary Search Tree access, search, insertion, and deletion
  8. ❌ Accurately describe the complexity of Cartesian Tree access, search, insertion, and deletion
  9. ❌ Accurately describe the complexity of B-Tree access, search, insertion, and deletion
  10. ❌ Accurately describe the complexity of Red-Black Tree access, search, insertion, and deletion
  11. ❌ Accurately describe the complexity of Splay Tree access, search, insertion, and deletion
  12. ❌ Accurately describe the complexity of AVL Tree access, search, insertion, and deletion
  13. ❌ Accurately describe the complexity of KD Tree access, search, insertion, and deletion

❌ Analyze the complexity of common search and sort algorithms

  1. ❌ Analyze and accurately predict the complexity of linear searches
  2. ❌ Analyze and accurately predict the complexity of other searching algorithms
  3. ❌ Analyze and accurately predict the complexity of sorting algorithms

❌ Analyze the complexity of common pathfinding algorithms

  1. ❌ Accurately describe the complexity of Djkistra's
  2. ❌ Accurately describe the complexity of A*
  3. ❌ Accurately describe the complexity of Breadth-First-Search
  4. ❌ Accurately describe the complexity of Depth-First-Search in an arboreal graph

Aspects

Given the insights are tagged with aspects, we can filter over the linear content progression and create learning sub-paths.

These sub-path progressions will most likely not cover all content, but they will ensure and enforce an unified learning experience, tailor for the user wish.

For example, a user might be interested in new additions and updates of a language, rather than introduction lessions. Note that these sub-paths don't take games into consideration

👶 Introduction

If you are being introduced to the topic for the first time

Insights:

  1. what-is-a-data-structure
  2. the-array-data-structure
  3. the-linked-list-data-structure
  4. the-stack-data-structure
  5. the-queue-data-structure
  6. the-graph-data-structure
  7. the-components-of-a-graph
  8. the-components-of-a-graph-ii
  9. graph-adt
  10. the-tree-data-structure
  11. node-height-and-depth

⚠️ There are no exercises tagged with this aspect in data-structures-and-algorithms. Games:

  1. what-should-it-be-stored-in

💪 Workout

Theory put into practice/that’s how you achieve X points

Insights:

  1. the-graph-data-structure
  2. the-components-of-a-graph
  3. the-components-of-a-graph-ii
  4. graph-adt
  5. the-tree-data-structure
  6. node-height-and-depth
  7. approximating-memory-and-time-required-by-data-types
  8. approximation-methods
  9. binary-search
  10. primality-test
  11. the-binary-search-tree-data-structure
  12. verifying-a-binary-search-tree
  13. inserting-data-into-a-binary-search-tree
  14. removing-keys-from-a-binary-search-tree
  15. balanced-vs-unbalanced-binary-trees
  16. the-heap-data-structure
  17. inserting-data-into-a-heap-with-the-upheap-operation
  18. removing-data-from-a-heap-with-the-downheap-operation
  19. o-logn-operations-for-heaps
  20. trie-data-structure
  21. tree-traversals
  22. depth-first-traversal
  23. pre-order-traversal
  24. in-order-traversal
  25. post-order-traversal
  26. reverse-polish-notation
  27. parsing-reverse-polish-notation
  28. dijkstras-algorithm
  29. dijkstras-iteration
  30. bellman-ford-algorithm
  31. bellman-ford-iteration
  32. kruskals-algorithm
  33. kruskals-iteration
  34. prims-algorithm
  35. prims-iteration

⚠️ There are no exercises tagged with this aspect in data-structures-and-algorithms. Games:

  1. what-should-it-be-stored-in
  2. oh-that-was-the-answer

🦑 Deep

Prerequisite knowledge consisting of 2 or more 👶/💪 workouts

Insights:

  1. approximating-memory-and-time-required-by-data-types
  2. approximation-methods
  3. binary-search
  4. sieve-of-eratosthenes
  5. primality-test
  6. the-binary-search-tree-data-structure
  7. verifying-a-binary-search-tree
  8. inserting-data-into-a-binary-search-tree
  9. removing-keys-from-a-binary-search-tree
  10. balanced-vs-unbalanced-binary-trees
  11. the-heap-data-structure
  12. inserting-data-into-a-heap-with-the-upheap-operation
  13. removing-data-from-a-heap-with-the-downheap-operation
  14. o-logn-operations-for-heaps
  15. trie-data-structure
  16. tree-traversals
  17. depth-first-traversal
  18. pre-order-traversal
  19. in-order-traversal
  20. post-order-traversal
  21. reverse-polish-notation
  22. parsing-reverse-polish-notation
  23. binary-expression-tree
  24. exponentiation-by-squaring
  25. levenshtein-distance
  26. dijkstras-algorithm
  27. dijkstras-iteration
  28. bellman-ford-algorithm
  29. bellman-ford-iteration
  30. traveling-salesman-problem
  31. kruskals-algorithm
  32. kruskals-iteration
  33. prims-algorithm
  34. prims-iteration
  35. 0-1-knapsack-problem

⚠️ There are no exercises tagged with this aspect in data-structures-and-algorithms. Games:

  1. oh-that-was-the-answer

✨ New

Recently added/gained traction feature

⚠️ There are no insights tagged with this aspect in data-structures-and-algorithms. :warning: There are no exercises tagged with this aspect in data-structures-and-algorithms. :warning: There are no games tagged with this aspect in data-structures-and-algorithms.

🔮 Obscura

Stories, obscure details that don’t specifically relate to a learning objective

Insights:

  1. sieve-of-eratosthenes
  2. reverse-polish-notation
  3. parsing-reverse-polish-notation
  4. binary-expression-tree
  5. exponentiation-by-squaring
  6. levenshtein-distance
  7. traveling-salesman-problem
  8. kruskals-algorithm
  9. kruskals-iteration
  10. prims-algorithm
  11. prims-iteration
  12. 0-1-knapsack-problem

⚠️ There are no exercises tagged with this aspect in data-structures-and-algorithms. :warning: There are no games tagged with this aspect in data-structures-and-algorithms.

✅ All content has been tagged with aspects.

Clone this wiki locally