Skip to content

Latest commit

 

History

History
64 lines (43 loc) · 1.95 KB

File metadata and controls

64 lines (43 loc) · 1.95 KB

🏎 Speed & Structure

1. Performance Optimisation

Estimated time: 2 hours

Read & understand. We will be using this knowledge soon.

You can solve the same problem in multiple ways. Some solutions are more time & resources intensive than others. We always want to optomise our code to the best performing code as possible. Some of the factors that will affect performance are the number of loops, nested loops, inefficient searching of arrays each time (lookup times), etc.

Learn about Big0 Notation →

We will be using this knowledge to build our algorithms with code performance in mind.

2. More "Interesting" Algorithms

Estimated time: 32 days doing 1 per day

You will be doing 1 PR per day with the solution and automated tests while continuing to advance in chapters.

Level II of problem solving: ✅ Get Started →

As before, create a new PR for each solution. Each solution should have Minitests which tests your code.

3. Advanced Data Structures

Estimated time: 2-3 days

Read and understand the structures for now. This will be important later & for interviews.

Refresher: OOP

Linked Lists

Implementations:

Actions to learn:

  • Add a new value
    • end of the list
    • start of the list
    • in the middle
  • Deleting a value
    • end value
    • head value
    • middle value
  • Traverse the list (print all the values in order)
  • Sorting the list

Trees

  • Binary Trees

Actions:

  • Adding values
  • Finding a value
  • Deleting a value
  • Balancing the tree

✅ Task: Implement the above data structures in Ruby, upload & open a PR on your Git repo for each data structure.