Does a programmer need to know complex math in order to write efficient algorithms?
-
-
Answer:
If the algorithm is very math intensive, then yes, you may need complex math, but many algorithms do not need heavy math. Logic and understanding implementations are often more handy.
Jack Dahlgren at Quora Visit the source
Other answers
Depends on what the algorithm is for. Here, in pseudocode form, is an extremely efficient algorithm to print all the positive integers between 1 and N: x := 1 while x <= N: print x x := x + 1 Not much mathematical heavy lifting there, and you won't be able to improve much on that solution no matter how much of a math whiz you are. Many common, useful algorithms are closer in mathematical complexity to the above than to, say, Diffie-Hellman.
Steven Grimm
Not at all. You could just be lucky. But you may need complex math to prove that your algorithm is efficient. But no one forces you to do that.
Rob Weir
There are two sides for this story: 1. Implementing an already existing algorithm using your favorite language. This is where computer organization, and a good grasp of the environment where your code is going to run is fundamental. 2. Designing an algorithm from scratch (i.e coming up with a pseudocode) This field requires a decent amount of math. Especially if you are expected to prove that your algorithm is correct and to provide a given performance measure (i.e. time complexity or space requirements).
Radu Stoenescu
According to Webster, an algorithm is "a step-by-step procedure for solving a problem or accomplishing some end especially by a computer". So ANY step-by-step procedure you program is an algorithm! It doesn't have to be complicated. http://www.merriam-webster.com/dictionary/algorithm
Sam Swinton
It depends on the nature of problem you are trying to solve. In most of the cases basic mathematic skills are enough. Even if the problem requires complex calculations, you can always find third party APIs that will do all the heavy duty work for you.
Taymoor Khan
The most "complex" math I ever used in 40 years of software development was high school algebra. (I had to learn accounting to write an accounting program, but that's arithmetic.)If you develop scientific software that uses complex math you have 2 options. You can learn the math (which can take years) or you can have someone you're developing the program for write the equations for you, and plug them into the program. (I did that with a program dealing with optics - instead of learning optics, I had a technician write out the formulas I needed.)
Al Klein
Mathematics helps you rigorously prove your algorithm and it can also help you reason your way quickly towards the correct solution. Basically math is to software development what science is to other engineering disciplines.
Baker Kawesa
I don't think Big O notation http://en.wikipedia.org/wiki/Big_O_notation requires "complex math"
Fabien Benetou
Related Q & A:
- What do i need to know to become a Graphic designer?Best solution by Yahoo! Answers
- What are some things I need to know about living in Germany before I go there for a year?Best solution by Yahoo! Answers
- Do I need to know a lot of math and physics to obtain a private pilot's license?Best solution by Yahoo! Answers
- What do I need to know about buying a tv?Best solution by Yahoo! Answers
- Need to know how to write a monologue?Best solution by Yahoo! Answers
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.