What kind of math do I need to learn in order to understand Algorithm and Data Structures books?
This is a discussion on Mathematics in Programming within the A Brief History of Cprogramming.com forums, part of the Community Boards category; What kind of math do I need to learn in order to understand Algorithm and Data Structures books?...
What kind of math do I need to learn in order to understand Algorithm and Data Structures books?
silk.odyssey
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.
Sent from my iPad®
Understanding matrices will prove very useful.
-Govtcheez
govtcheez03@hotmail.com
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?
silk.odyssey
A lot of time to spare and a good book.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.Originally Posted by silk.odyssey
Sent from my iPad®
I found calculus a lot easier than precalculus.
I'm not immature, I'm refined in the opposite direction.
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.
Last edited by Sang-drax : Tomorrow at 02:21 AM. Reason: Time travelling
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.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..
- "Problem Solving C++, The Object of Programming" -Walter Savitch
- "Data Structures and Other Objects using C++" -Walter Savitch
- "Assembly Language for Intel-Based Computers" -Kip Irvine
- "Programming Windows, 5th edition" -Charles Petzold
- "Visual C++ MFC Programming by Example" -John E. Swanke
- "Network Programming Windows" -Jones/Ohlund
- "Sams Teach Yourself Game Programming in 24 Hours" -Michael Morrison
- "Mathmatics for 3D Game Programming & Computer Graphics" -Eric Lengyel
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.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'.Originally Posted by Rashakil Fol
Last edited by Sang-drax : Tomorrow at 02:21 AM. Reason: Time travelling
That is true