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

পাইথন - Deque (ডিক) ডেটা স্ট্রাকচার

পাইথনে deque হল স্ট্যাক এবং কিউর মতো একটি ডেটা স্ট্রাকচার। এটি কিউর দুটি প্রান্ত থেকে append এবং pop অপারেশন অনুমতি দেয়। এবং এটিই এটিকে বাকি ডেটা স্ট্রাকচার থেকে আলাদা করে। deque-এ প্রয়োগ্য বিভিন্ন অপারেশন নিচে লিস্ট করা হলো। এই আর্টিকেলে আমরা প্রতিটি অপারেশনের উদাহরণ দেখব। collections মডিউল deque ইমপ্লিমেন্ট করতে ব্যবহৃত হয়।

Deque Operations

নিচে deque ব্যবহার করে করা যাবে কিছু উপকারী অপারেশন:

  • append() - এই ফাংশন তার আর্গুমেন্টের ভ্যালুটিকে deque-এর ডানে ইনসার্ট করে।
  • appendleft() - এই ফাংশন তার আর্গুমেন্টের ভ্যালুটিকে deque-এর বামে ইনসার্ট করে।
  • pop() - এই ফাংশন deque-এর ডান প্রান্ত থেকে একটি আর্গুমেন্ট ডিলিট করে।
  • popleft() - এই ফাংশন deque-এর বাম প্রান্ত থেকে একটি আর্গুমেন্ট ডিলিট করে।
  • extend(iterable) - এই ফাংশন deque-এর ডান প্রান্তে একাধিক ভ্যালু যোগ করে। আর্গুমেন্টটি একটি ইটারেবল।
  • extendleft(iterable) - এই ফাংশন deque-এর বাম প্রান্তে একাধিক ভ্যালু যোগ করে। আর্গুমেন্টটি একটি ইটারেবল। বামে অ্যাপেন্ড হওয়ার ফলে অর্ডার রিভার্স হয়।
  • reverse() - এই ফাংশন deque এলিমেন্টগুলোর অর্ডার রিভার্স করে।
  • rotate() - এই ফাংশন আর্গুমেন্টে নির্দিষ্ট সংখ্যা দিয়ে deque রোটেট করে। যদি সংখ্যাটি নেগেটিভ হয়, রোটেশন বামে হয়। অন্যথায় ডানে।

উদাহরণ

নিচের প্রোগ্রামটি দেখায় উপরের অপারেশনগুলো deque এবং collections মডিউল ব্যবহার করে কীভাবে ইমপ্লিমেন্ট করা যায়।

import collections
de = collections.deque([10,20,30,40])
print(de)
de.append(50)
print("\nAppending at right the deque is : ")
print(de)
de.appendleft(60)
print("\nAppending at left the deque is : ")
print(de)
de.pop()
print("\nDeleting from right the deque is: ")
print(de)
de.popleft()
print("\nDeleting from left the deque is: ")
print(de)
de.extend([70,80])
print("\nExtending deque at end is : ")
print(de)
de.extendleft([100,90])
print("\nExtending deque at beginning is : ")
print(de)
de.rotate(-2)
print("\nRotating deque is : ")
print(de)
de.reverse()
print("\nReversing deque is : ")
print(de)

আউটপুট

উপরোক্ত কোডটি রান করলে নিচের ফলাফল পাওয়া যায়:

deque([10, 20, 30, 40])
Appending at right the deque is : deque([10, 20, 30, 40, 50])
Appending at left the deque is : deque([60, 10, 20, 30, 40, 50])
Deleting from right the deque is: deque([60, 10, 20, 30, 40])
Deleting from left the deque is: deque([10, 20, 30, 40])
Extending deque at end is : deque([10, 20, 30, 40, 70, 80])
Extending deque at beginning is : deque([90, 100, 10, 20, 30, 40, 70, 80])
Rotating deque is : deque([10, 20, 30, 40, 70, 80, 90, 100])
Reversing deque is : deque([100, 90, 80, 70, 40, 30, 20, 10])

  1. পাইথনে issuperset() ফাংশন

  2. পাইথনে Quine প্রোগ্রাম (স্ব-প্রजनনকারী কোড)

  3. পাইথনে Deque

  4. পাইথন কন্টেইনার ডেটা টাইপ