i have learned that a program is measured by it’s complexity – i mean by Big O Notation.
why don’t we measure it by it’s absolute running time?
thanks 🙂
i have learned that a program is measured by it’s complexity – i mean
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
You use the complexity of an algorithm instead of absolute running times to reason about algorithms, because the absolute running time of a program does not only depend on the algorithm used and the size of the input. It also depends on the machine it’s running on, various implementations detail and what other programs are currently using system resources. Even if you run the same application twice with the same input on the same machine, you won’t get exactly the same time.
Consequently when given a program you can’t just make a statement like “this program will take 20*n seconds when run with an input of size n” because the program’s running time depends on a lot more factors than the input size. You can however make a statement like “this program’s running time is in O(n)”, so that’s a lot more useful.