স্ট্যাক হল লাস্ট ইন ফার্স্ট আউট (LIFO) ডেটা স্ট্রাকচার। এই ডেটা স্ট্রাকচারের বিভিন্ন দিক থেকে কিছু গুরুত্বপূর্ণ অ্যাপ্লিকেশন রয়েছে। এগুলো নিচের মত -
- এক্সপ্রেশন হ্যান্ডলিং −
-
ইনফিক্স টু পোস্টফিক্স অথবা ইনফিক্স টু প্রিফিক্স কনভার্সন −
স্ট্যাকটি কিছু ইনফিক্স এক্সপ্রেশনকে তার পোস্টফিক্স সমতুল্য, বা উপসর্গ সমতুল্য রূপান্তর করতে ব্যবহার করা যেতে পারে। এই পোস্টফিক্স বা উপসর্গ স্বরলিপি কিছু অভিব্যক্তি প্রকাশ করতে কম্পিউটারে ব্যবহৃত হয়। এই অভিব্যক্তিগুলি ইনফিক্স এক্সপ্রেশনের সাথে এতটা পরিচিত নয়, তবে তাদের কিছু দুর্দান্ত সুবিধাও রয়েছে। আমাদের অপারেটর অর্ডারিং এবং বন্ধনী বজায় রাখার দরকার নেই।
-
পোস্টফিক্স বা উপসর্গ মূল্যায়ন −
উপসর্গ বা পোস্টফিক্স নোটেশনে রূপান্তর করার পরে, ফলাফল পেতে আমাদের অভিব্যক্তিটি মূল্যায়ন করতে হবে। সেই উদ্দেশ্যে, আমাদের স্ট্যাক ডেটা স্ট্রাকচারের সাহায্যও প্রয়োজন।
-
-
ব্যাকট্র্যাকিং পদ্ধতি -
ব্যাকট্র্যাকিং হল অ্যালগরিদম ডিজাইনিং কৌশলগুলির মধ্যে একটি। সেই উদ্দেশ্যে, আমরা কোনও পথে ডুব দিই, যদি সেই পথটি কার্যকর না হয়, আমরা আবার আগের অবস্থায় ফিরে আসি এবং অন্য কোনও পথে চলে যাই। বর্তমান অবস্থা থেকে ফিরে পেতে, আমাদের পূর্ববর্তী অবস্থা সংরক্ষণ করতে হবে। যে উদ্দেশ্যে, আমরা স্ট্যাক প্রয়োজন. ব্যাকট্র্যাকিংয়ের কিছু উদাহরণ হল নাইট ট্যুর সমস্যা বা এন-কুইন সমস্যা ইত্যাদির সমাধান খুঁজে বের করা।
- স্ট্যাকের আরেকটি দুর্দান্ত ব্যবহার হল ফাংশন কল এবং রিটার্ন প্রক্রিয়া চলাকালীন। যখন আমরা অন্য একটি ফাংশন থেকে একটি ফাংশন কল, সেই ফাংশন কল স্টেটমেন্ট প্রথম বিবৃতি নাও হতে পারে। ফাংশনটি কল করার পরে, আমাদেরও ফাংশন এলাকা থেকে সেই জায়গায় ফিরে আসতে হবে, যেখানে আমরা আমাদের নিয়ন্ত্রণ ছেড়ে দিয়েছি। তাই আমরা আমাদের কাজ পুনরায় শুরু করতে চাই, পুনরায় চালু করতে চাই না। সেই কারণে, আমরা প্রোগ্রাম কাউন্টারের ঠিকানা স্ট্যাকের মধ্যে সংরক্ষণ করি, তারপর এটি কার্যকর করতে ফাংশন বডিতে যাই। এক্সিকিউশন শেষ হওয়ার পরে, এটি স্ট্যাক থেকে ঠিকানাটি পপ আউট করে এবং আবার কাজটি পুনরায় শুরু করার জন্য এটিকে প্রোগ্রাম কাউন্টারে বরাদ্দ করে।