Saturday, 12 December 2015

The Place Of Algorithms In Computer Science


The word "Algorithm" may not seem to be a new word to computer scientists and IT junkies out there, though some newbies may still find it strange just as some who are familiar with the word really don't know the powerful problem-solving capabilities attached to it. Let us start this post with what an algorithm is before exploring its importance to computer programming.

What Is An Algorithm?

Simply put, an algorithm is a finite sequence of instructions aimed at accomplishing a specified task. It can also be defined according to a paper from MIT as a well defined computational procedure that accept some values, or a set of values and give out some values, or a set of values as output.
There are many types of algorithms that have been developed and have been applied to solve a wide set of problems. Some are even biologically inspired, that is they were developed after thorough observation of how some animals behave. A good example of this is the ant colony algorithm that was developed based on how ants search for food.

Importance To Computer Science

The importance of studying algorithms cannot be overemphasized especially in the programming field. Algorithms equip computer scientists with a general way or standard for solving specific kinds of problem with some been updated with different versions as more research work is been done. The scientist can implement this algorithms using any technology they prefer. For example sorting and searching algorithms can be implemented using any programming language of choice, be it Java, C, C++, C# and so on.

Custom algorithms can also be written to fit into the solution of a particular problem a scientist may be tasked with. This is a very good programming practice and more success has been recorded doing this than just approaching a problem in a haphazard manner. Pseudocodes (algorithms written using less formal notations so that they can be easily read)  are normally written before commencement of a programming exercise to act as a guide and positively affect the program flow. Pseudocodes also make it easy to properly place comments in our programs.

Efficiency comes with analysis of algorithms as this allows a computer scientist to know which is most optimal for a particular problem. Algorithms requires some resources to execute. A good knowledge of how much of these resources (especially running time and space in terms of memory) the algorithms use allows one to be able point out which is best for accomplishing a particular task. For example the sorting algorithm known as selection sort work very well on a small set of data while a much larger database requires sorting algorithm like merge sort.


Having gone through what an algorithm is all about and some of its importance, i hope readers out there will embrace this technical way of solving problems. Algorithms sometimes may seem difficult to implement especially when there is complex task at hand but there's always a lot to gain in the long run.


Post a Comment

Add a comment here