My Data Structure Journey.

My Data Structure Journey.

Data structures are an essential part of computer science and programming, and I'm proud to say that I've been on an incredible journey of learning them. From simple linear structures like arrays and linked lists, to more complex structures like trees and graphs, I've gained an appreciation for the importance of data structures in both software development and everyday life. In this blog post, I'll be reflecting on my journey so far and discussing the lessons I've learned along the way.

Why I started learning data structures

why.jpg It all started a few months ago when I decided to start learning about data structures. I had heard of the term before, but I didn't know what it meant or why it was important. After doing some research, I realized that data structures are integral to programming, and a strong understanding of them can give you an edge in the tech industry. Data structures are basically ways of organizing and structuring data. They are used to efficiently store, sort, access, and manipulate data. The different types of data structures include arrays, linked lists, stacks, queues, trees, and more. Learning about these data structures can help you to solve problems more quickly, use less space in memory, and develop better algorithms. I have always been fascinated by technology, and understanding how data structures work was especially appealing to me. With data structures, I knew I could do amazing things with code. And so began my journey of learning about data structures. I read books, took online courses, and watched tutorials to understand the various concepts of data structures. I experimented with different types of data structures to see which ones worked best for my projects. I also made sure to practice coding so that I could gain hands-on experience. This journey of learning data structures has been challenging but also incredibly rewarding. With every new concept that I learn, I feel like I'm one step closer to mastering them. As I continue my journey of understanding data structures, I'm excited to see where it takes me.

What I struggled with

stressedcrop.jpg When I first started learning about data structures, I found the concepts to be rather difficult. I struggled to wrap my head around the different types of data structures, how they were organized, and how they worked together. From linked lists to trees to graphs, I had a lot of trouble understanding how each data structure could be used in different situations. I also struggled to understand the various algorithms that could be used to manipulate these data structures. My biggest challenge was figuring out the best way to implement data structures in code. I knew the general concepts, but when it came to writing code for each data structure, it felt like a daunting task. The more I read and studied, the more overwhelmed I became. Thankfully, I eventually started to get the hang of it. After writing some practice code, watching tutorials, and seeking advice from experienced developers, I was finally able to begin creating my own projects with data structures. This was an amazing feeling! With each project, I was able to apply what I had learned and become more confident in my knowledge. I am still learning more about data structures, but I am grateful for the progress that I have made so far. Data structures are fascinating and powerful tools that can be used to solve complex problems, and now I'm excited to explore the possibilities of this field even further.

## What I learned

learning.jpg My journey with data structures started out as something I was interested in, but had no idea where to start. I had heard about different types of data structures, such as stacks, queues, trees, and graphs, but was unsure of how they were used or how to implement them. After a lot of research and practice, I finally started to understand the concept of data structures and their various applications. I started off by researching the basics, such as what a stack is and how it works. From there, I began to understand more complicated concepts such as binary search trees and hash tables. As I continued to learn more, I also studied different algorithms associated with each data structure and their time complexities. This gave me an even better understanding of how these data structures worked together in a real-world application. Now, I have a much better grasp of the fundamentals of data structures and their associated algorithms. I understand why certain data structures are better for certain tasks and I am confident in my ability to implement these data structures in projects. In addition, I have learned about different advanced topics related to data structures such as AVL trees, heaps, and graph traversals. Overall, my journey with data structures has been incredibly rewarding. It is amazing how much I have learned since I first started out. With my newfound knowledge and experience, I am now able to build more efficient programs that can tackle real-world problems.

How I applied what I learned

applied.jpg When I started learning about data structures, I was intimidated by the complexity of them. I didn't think I would be able to apply what I was learning to real-world scenarios. But I quickly discovered that if I took a step-by-step approach and studied each concept, it wasn't as daunting as it seemed. My first project was a simple linked list. I had to create a program that could store data in an ordered list. At first, this felt overwhelming since I wasn't familiar with the concepts behind linked lists. However, once I started researching, I was able to gain an understanding of how they worked. With a bit of practice, I was soon able to build my own basic linked list in a couple of hours. After mastering linked lists, I decided to move on to the more advanced data structures like trees and heaps. Learning these new structures took a bit more time since there were so many different types and each type had its own complexities. But once again, after studying the concepts thoroughly, I was able to understand them and implement them in my programs. One of the most exciting moments for me was when I implemented my first binary tree. It was truly amazing to see the results of my efforts. The tree I built was able to store data in a way that allowed for efficient retrieval and sorting. My journey through data structures has taught me an invaluable lesson - that with dedication and hard work, anything is possible. I am still learning and exploring new data structures and their applications but with every structure, I'm gaining more confidence in my abilities and developing a better understanding of how they can be used.

What I'm still working on

whyworking.jpg As I continue on my journey of learning data structures, I am still mastering the fundamentals. I am still getting to grips with the complexities of algorithms and problem solving. I have had to learn how to think in new ways and push my boundaries. I am also trying to understand how different data structures can be used to solve problems in the most efficient way. For instance, when sorting items, a quick sort is much faster than a bubble sort, but both are effective for the job. Understanding the pros and cons of each type of sorting algorithm has been essential. In addition to understanding the theory behind data structures, I am also working on gaining practical experience. This means writing code and attempting to create data structures from scratch. Even though I am an experienced programmer, there have been many challenges and moments of frustration. However, I am taking each challenge as an opportunity to learn something new and am already feeling the benefits. Overall, my data structure journey has been challenging but rewarding so far. I'm excited to see where it takes me next!

And my this wonderful journey is still going on. And now I am on my way to Competitive Coding. Thank You all for reading my DS journey .

72Ow.gif