Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Maths for algorithms.

 
pawan chopra
Ranch Hand
Posts: 417
jQuery Mac Objective C
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I would like to know What topics in maths one should know to learn algorithms?
 
Deepak Bala
Bartender
Posts: 6663
5
Firefox Browser Linux MyEclipse IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Addition, subtraction, multiplication, division
 
pawan chopra
Ranch Hand
Posts: 417
jQuery Mac Objective C
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Deepak Bala wrote:Addition, subtraction, multiplication, division


Best answer
 
Devaka Cooray
ExamLab Creator
Marshal
Pie
Posts: 4262
229
Chrome Eclipse IDE Google App Engine IntelliJ IDE jQuery Postgres Database Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Many! Including sets, boolean algebra, series, or even calculus would be helpful.
 
Deepak Bala
Bartender
Posts: 6663
5
Firefox Browser Linux MyEclipse IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
On a more serious note, I found differentiation and maxima / minima helped solve a problem recently. The problem was reduced to an equation and the equation's minima gave the answer
 
Jesper de Jong
Java Cowboy
Saloon Keeper
Posts: 15207
36
Android IntelliJ IDE Java Scala Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
pawan chopra
Ranch Hand
Posts: 417
jQuery Mac Objective C
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Soumil Shah
Ranch Hand
Posts: 54
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
pawan chopra wrote:I would like to know What topics in maths one should know to learn algorithms?

entire maths...
 
Chris Baron
Ranch Hand
Posts: 1061
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
@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
 
Steve Fahlbusch
Bartender
Posts: 602
7
Mac OS X Python
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hardly meaningless, but...

might i suggest: Concrete Mathematics: A Foundation for Computer Science
 
marc weber
Sheriff
Posts: 11343
Java Mac Safari
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Logic.
 
Pat Farrell
Rancher
Posts: 4678
7
Linux Mac OS X VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Henry Wong
author
Marshal
Pie
Posts: 20892
75
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
Pat Farrell
Rancher
Posts: 4678
7
Linux Mac OS X VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
pawan chopra
Ranch Hand
Posts: 417
jQuery Mac Objective C
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Steve Fahlbusch wrote:Hardly meaningless, but...

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


Its Knuth's book must be hard
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic