Investigate what states of our search algorithm has or how we need to adapt our algorithm in each state.
Consider only normal behaviour and disregard edge cases --> This algorithm doesn't need to work.
Implement a basic good case version of the algorithm.
Write tests for your implementations and if (maybe due to performance) most functionality is in one function comment detailed in that function so everyone understands what you did.
Investigate what states of our search algorithm has or how we need to adapt our algorithm in each state. Consider only normal behaviour and disregard edge cases --> This algorithm doesn't need to work. Implement a basic good case version of the algorithm. Write tests for your implementations and if (maybe due to performance) most functionality is in one function comment detailed in that function so everyone understands what you did.