# Maths for algorithms.

posted 6 years ago

I would like to know What topics in maths one should know to learn algorithms?

Pawan Chopra

SCJP - itspawan.com

posted 6 years ago

Best answer

Deepak Bala wrote:Addition, subtraction, multiplication, division

Best answer

Pawan Chopra

SCJP - itspawan.com

posted 6 years ago

Many! Including sets, boolean algebra, series, or even calculus would be helpful.

Author of ExamLab - a free SCJP / OCPJP exam simulator

What would SCJP exam questions look like? -- OCPJP Online Training -- Home -- Twitter -- How to Ask a Question

posted 6 years ago

Probably one of the most famous books with regard to this subject is Introduction to Algorithms. I had a course with that book at university a long time ago.

Note that a video lecture of this course is available from MIT.

In my opinion, every serious programmer should know something about algorithms, and should know the basics of analysis of algorithms and big O notation.

Note that a video lecture of this course is available from MIT.

In my opinion, every serious programmer should know something about algorithms, and should know the basics of analysis of algorithms and big O notation.

posted 6 years ago

I agree with you. But I started with Introduction to Algorithms and found it tough. So I thought I should learn mathematics first. I almost forgot everything in maths. It will be helpful if you can suggest some good tutorials and books.

Jesper Young wrote:

In my opinion, every serious programmer should know something about algorithms.

I agree with you. But I started with Introduction to Algorithms and found it tough. So I thought I should learn mathematics first. I almost forgot everything in maths. It will be helpful if you can suggest some good tutorials and books.

Pawan Chopra

SCJP - itspawan.com

Soumil Shah

Ranch Hand

Posts: 54

Chris Baron

Ranch Hand

Posts: 1061

posted 6 years ago

@Jesper: thanks for the link to the MIT OpenCourseWare page! I'll surely attend some lectures there.

I have also my problems with math. We were able to "deselect" it at high school. And, taking the path of least resistance, i did. Now i regret it. So i simply never learned the symbols of higher mathematics. I'm sure it would be much easier to understand if they use java code.

cb

I have also my problems with math. We were able to "deselect" it at high school. And, taking the path of least resistance, i did. Now i regret it. So i simply never learned the symbols of higher mathematics. I'm sure it would be much easier to understand if they use java code.

cb

posted 6 years ago

Logic.

*~Joe Strummer*

sscce.org

posted 6 years ago

Any serious study of algorithms needs at least some level of calculus and a bit of probability. If you watch the MIT Open Courseware lectures, you will see that they assume a fair amount of college level math. Then it is MIT, so they know that their students have the background.

Of course, you need calculus and some probability to be any kind of Engineer.

Of course, you need calculus and some probability to be any kind of Engineer.

posted 6 years ago

Personally, in over 20 years as a developer, I had to use calculus only once... I had to use this algorithm to control the number of VmWare members in the grid to process work (with a fluctuating load).

Basic junior high school math and algebra probably covers more than 90% of the cases. I also used geometry, trigonometry, and statistics too -- but these are dependent on what I was working on.

Henry

Pat Farrell wrote:Any serious study of algorithms needs at least some level of calculus and....

Personally, in over 20 years as a developer, I had to use calculus only once... I had to use this algorithm to control the number of VmWare members in the grid to process work (with a fluctuating load).

Basic junior high school math and algebra probably covers more than 90% of the cases. I also used geometry, trigonometry, and statistics too -- but these are dependent on what I was working on.

Henry

posted 6 years ago

For sure, the study of algorithms needs a bit of calculus, but in the real world, you rarely need to prove that your algorithm is O(n^2)

I do think that academic study is important in practice, so that you know that using a O(N^4) algorithm is a really bad thing if N is greater than about 5.

I have managed folks with MS in Computer Science that didn't fully grok this. Its like seven way RDBMS joins, sure, they work in theory, but they are way bad in practice.

Henry Wong wrote:Pat Farrell wrote:Any serious study of algorithms needs at least some level of calculus and....

Personally, in over 20 years as a developer, I had to use calculus only once...

For sure, the study of algorithms needs a bit of calculus, but in the real world, you rarely need to prove that your algorithm is O(n^2)

I do think that academic study is important in practice, so that you know that using a O(N^4) algorithm is a really bad thing if N is greater than about 5.

I have managed folks with MS in Computer Science that didn't fully grok this. Its like seven way RDBMS joins, sure, they work in theory, but they are way bad in practice.

posted 6 years ago

Its Knuth's book must be hard

Steve Fahlbusch wrote:Hardly meaningless, but...

might i suggest: Concrete Mathematics: A Foundation for Computer Science

Its Knuth's book must be hard

Pawan Chopra

SCJP - itspawan.com