वर्तमान में इस प्रश्न का उत्तर देने वाला प्रत्येक उत्तर आपको बताता है कि O(1)निरंतर समय (जो कुछ भी मापने के लिए होता है; रनटाइम हो सकता है, संचालन की संख्या, आदि)। यह सही नहीं है।
यह कहने के लिए कि रनटाइम का O(1)मतलब है कि एक स्थिरांक cऐसा है कि रनटाइम cइनपुट से स्वतंत्र होकर ऊपर से घिरा हुआ है । उदाहरण के लिए, nपूर्णांकों की एक सरणी का पहला तत्व लौटाना है O(1):
int firstElement(int *a, int n) {
return a[0];
}
लेकिन यह समारोह O(1)भी है:
int identity(int i) {
if(i == 0) {
sleep(60 * 60 * 24 * 365);
}
return i;
}
यहां रनटाइम 1 वर्ष से ऊपर है, लेकिन अधिकांश समय रनोस नैनोसेकंड के क्रम पर होता है।
यह कहने के लिए कि रनटाइम का O(n)मतलब है कि एक स्थिरांक cऐसा है कि रनटाइम ऊपर से घिरा हुआ है c * n, जहां nइनपुट के आकार को मापता है। उदाहरण के लिए, nनिम्नलिखित एल्गोरिथ्म द्वारा पूर्णांक के एक असंक्रमित सरणी में किसी विशेष पूर्णांक की घटनाओं की संख्या का पता लगाना है O(n):
int count(int *a, int n, int item) {
int c = 0;
for(int i = 0; i < n; i++) {
if(a[i] == item) c++;
}
return c;
}
ऐसा इसलिए है क्योंकि हमें सरणी के माध्यम से प्रत्येक तत्व को एक बार में निरीक्षण करना होगा।