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

পাইথন প্রোগ্রাম: দুটি লিংকড লিস্টের মধ্যে প্রথম কমন এলিমেন্ট খুঁজে বের করা

যখন দুটি লিংকড লিস্টের মধ্যে প্রথমবারघটিত কমন এলিমেন্ট খুঁজে বের করতে হয়, তখন লিংকড লিস্টে এলিমেন্ট যোগ করার মেথড এবং এই লিংকড লিস্টগুলোতে প্রথমবার ঘটিত কমন এলিমেন্ট পাওয়ার মেথড সংজ্ঞায়িত করা হয়।

উদাহরণ

class Node:
    def __init__(self, data):
        self.data = data
        self.next = None

class LinkedList_structure:
    def __init__(self):
        self.head = None
        self.last_node = None
    
    def add_vals(self, data):
        if self.last_node is None:
            self.head = Node(data)
            self.last_node = self.head
        else:
            self.last_node.next = Node(data)
            self.last_node = self.last_node.next

def first_common_val(list_1, list_2):
    curr_1 = list_1.head
    while curr_1:
        data = curr_1.data
        curr_2 = list_2.head
        while curr_2:
            if data == curr_2.data:
                return data
            curr_2 = curr_2.next
        curr_1 = curr_1.next
    return None

my_list_1 = LinkedList_structure()
my_list_2 = LinkedList_structure()
my_list = input('প্রথম লিংকড লিস্টের এলিমেন্টগুলো দিন: ').split()
for elem in my_list:
    my_list_1.add_vals(int(elem))
my_list = input('দ্বিতীয় লিংকড লিস্টের এলিমেন্টগুলো দিন: ').split()
for elem in my_list:
    my_list_2.add_vals(int(elem))
common_vals = first_common_val(my_list_1, my_list_2)
if common_vals:
    print('প্রথম লিংকড লিস্টে প্রথমে উপস্থিত এবং উভয়ই কমন এলিমেন্টটি হল {}.'.format(common_vals))
else:
    print('দুটি লিস্টের মধ্যে কোন কমন এলিমেন্ট নেই')

আউটপুট

প্রথম লিংকড লিস্টের এলিমেন্টগুলো দিন: 45 67 89 123 45
দ্বিতীয় লিংকড লিস্টের এলিমেন্টগুলো দিন: 34 56 78 99 0 11
দুটি লিস্টের মধ্যে কোন কমন এলিমেন্ট নেই

ব্যাখ্যা

  • Node ক্লাস তৈরি করা হয়েছে।

  • প্রয়োজনীয় অ্যাট্রিবিউটসহ LinkedList_structure ক্লাস তৈরি করা হয়েছে।

  • এতে একটি __init__ ফাংশন রয়েছে যা প্রথম এলিমেন্ট অর্থাৎ head-কে None-এ ইনিশিয়ালাইজ করে।

  • add_vals নামক একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা লিস্টে মান যোগ করতে সাহায্য করে।

  • first_common_val নামক একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা দুটি লিংকড লিস্টে পাওয়া প্রথম কমন মান খুঁজে বের করতে সাহায্য করে।

  • LinkedList_structure-এর দুটি ইনস্ট্যান্স তৈরি করা হয়েছে।

  • উভয় লিংকড লিস্টে এলিমেন্টগুলো যোগ করা হয়েছে।

  • এই লিংকড লিস্টগুলোতে first_common_val মেথডটি কল করা হয়েছে।

  • আউটপুট কনসোলে প্রদর্শিত হয়েছে।

  1. পাইথনে দেয়া সংখ্যার বাইনারি রিপ্রেজেন্টেশনে ১ বিটের সংখ্যা গণনা করার প্রোগ্রাম

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

  3. পাইথনে AP সিরিজের প্রথম টার্ম বের করা যা দেওয়া প্রাইমের গুণিতক

  4. পাইথন প্রোগ্রাম অ্যারেতে সবচেয়ে বড় এলিমেন্ট বের করা