কম্পিউটার টিউটোরিয়াল

অморটাইজড অ্যানালিসিস

অморটাইজড অ্যানালিসিস

এই অ্যানালিসিস তখন ব্যবহৃত হয় যখন কখনও কখনও অপারেশন খুব ধীর হয়, কিন্তু অধিকাংশ অপারেশন যা খুব কমেন্সি এক্সিকিউট হয় সেগুলো দ্রুত হয়। হ্যাশ টেবিল, ডিসজয়েন্ট সেটস ইত্যাদি ডেটা স্ট্রাকচার জন্য আমোরটাইজড অ্যানালিসিস দরকার।

হ্যাশ টেবিলে অধিকাংশ সময় সার্চিং টাইম কমপ্লেক্সিটি O(1), কিন্তু কখনও কখনও এটি O(n) অপারেশন এক্সিকিউট করে। হ্যাশ টেবিলে এলিমেন্ট সার্চ বা ইনসার্ট করার সময় অধিকাংশ কেসে এটি কনস্ট্যান্ট টাইম নেয়, কিন্তু колиশন হলে 충돌 রেজোলিউশনের জন্য O(n) টাইম অপারেশন দরকার হয়।

এগ্রিগেট মেথড

এগ্রিগেট মেথড মোট খরচ বের করতে ব্যবহৃত হয়। যদি আমরা অনেক ডেটা যোগ করতে চাই, তবে আমরা এই ফর্মুলা দিয়ে অমোরটাইজড কস্ট বের করি।

n সংখ্যক অপারেশনের সিকোয়েন্সের জন্য, খরচ হলো -

অморটাইজড অ্যানালিসিস

অমোরটাইজড অ্যানালিসিসের উদাহরণ

ডাইনামিক অ্যারে জন্য, একটি নির্দিষ্ট ইন্ডেক্সে আইটেম ইনসার্ট করা O(1) টাইমে সম্ভব। কিন্তু যদি সে ইন্ডেক্স অ্যারেতে না থাকে, তবে এটি কনস্ট্যান্ট টাইমে টাস্ক সম্পন্ন করতে ব্যর্থ হয়। সেক্ষেত্রে, এটি প্রাথমিকভাবে অ্যারের আকার ডাবল করে তারপর এলিমেন্ট ইনসার্ট করে যদি ইন্ডেক্স উপস্থিত থাকে।

অморটাইজড অ্যানালিসিস

ডাইনামিক অ্যারের জন্য, ci = i-তম ইনসারশনের কস্ট।

অморটাইজড অ্যানালিসিস

  1. অমোরটাইজড কমপ্লেক্সিটি

  2. অ্যাসিম্পটোটিক কমপ্লেক্সিটি

  3. ডেটা স্ট্রাকচারে অ্যামোর্টাইজড টাইম কমপ্লেক্সিটি

  4. পাইথনে ভেক্টরাইজেশন (Vectorization) – পারফরম্যান্স অপ্টিমাইজেশন