বর্তমানে এই প্রশ্নের জবাব দেওয়ার প্রতিটি উত্তর আপনাকে বলবে যে এর 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;
}
এটি কারণ আমাদের অ্যারে মাধ্যমে পুনরুক্তি করতে হবে প্রতিটি উপাদান একবারে একবারে পরীক্ষা করে।