লিঙ্ক করা প্রশ্নের উত্তরে যেমন উল্লেখ করা হয়েছে, একটি অ্যালগরিদমের সময় জটিলতা O(লগ n) থাকার একটি সাধারণ উপায় হল সেই অ্যালগরিদমের জন্য বারবার ইনপুটের আকার কমিয়ে কাজ করা। প্রতিটি পুনরাবৃত্তির কিছু ধ্রুবক ফ্যাক্টর দ্বারা.
log n এর অর্থ কি?
O(log N) মূলত সময় রৈখিকভাবে উপরে যায় যখন n দ্রুতগতিতে উঠে যায়। সুতরাং যদি 10টি উপাদান গণনা করতে 1 সেকেন্ড সময় লাগে, 100টি উপাদান গণনা করতে 2 সেকেন্ড, 1000টি উপাদান গণনা করতে 3 সেকেন্ড এবং আরও অনেক কিছু লাগবে। এটি হল O(log n) যখন আমরা অ্যালগরিদমের ধরনকে ভাগ করি এবং জয় করি যেমন বাইনারি অনুসন্ধান।
O এবং লগ n কি?
n আকারের ইনপুটের জন্য, O(n)-এর একটি অ্যালগরিদম n এর জন্য পারস্পরিক পদক্ষেপগুলি সম্পাদন করবে, যখন O(log(n)) এর আরেকটি অ্যালগরিদম ধাপগুলি সম্পাদন করবে মোটামুটি log(n)। স্পষ্টতই log(n) n এর থেকে ছোট তাই জটিলতার অ্যালগরিদম O(log(n)) ভাল৷
আপনি কীভাবে লগ এন গণনা করবেন?
ধারণাটি হল যে একটি অ্যালগরিদম হল O(log n) যদি একটি কাঠামো 1 দ্বারা 1 স্ক্রোল করার পরিবর্তে, আপনি কাঠামোটিকে বারবার অর্ধেকে ভাগ করেন এবং প্রতিটি বিভাজনের জন্য একটি ধ্রুবক সংখ্যক ক্রিয়াকলাপ করেন। সার্চ অ্যালগরিদম যেখানে উত্তরের স্থান বিভক্ত হতে থাকে তা হল O(log n).
লগ এন স্কোয়ার কি?
লগ ^2 (
) এর মানে হল যে এটি আকারের সমস্যার জন্য log এর log এর সমানুপাতিক
লগ(
)^ 2 মানে হল এটা বর্গ log.