Day 05: Reviewing Permutations for Factorials

While I was watching some more of freeCodeCamp’s video on Big O Notation I realized that the source of my problem might be my lack of comfort with permutation and combination problems in math. The last time that I actually covered permutations and combinations seriously was in High School so it is not surprising that I have gotten rusty. I took the time to review some more and it feels great. Whether this helps me out with understanding recursion problems is a separate question though.

TLDR;

Okay, so here are the highlights of what I did:

  • Still reading through the book “Cracking the Coding Interview” by Gayle Laakmann McDowell. Since I am stuck on practice problem eleven I am trying to review the concept of Recursion and determining the time complexity for recursive algorithms. I have not reviewed the algorithm again because I wanted to look into the potential cause for my discomfort. The algorithm utilizes permutations (I think). I have gotten rusty with them so I though reviewing might solve my issue. I haven’t finished yet but the review was very much needed. Just reading one article covering the topic clarified a lot. I should finish up tomorrow but we will see how it goes.
  • Continued going through a YouTube video on Big O Notation from the G.O.A.T. freeCodeCamp. It’s a 2 hour video I might glean some new information from the video so I figure why not. So far it has not introduced anything revolutionary but it has been a pretty good review. The growth chart was something that I snipped for my notes. Aside from that, I am still anxiously awaiting the section on recursion. lol

Conclusion

That’s all for today. This is my sixth round of the “#100daysofcode” challenge. I will be continuing my work from round five into round six. I am currently working through the book “Cracking the Coding Interview” by Gayle Laakmann McDowell. My goal is to become more familiar with algorithms and data structures. This goal was derived from my goal to better understand operating systems and key programs that I use in the terminal regularly e.g. Git. This goal was in term derived from my desire to better understand the fundamental tools used for coding outside of popular GUIs. This in turn was derived from my desire to be a better back-end developer.

I have no idea if my path is correct but I am walking down this road anyways. Worst case scenario I learn a whole bunch of stuff that will help me out on my own personal projects.