Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Looking for a path to learn the math required to understand algorithm books / theory [closed]

Tags:

I've taken everything up to pre-calculus in college, but when trying to get through things like the Donald Knuth books, or even things like this link: http://en.wikipedia.org/wiki/Self-balancing_binary_search_tree I wind up looking at math that means absolutely nothing to me. I'm not looking for magic, I don't expect to make sense of this in a week, I'm just looking for a good graduated plan of things to read / explore to get me there. Any pointers are welcome, after 20+ years as a professional programmer, I feel it would be nice to have this under my belt. Thanks in advance to everyone! :-)

like image 251
GoinAum Avatar asked May 13 '11 16:05

GoinAum


People also ask

What math is needed to understand algorithms?

A version of what is normally called discrete mathematics, combined with first-year (university) level calculus are the primary requirements to understanding many (basic) algorithms and their analysis.

Do you need to know the math behind machine learning algorithms?

Mastering machine learning requires knowledge of mathematical concepts like linear algebra, vector calculus, analytical geometry, matrix decompositions, probability and statistics. A strong grasp of these helps in creating intuitive machine learning applications.

What kind of math is algorithm?

An algorithm in math is a procedure, a description of a set of steps that can be used to solve a mathematical computation. For example, a step-by-step procedure used in long divisions is a common example of a mathematical algorithm.

What kind of Math is needed to understand computer algorithms?

A version of what is normally called discrete mathematics, combined with first-year (university) level calculus are the primary requirements to understanding many (basic) algorithms and their analysis.

What are the prerequisites for learning algorithms?

Generally though, for a good basic grasp of algorithms, you mostly need good problem solving abilities and a broad exposure (not necessarily too deep) to various kinds of mathematics. Number theory definitely is helpful as is some basic graph theory.

What is the difference between algorithms and calculus?

Calculus...not so much, but might be used for some advanced algorithms. But algorithm doesn't directly correlate with math. Algorithms are the methods you use to accomplish a task. Evolving a genetic algorithm from a worse parent state to a better child state uses some kind of algorithm. You can also think of algorithms as a path.

What is it like to study algorithms?

The analysis of algorithms, especially in the context of complexity theory in which you study the underlying computational problem (if you're attempting to do something more substantial than "Big-Oh" notation), does require a significant investment in time into graph theory and abstract algebra, all in addition to a huge dose of innate cleverness.


1 Answers

I actually recommend taking a discrete mathematics course at your local university. This helped me out tremendously. Until I had this, I did not understand recursion (which is based on mathematical induction.) There are a number of other concepts which you will learn in a good discrete mathematics course which are extremely, extremely helpful (graph theory, asymptotic notation, combinatorics...)

I also recommend taking the class for a grade. I have always noticed that this makes people take the course more seriously, even if it is not in line with a degree path or anything past the grade.

If your local university is good, they will likely have tutoring sessions and office hours available that you can go to in order to ask questions and get clarification. These are really, really valuable and helped me learn things in a deeper manner, and more quickly, than I ever could have on my own.

You may need to take calculus in order to meet the prerequisites, but that is something I would also recommend if you'd like to increase your mathematical literacy. This 'answer' will take at least a semester, and more like two, but I think this is the way to go. It's not an immediate solution, but you will become better at math if you perform well in these two classes (and you have a good university close by.)

Your profile says you are in Dallas. I found this course (with no prerequisites!) for you. The syllabus looks like it covered a lot of good material, and the course met at 5:30 p.m. (good for working people!). If they are offering anything similar next semester, I'd consider it. If you call up the instructor, I'm sure he'd be happy to talk with you about what he knows for summer and fall scheduling.

This path has worked well for me.

Good luck!

like image 137
Brian Stinar Avatar answered Sep 20 '22 13:09

Brian Stinar