What Is Algorithm and Why To Learn

When it comes to algorithms, it always remind me of the Gauss’ solution to summarise the numbers from one to a hundred which I learned in primary school. Perhaps it is the first algorithm that I have learned. Whereas, I didn’t completely recognised the importance of his solution until I become a programmer. In a word, the time complexity of Gauss’ solution is $O(1)$ while the normal solution is $O(n)$. If I write programme to implement the former one, only one line of code is enough, but I have to write a for loop for the later one. Apparently, his solution is far more effective than the normal one especially when dealing with large amount of data. When I was learning data structure and algorithms, what I learned from Gauss helped understand what exactly the algorithm is and why I should learn it.

The word “algorithm”, which is difficult to spell, intimidated me when I know it at the first time. I thought it must be some complicated mathematical methods for experts. Is it? It is definitely not for the elitist mathematicians or programmers. It is just a solution as very same as Gauss’ to solve another problem. There are algorithms everywhere in our daily life not only in developer’s world. For example, stall holders calculate the price of goods in a way that decomposing fractional numbers into integers when multiplying them. $10.5\times3$ can be decomposed to $10\times3+0.5\times3$. This is a kind of algorithm that could help them make deal without a calculator.

After knowing about what algorithm is, it is obvious that why it is critically important for software engineers to learn it. It is not a programming tricks to astound your friends or managers but a practical approaches to save consumption of time and footage of disks. As a software engineer, we will have to deal with large amount of data or show the information as soon as possible. That is where we need algorithms. Algorithm is arguably the fundamental of programming.

In conclusion, it is necessary to learn data structure and algorithms for its significant benefits for robust and effective programme. To be an exceptional programmer needs to be able to master widely used algorithms and write code with them.

P.S. My repository. for data structure and algorithm. It seems that the “LaTex” expressions are not shown properly. I will find the solution later.

2025

Bananas

less than 1 minute read

A banana is an edible fruit – botanically a berry – produced by several kinds of large herbaceous flowering plants in the genus Musa.

Visiting Genuine Landscape

less than 1 minute read

As Artificial Intellengence is becoming more and more popular, many generated video have been releasing on the Internet.

Discipline

less than 1 minute read

When I was at college I developed rhinitis and felt splitting headache when the temperature changed drastically. Many general practitioners in my hometown ha...

Jekyll

less than 1 minute read

Ironically, as a Java developer, I found that it is interesting to build a website based on Jekyll, which is a framework written by Ruby. One reason is pres...

Back to top ↑

2024

What Is Algorithm and Why To Learn

1 minute read

When it comes to algorithms, it always remind me of the Gauss’ solution to summarise the numbers from one to a hundred which I learned in primary school. Per...

Keep On Learning TDD

1 minute read

After submitting my dissertation on the 20th April 2024, I keep on learning TDD. It is evident that learning a new skill is not as easy as I expected, especi...

Mathematics is The Fundamental of Science

1 minute read

In every aspect of our life, mathematics plays a major role even without our consciousness. Physics, chemistry, engineering, astrology, and so forth can exis...

Writing My First Code of TDD

less than 1 minute read

After reading a book named Test Driven-Practical TDD and Acceptance TDD for Java Developers for serval days, I finally wrote a demo by following the instruc...

Refactoring Legacy Code

less than 1 minute read

A good news today is that I have found the solution to delete cluttered code. Then I felt bitterly embarrassed after realising that I even didn’t have found...

It’s Not An Effective Way of Programming

less than 1 minute read

I was bitterly frustrated today because I couldn’t optimise some legacy code which is quite cluttered. A whole day was wasted and there wasn’t any solution ...

Learning Programming in Ten Years

less than 1 minute read

Today I read an essay in which the author harshly criticised the trend of learning programming in a few hours or a few days. The author provided adequate pr...

Focus

less than 1 minute read

Sometimes I can’t focus on one thing. Even though nobody interrupts me, I just want to do many things at the same time. Consequently, I made a lot of mistake...

Back to top ↑