এমোরিটাইজড এনালাইসিস কী? এবং কীভাবে এটি আমাকে আমার প্রোগ্রামগুলিতে খারাপের পারফরম্যান্স গ্যারান্টি অর্জন করতে সহায়তা করতে পারে ?
আমি পড়ছিলাম যে নিম্নলিখিত কৌশলগুলি প্রোগ্রামারকে সবচেয়ে খারাপ ক্ষেত্রে পারফরম্যান্স গ্যারান্টি অর্জনে সহায়তা করতে পারে (যেমন আমার নিজের ভাষায়: গ্যারান্টি দিন যে কোনও প্রোগ্রামের চলমান সময়টি খারাপ সময়ের মধ্যে চলমান সময়ের চেয়ে বেশি হবে না):
- র্যান্ডমাইজড অ্যালগরিদম (উদাহরণস্বরূপ কুইকসোর্ট অ্যালগরিদম সবচেয়ে খারাপ ক্ষেত্রে চতুর্ভুজযুক্ত, তবে এলোমেলোভাবে ইনপুট অর্ডার করা একটি সম্ভাব্য গ্যারান্টি দেয় যে এটির চলমান সময়টি রৈখিক সময় হয়)
- ক্রিয়াকলাপের অনুক্রম (আমাদের বিশ্লেষণ অবশ্যই ডেটা এবং ক্লায়েন্ট দ্বারা সম্পাদিত ক্রিয়াকলাপ উভয় বিবেচনায় নিতে হবে)
- এমোরিটাইজড বিশ্লেষণ (পারফরম্যান্স গ্যারান্টি সরবরাহের আর একটি উপায় হ'ল অপারেশনের সংখ্যাকে বিভক্ত করে সমস্ত ক্রিয়াকলাপের মোট ব্যয়ের উপর নজর রেখে ব্যয়কে সামঞ্জস্য করা। এই সেটিংয়ে, আমরা গড় ব্যয় রেখে কিছু ব্যয়বহুল ক্রিয়াকলাপের অনুমতি দিতে পারি অপারেশন কম। অন্য কথায়, আমরা কয়েকটি ব্যয়বহুল ক্রিয়াকলাপের ব্যয় ছড়িয়ে দিয়েছি, বিপুল সংখ্যক ব্যয়বহুল অপারেশনের প্রতিটিটির জন্য একটি অংশ অর্পণ করে)
লেখক কীভাবে amorised বিশ্লেষণ অর্জনের একটি উদাহরণ হিসাবে স্ট্যাকের জন্য অ্যারে ডেটা স্ট্রাকচারের ব্যবহারের উল্লেখ করেছেন তবে আমি এখনও বুঝতে পারি না amorised বিশ্লেষণ কী, এবং কীভাবে এটি বাস্তবায়িত করা যায় (ডেটা স্ট্রাকচার? অ্যালগরিদম?) কীভাবে খারাপ অর্জন করা যায়? কাস্টম পারফরম্যান্স গ্যারান্টি