← Back to blog

Week 1 - Learning Basic Graph Algorithms

Introduction

This week was my first week into my 4-month study plan to address my weak points in data structures and algorithms. Each month, I take notes and practice questions on the topics that I struggle the most with. This way, I'll be able to increase my fundamental knowledge of these data structures and algorithms, and do better on online coding assessments and interviews.

My Progress

I keep track of what I've done weekly using Trello, and you can view my Trello board here to see my progress!

So far, I've been able to implement:

  • DFS (recursively and with a stack)
  • BFS
  • Topological Sort
  • Khan's Algorithm
  • Connected Components
  • Union Find
  • Cycle Detection

My knowledge of these algorithms has already increased just by setting aside 4 hours a day from Monday to Friday to dive deeper into these topics. Over the weekend, I plan to solidify and test my knowledge by practicing graph and tree-related problems on LeetCode and/or HackerRank.

Reflections

It's awesome to see how much I've learned by being consistent. LeetCode can be difficult at times, because some of the questions come easy to me, while others I struggle with. I'm happy though that I've gotten to a point where the Easy questions are relatively easy for me, and that Medium questions aren't as challenging as they were before. I still struggle with Hard questions, but as I continue to solidify my understanding and practice, things will get easier.

I'm excited to see how much I'll have grown by the end of August, and hopefully, I'll have finally finished the Top 150 list that I started in January.

I'll see you next week!

Until then,

Anjola