হ্যা অবশ্যই. এটি সূক্ষ্ম এবং পুরোপুরি গ্রহণযোগ্য। অ্যালগরিদমগুলি দেখতে এটি সাধারণ এবং মানক যার চলমান সময় দুটি পরামিতিগুলির উপর নির্ভর করে।
উদাহরণস্বরূপ, আপনি প্রায়শই হিসাবে প্রকাশিত গভীরতার প্রথম অনুসন্ধানের চলমান সময় দেখতে পাবেন , যেখানে এন হ'ল কোণের সংখ্যা এবং এম গ্রাফের প্রান্তগুলির সংখ্যা। এটি পুরোপুরি বৈধ। এর অর্থ এখানে রয়েছে একটি ধ্রুবক গ । অন্য কথায়, যদি চলমান সঠিক সময়টি f ( n , m ) হয় তবে আমরা বলি যে f ( n , m ) = O ( n + m ) থাকে যদি c , n 0 থাকেO(n+m)nmc এবং সংখ্যাগুলি যেমন অ্যালগরিদমের চলমান সময় সর্বাধিক সি ⋅ ( এন + মি ) হয় , সমস্ত এন > এন 0 , এম > মি 0n0,m0c⋅(n+m)n>n0,m>m0f(n,m)f(n,m)=O(n+m)c,n0,m0 যেমন এবং m > মি 0 এর অর্থ f ( n , m ) ≤ c ⋅ ( n + m )n>n0m>m0f(n,m)≤c⋅(n+m)।
হ্যাঁ, এটি পুরোপুরি উপযুক্ত এবং গ্রহণযোগ্য যে প্রথম পর্যায়ে সময় লাগে এবং দ্বিতীয় পর্যায়ে O ( মি ) সময় লাগে ।O(n)O(m)
গুরুত্বপূর্ণ: আপনি এবং এম কী তা নির্ধারণ করেছেন তা নিশ্চিত করুন । আপনি কী বলতে পারবেন না "এটি একটি ও ( এন ) সময়ের অ্যালগরিদম" এন কী তা উল্লেখ না করেই । যদি সমস্যা বিবৃতিতে n নির্দিষ্ট না করা থাকে তবে আপনার এটি নির্দিষ্ট করা দরকার। উদাহরণস্বরূপ, গ্রাফ অ্যালগরিদমগুলি দেখুন, যেখানে আমরা সাধারণত প্রান্তিকের n = # এবং প্রান্তের m = # সংজ্ঞা করি।nmO(n)nnn=m=
যতক্ষণ না আপনি তাদের সময় হিসাবে কল করতে পারেন , না, অবশ্যই না - আপনি যদি কোনওভাবে এম = ও ( এন ) না জেনে থাকেন । অবশ্যই, যদি আপনি জানেন যে এম = ও ( এন ) , তবে এটি অনুসরণ করেO(n)m=O(n)m=O(n) , সুতরাং একটি হে ( এম + এন ) সময়ের অ্যালগরিদম হল ও ( এন ) সময়ের অ্যালগরিদমও। তবে এর কোনও গ্যারান্টি না থাকলে মি = হে (m+n=O(n)O(m+n)O(n) , তারপরে আপনি এটিকে ও ( এন ) সময়ের অ্যালগরিদমবলতে পারবেন না।m=O(n)O(n)
এটি বেসিক স্টাফ। আপনি এটি সমস্ত আলগোরিদিম পাঠ্যপুস্তকগুলিতে খুঁজে পাবেন।