কম্পিউটার

পাইথনে লাইব্রেরি সেট ক্লাস ব্যবহার না করে সেট ডেটা স্ট্রাকচার সংজ্ঞায়িত করার জন্য প্রোগ্রাম


ধরুন আমরা নিম্নলিখিত পদ্ধতিগুলির সাথে একটি সেট ডেটা স্ট্রাকচার বাস্তবায়ন করতে চাই -

  • একটি সেটের একটি নতুন দৃষ্টান্ত তৈরি করতে কনস্ট্রাক্টর
  • সেটের মধ্যে পূর্ণসংখ্যা ভাল সন্নিবেশ করতে যোগ(val) করুন
  • ভ্যাল সেটে আছে কি না তা পরীক্ষা করার জন্য
  • exists(val)
  • সেট থেকে ভ্যাল অপসারণ করতে (val) সরান

সুতরাং, যদি আমরা একটি সেট তৈরি করি, তাহলে s.add(10), s.add(20), s.add(10), s.exists(10), s.remove(10), s.exists(কে কল করুন। 10), s.exists(20), তারপর আউটপুট হবে

  • s.add(10) এর জন্য এটি 10 ​​সন্নিবেশ করবে
  • s.add(20) এর জন্য এটি 20 সন্নিবেশ করবে
  • 10 ইতিমধ্যে s-এ আছে, তাই কিছুই হবে না
  • s.exists(10) 10 আছে বলে true ফিরে আসবে
  • s.remove(10) দ্বারা 10 মুছুন
  • s.exists(10) মিথ্যা ফেরত দেবে কারণ 10 সরানো হয়েছে এবং একটি উপাদান শুধুমাত্র একবার সেখানে থাকতে পারে
  • s.exists(20) সত্য ফিরে আসবে কারণ সেখানে 20 উপস্থিত রয়েছে।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • নির্মাণকারীকে সংজ্ঞায়িত করুন।
  • বালতি :=একটি খালি মানচিত্র এবং এতে ডেটার একটি তালিকা থাকবে
  • একটি ফাংশন সংজ্ঞায়িত করুন add()। এটি ভাল লাগবে
  • যদি বিদ্যমান (ভাল) মিথ্যা হয়, তাহলে
    • বালতির শেষে val সন্নিবেশ করান[val]
  • একটি ফাংশন বিদ্যমান() সংজ্ঞায়িত করুন। এটি ভাল লাগবে
  • ভ্যাল বালতিতে থাকলে সত্য প্রত্যাবর্তন করুন[val], অন্যথায় মিথ্যা
  • একটি ফাংশন রিমুভ () সংজ্ঞায়িত করুন। এটি ভাল লাগবে
  • বালতি মুছুন[ভাল]

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

from collections import defaultdict
class MySet:
   def __init__(self):
      self.buckets = defaultdict(list)

   def add(self, val):
      if not self.exists(val):
         self.buckets[val].append(val)

   def exists(self, val):
      return val in self.buckets[val]

   def remove(self, val):
      del self.buckets[val]

s = MySet()
s.add(10)
s.add(20)
s.add(10)
print(s.exists(10))
s.remove(10)
print(s.exists(10))
print(s.exists(20))

ইনপুট

s = MySet()
s.add(10)
s.add(20)
s.add(10)
s.exists(10)
s.remove(10)
s.exists(10)
s.exists(20)

আউটপুট

True
False
True

  1. পাইথনে 'seaborn' লাইব্রেরি ব্যবহার করে কীভাবে ডেটা দৃশ্যমানভাবে উপস্থাপন করা যেতে পারে?

  2. পাইথন প্রোগ্রামে কোনো লুপ ব্যবহার না করেই নম্বর সিরিজ প্রিন্ট করুন

  3. কোনো লুপ ব্যবহার না করেই প্রিন্ট নম্বর সিরিজের জন্য পাইথন প্রোগ্রাম

  4. পাইথনে অনুসন্ধানমূলক ডেটা বিশ্লেষণ