Why should you know about data structures and algorithms? Something that no one has told you for many years.

Why should you know about data structures and algorithms? Something that no one has told you for many years.

Daily short news for you
  • These past few days, well not exactly, due to the recent WWDC event, Apple has been the subject of online discussions about where their AI features actually stand. While other companies are diving into bringing AI to their devices and software, Apple seems to be... not too concerned.

    Recently, Apple's researchers suggested that LLM models will "completely collapse in accuracy" when faced with extremely complex problems. By pointing out that reasoning is merely an illusion, many rebuttals to this research emerged immediately. Once again, it raises the question of what Apple is truly thinking regarding AI on their devices.

    I think it's quite simple, Apple seems to be struggling with creating AI for themselves. That is, they are facing difficulties right from the data collection stage for training. They always appear to respect user privacy, so would they really go online to scrape data from everywhere, or "steal" data from users' devices? Surely, they wouldn't want to provide more user data to third parties like OpenAI.

    However, perhaps these challenges will lead them to discover a new direction. If everyone chooses the easy path, who will share the hardships? 😁. Oh, I'm not an "Apple fan," I just use what suits me 🤓.

    » Read more
  • A "sensitive" person to markdown is someone who jumps right in to see what's new when they come across a library that creates a new editor. Milkdown/milkdown is one example.

    Taking a look, it seems quite good, everyone. I might try integrating it into opennotas to see how it goes. It's supposed to be a note-taking application that supports markdown, but the library tiptap doesn't seem to want to add markdown support 😩. Using an external library isn't quite satisfactory yet.

    » Read more
  • Everyone using Cloudflare Worker to call OpenAI's API should be careful, I've encountered the error unsupported_country_region_territory these past few days. It's likely that the Worker server is calling from a region that OpenAI does not support.

    It's strange because this error has only occurred recently 🤔

    » Read more

The Issue

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?

What are Data Structures and Algorithms?

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.

Why Should You Know About Data Structures and Algorithms?

Why should you know about data structures and algorithms?

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?

Premium
Hello

The secret stack of Blog

As a developer, are you curious about the technology secrets or the technical debts of this blog? All secrets will be revealed in the article below. What are you waiting for, click now!

As a developer, are you curious about the technology secrets or the technical debts of this blog? All secrets will be revealed in the article below. What are you waiting for, click now!

View all

Subscribe to receive new article notifications

or
* The summary newsletter is sent every 1-2 weeks, cancel anytime.

Comments (1)

Leave a comment...
Avatar
Trịnh Cường2 years ago

Rất hay bạn ơi

Reply
Avatar
Xuân Hoài Tống2 years ago

Bạn Cường rút ra được bài học gì không ạ?