DEV Community

Karol
Karol

Posted on

📚 My Python Roadmap Journey #3 & #4 - Data Structures & Algorithms

(ENG below)
Minęło trochę czasu od ostatniego wpisu, ale nie był to czas stracony. Tym razem skupiłem się na zagadnieniach, które w mojej ocenie wymagają więcej uwagi oraz skupienia, a przede wszystkim cierpliwości. Choć nie mogę powiedzieć, że były to dla mnie nowe tematy, to po czasie przy ich powtarzaniu miałem wrażenie, jak gdyby część wiedzy zupełnie mi uciekła. Muszę przyznać, że zrozumienie a następnie implementacja praktyczna tych zagadnień daje ogromną satysfakcję.

Przerobione zagadnienia:

  • Arrays and Linked Lists
  • Hash Tables
  • Heaps, Stacks and Queues
  • Binary Search Tree
  • Recursion
  • Sorting Algorithms

Każdy z tych tematów okazał się ciekawy na swój urokliwy sposób. Najwięcej zabawy sprawiły mi stosy i kolejki - o ile ich implementacja w Pythonie jest prosta, to dokładne zrozumienie "dlaczego działają tak, a nie inaczej" daje sporo satysfakcji. Również rekurencja, którą często traktowałem jako dość oczywistą rzecz, pokazała mi swoje mocne strony przy implementacji klasycznych problemów jak wieże Hanoi czy Quicksort.

Zgodnie z założeniami postarałem się przygotować małe projekty dla każdego poznanego zagadnienia, można je znaleźć na moim Githubie:
https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Data_Structures

To były najbardziej wymagające zagadnienia jak do tej pory na mojej drodze, ale tego się spodziewałem. Wiem jednak, że te fundamenty będą przydatne zarówno w praktyce programistycznej, jak i podczas przyszłych rozmów technicznych.

Kolejne wyzwania, o których niedługo napiszę:
Modules, Lambdas, Decorators, Iterators and Regular Expressions

Do usłyszenia!


It’s been a while since my last post, but it wasn’t a waste of time. This time, I focused on issues that, in my opinion, require more attention, concentration, and above all patience. Although I can't say that these were new topics for me, after some time, when I repeated them, I had the feeling that some of the knowledge had completely slipped away from me. I must admit that understanding and then implementing these concepts in practice is extremely satisfying.

Revised topics:

  • Arrays and Linked Lists
  • Hash Tables
  • Heaps, Stacks, and Queues
  • Binary Search Tree
  • Recursion
  • Sorting Algorithms

Each of these topics turned out to be interesting in its own charming way. I particularly enjoyed working with stacks and queues - while their implementation in Python is simple, understanding exactly "why they work this way and not that way" is very satisfying. Recursion, which I often considered a rather obvious thing, also showed me its strengths in implementing classic problems like the Towers of Hanoi or Quicksort.

I have tried to prepare small projects for each of the topics, which can be found on my GitHub:
https://github.com/Karol-Polak/Python_roadmap_journey/tree/main/Data_Structures

These were the most challenging topics I have faced so far, but I expected that. However, I know that these basics will be useful both in programming practice and in future technical interviews.

The next challenges, which I will write about soon:
Modules, Lambdas, Decorators, Iterators, and Regular Expressions

See you!

Top comments (0)