একটি স্থির আকারের অ্যারে ব্যবহার করে দুটি স্ট্যাক দক্ষতার সাথে প্রয়োগ করা যেতে পারে: স্ট্যাক # 1 বাম প্রান্ত থেকে শুরু হয়ে ডানদিকে বৃদ্ধি পায় এবং স্ট্যাক # 2 ডান প্রান্ত থেকে শুরু হয়ে বাম দিকে বৃদ্ধি পায়। তিনটি স্ট্যাকের জন্য কি একই রকম?
আরও সুনির্দিষ্টভাবে, নিম্নলিখিত শর্তাবলী দ্বারা তিনটি স্ট্যাক প্রয়োগ করা সম্ভব:
- আপনার কাছে একটি নির্দিষ্ট আকারের অ্যারে রয়েছে যা এন অবজেক্টগুলিকে ধরে রাখতে পারে।
- তিনটি স্ট্যাকের আকারের যোগফল যতক্ষণ না <এন হয়, চাপ () ব্যর্থ হওয়া উচিত নয় should
- উভয় পুশ () এবং পপ () অপারেশনগুলিতে ও (1) সময় নিতে হবে।
- অ্যারে ছাড়াও, আপনি কেবল ও (1) অতিরিক্ত স্থান ব্যবহার করতে পারেন।
এখানে সমাধান যে কি উদাহরণ না এই প্রয়োজনীয়তা সন্তুষ্ট:
- অ্যারেটিকে 3 টি নির্দিষ্ট অংশে বিভক্ত করা এবং প্রতিটি অংশ স্ট্যাকের জন্য ব্যবহার করা (2 লঙ্ঘন করে)।
- উপরের মত তবে স্ট্যাকের মধ্যে অস্থাবর সীমানা (3 লঙ্ঘন করে)।
- সরল সংযুক্ত-তালিকা ভিত্তিক বাস্তবায়ন (4 লঙ্ঘন করে)।
আমি অ-তুচ্ছ অ্যালগরিদম বা অসম্ভবতা প্রমাণ গ্রহণ করব যদিও তারা সমস্ত শর্ত পূরণ না করে (1) - (4) উদাহরণস্বরূপ, এমন একটি অ্যালগরিদম যেখানে ধাক্কা / পপ O (1) মোড়িত সময় নেয়, বা যেখানে অতিরিক্ত মেমরি ও (এন) এর চেয়ে ছোট, যেমন ও (লগ এন)। বা একটি অসম্ভবতা প্রমাণ যা দেখায় যে উদাহরণস্বরূপ, প্রতি পুশ / পপ প্রতি অ্যারের 5 টিরও কম উপাদান অ্যাক্সেস করা অসম্ভব।