Data structures and algorithms are one of the first subjects for IT students. I don't know how others feel when they first encounter algorithm, but for me, it feels like writing a list. I'm not going to hide it, before being a student, I also had "programming" if-else, array, and object, but I didn't understand why I had to write algorithms on paper like this. It was only later that I realized that algorithms are the root of logical thinking in programming. Writing algorithms in a step-by-step style is actually training your thinking ability.
However, I have noticed that some people, even colleagues, still have some hesitation when it comes to data structures and algorithms. For them, algorithms seem like something high and truly complex that they can't understand, and they have no idea how they are applied in their work even though they use them daily! Thinking like this inadvertently undermines their self-esteem and creates a fear whenever they have to face it. Instead, why not set aside this fear and face it to see what data structures and algorithms are actually about?
According to technical documentation, an algorithm is a finite set of well-defined instructions that can be executed by a computer, usually to solve a class of problems or perform a calculation. Algorithms are always clear and explicitly state how to perform operations, process data, make automated inferences, and other tasks.
On the other hand, a data structure is a defined way of organizing and storing data in a sorted manner to make a process more manageable.
The simplest example of an algorithm is "Calculate the sum of natural numbers from 1 to n":
Initialize sum = 0
For each natural number x in the range from 1 to n:
Add x to sum
Sum is the result
It can be said that data structures contribute to the creation of algorithms because algorithms need data structures to store data. There are many data structures created to serve various storage purposes, accessibility, and memory usage. Choosing the appropriate data structure for an algorithm improves its efficiency. Therefore, we need to further study data structures to enhance the application of algorithms in the future.
Algorithms are still present in the lines of code we write every day. Every logic you write is the result of an algorithm, and they can differ among programmers. This creates differences in coding style as well as programming performance.
Being interested in algorithms helps in training logical thinking in programming. In programming, there are many ways to solve a problem, and these differences can be reflected in performance. Some problem-solving methods are very effective, while others are not. Knowing multiple algorithms helps improve problem-solving speed and efficiency. We know which algorithm to apply in a specific case or even combine them to create a more optimal algorithm.
When choosing a tool, understanding the algorithm it applies or implements helps connect it with existing knowledge, enabling faster mastery of the tool. For example, if you are looking for a text search tool, there are many tools that can do that, and they apply different search algorithms. Knowing the different algorithms and the search scenarios you want will help you choose the most suitable tool.
Widely recognized and popular algorithms are focused on optimizing computer resources such as memory or processing power. Choosing an existing algorithm or writing a new one based on them appropriately helps optimize memory, thereby enhancing processing performance.
Especially in the current AI technology revolution, the algorithms of technology giants have and are dominating many aspects of the world. It can be seen that algorithms have infiltrated into the daily lives of everyone. Equipping yourself with knowledge of data structures and algorithms helps you adapt to this world more quickly. Who knows, one day the algorithm you write may also contribute to changing the world?
5 profound lessons
Every product comes with stories. The success of others is an inspiration for many to follow. 5 lessons learned have changed me forever. How about you? Click now!
Subscribe to receive new article notifications
Comments (1)