Skip to content

Instantly share code, notes, and snippets.

@ajainarayanan
Last active February 17, 2023 01:54
Show Gist options
  • Save ajainarayanan/4d55db70ebbec76fe8f8166f0fda0577 to your computer and use it in GitHub Desktop.
Save ajainarayanan/4d55db70ebbec76fe8f8166f0fda0577 to your computer and use it in GitHub Desktop.
Algorithms - 101 (Back in 2014)

Originally posted on Jul 12, 2014

This blog is going to be an account of my understanding about the concept of algorithms in computer science field. I could be wrong sometime and right the other time. Please let me know if I am terribly getting something wrong. In this blog I will be discussing about some basic theories of algorithms and some problems associated with it.

Since this is the first post of my blog I don’t want to waste it with some random jabber talks. So let us try for a nice start of the subject.

So what do you mean by the term algorithm?

Ofcourse you know that. Step-by-step solution for a problem.

Why do we need to learn about algorithms? Is there any specific theory that we need to learn so that all the problems in the field of computer science, for that matter in any field be solved?

Learning algorithm is just a way to approach a problem. A mathematical problem has n number of ways to solve . The field of algorithm gives you a methodology in solving any problem.

So are there class of problems that could be categorized?

Yes there are problems that exhibits a common procedure in framing a solution. This framework of solving any problem by identifying a pattern forms the crux of any problem solving (algorithms).

So what do you need for identifying the pattern?

Math.

So what are all the concepts of mathematics should we be knowing before we start to learn algorithm? (this was the question that I asked when I started studying algorithms)

All

Even though thats the most inevitable fact one has to atleast try to formulate a problem mathematically (represent it in numbers) to atleast have a grasp of the problem. Thats about it.

Some of the pre-requisites that I was recommended before learning about algorithms are

1.Number theory.
2.Functions.
3.Notations.
4.Induction.
5.Logarithms.
6.Sets.
7.Permutation and Combination.
8.Probability.

Since there are abundant materials available online discussing about these topics I will skip in talking about these topics.

In the subsequent journals I shall straight away discuss about subtle topics which has very reaching influence in algorithms, to start with solving Chracteristic equations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment