I’ve been noticing answers on stack overflow that use terms like these, but I don’t know what they mean. What are they called and is there a good resource that can explain them in simple terms?
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.
That notation is called Big O notation, and is used as a shorthand to express algorithmic complexity (basically how long a given algorithim will take to run as the input size (n) grows)
Generally speaking, you’ll run into the following major types of algorithims:
Generally you can get a rough gauge of the complexity of an algorithim by looking at how it’s used. For example, looking at the following method:
There’s a few things that have to be done here:
There’s a few operations that run in constant time here (the first two and the last), since the size of x wouldn’t affect how long they take to run. As well, there are some operations that run in linear time (since they are run once for each entry in x). With Big O notation, the algorithim is simplified to the most complex, so this sum algorithim would run in O(n)