ডেটা টাইপ মূলত ডেটার একটি টাইপ যা বিভিন্ন কম্পিউটার প্রোগ্রামে ব্যবহার করা যায়। এটি টাইপ বোঝায় যেমন ইন্টিজার, ফ্লোয়াট ইত্যাদি, স্পেস বোঝায় যেমন ইন্টিজার ৪-বাইট নেবে, ক্যারেক্টার ১-বাইট স্পেস নেবে ইত্যাদি।
অবস্ট্রাক্ট ডেটা টাইপ হল ডেটা টাইপের একটি বিশেষ ধরন, যেসের আচরণ একটি ভ্যালু সেট এবং অপারেশন সেট দ্বারা ডিফাইন করা হয়। "Abstract" শব্দটি ব্যবহৃত হয় কারণ আমরা এই ডেটা টাইপগুলো ব্যবহার করতে পারি, বিভিন্ন অপারেশন পারফর্ম করতে পারি। কিন্তু সেসব অপারেশন কিভাবে কাজ করে সেটি ইউজার থেকে সম্পূর্ণ লুকিয়ে থাকে। ADT প্রিমিটিভ ডেটা টাইপ দিয়ে তৈরি হয়, কিন্তু অপারেশন লজিক লুকিয়ে থাকে।
ADT-এর কিছু উদাহরণ হল Stack, Queue, List ইত্যাদি।
উল্লেখিত ADT-এর কিছু অপারেশন দেখি -
- Stack -
- isFull(), এটি চেক করতে ব্যবহৃত হয় স্ট্যাক ফুল কিনা
- isEmpty(), এটি চেক করতে ব্যবহৃত হয় স্ট্যাক খালি কিনা
- push(x), এটি x কে স্ট্যাকে পুশ করতে ব্যবহৃত হয়
- pop(), এটি স্ট্যাকের টপ থেকে একটি এলিমেন্ট ডিলিট করতে ব্যবহৃত হয়
- peek(), এটি স্ট্যাকের টপমোস্ট এলিমেন্ট পাওয়ার জন্য ব্যবহৃত হয়
- size(), এই ফাংশন স্টাকে উপস্থিত এলিমেন্টের সংখ্যা পাওয়ার জন্য ব্যবহৃত হয়
- Queue -
- isFull(), এটি চেক করতে ব্যবহৃত হয় কিউ ফুল কিনা
- isEmpty(), এটি চেক করতে ব্যবহৃত হয় কিউ খালি কিনা
- insert(x), এটি x কে কিউর রিয়ার এন্ডে যোগ করতে ব্যবহৃত হয়
- delete(), এটি কিউর ফ্রন্ট এন্ড থেকে একটি এলিমেন্ট ডিলিট করতে ব্যবহৃত হয়
- size(), এই ফাংশন কিউতে উপস্থিত এলিমেন্টের সংখ্যা পাওয়ার জন্য ব্যবহৃত হয়
- List -
- size(), এই ফাংশন লিস্টে উপস্থিত এলিমেন্টের সংখ্যা পাওয়ার জন্য ব্যবহৃত হয়
- insert(x), এই ফাংশন লিস্টে একটি এলিমেন্ট ইনসার্ট করতে ব্যবহৃত হয়
- remove(x), এই ফাংশন লিস্ট থেকে দিয়ে গিয়ে এলিমেন্ট রিমুভ করতে ব্যবহৃত হয়
- get(i), এই ফাংশন i পজিশনের এলিমেন্ট পাওয়ার জন্য ব্যবহৃত হয়
- replace(x, y), এই ফাংশন x কে y ভ্যালুতে রিপ্লেস করতে ব্যবহৃত হয়