What kind of math do I need to learn in order to understand Algorithm and Data Structures books?
Printable View
What kind of math do I need to learn in order to understand Algorithm and Data Structures books?
Need? I'd say you don't "need" anymore than you'll get in highschool to understand it. If you want to be good at it, just look at the curriculum for a CS major in a college. They have the math courses that will help you. Calculus 1, 2, and 3 are in there because they teach complex theory and logical solutions. If you're not at a level to start calculus, then finish your basic math first and continue with that.
Understanding matrices will prove very useful.
Yeah, It does make things clear, if you know good amount of math.
Believe me, I've learned the hard way.
Thanks for the replies. What would be the prerequisites one would need to tackle calculus?
A lot of time to spare and a good book.Quote:
Originally Posted by silk.odyssey
The expected prerequisites for calculus are Algebra, Geometry, and Trigonometry. You should be comfortable with factoring polynomials and your trigonometric identities. Basically, everything you'd learn in high school.Quote:
Originally Posted by silk.odyssey
I found calculus a lot easier than precalculus.
You need more advanced math when proving certain theorems (for example no search algo can be faster than O(nlog n)), but not much to understand the basic concepts.
Seconded. I also found I was more motivated to do it because it seemed more practical. Calculus was where they took all the crap-for-nothing (I know that doesn't make sense, but you know what I mean) theories you've been memorizing for no reason for years and actually applied them to something useful.Quote:
I found calculus a lot easier than precalculus.
Precalc is a bit steaming pile of ......
I hated the class and now I hate tutoring it. Mainly because everything I learned in Precalc was undone in Calc.
Now Linear Alegbra and Diff Eq have been a blast
Linear algebra is kicking my ass..
Specifically, you need basic algebra (polynomials included), you need to understand logarithmic and exponential functions, you should understand the definition of 'function,' and you should be capable of making and understanding logical arguments.Quote:
Originally Posted by silk.odyssey
Aside: Proving that generic comparison-based sorting algorithms (I assume that's what Sang-drax meant to type) cannot improve on O(n log n) only requires what is listed above.
True, nothing in Algorithms and Data structures requires advanced mathematical concepts, but 'elementary' doesn't mean 'easy'. :)Quote:
Originally Posted by Rashakil Fol
That is true :)