Computer Networks

লিনিয়ার সার্চ এলগোরিদম

#পাইথনে ইমপ্লিমেন্টেশনঃ

লিনিয়ার সার্চ এলগোরিদম সবচেয়ে সহজ একটা এলগোরিদম । প্রথমে আমাদের একটা এরে/লিস্ট থাকবে। তারপর আমরা এই লিস্ট এর মধ্যে থেকে যে কোন একটা আইটেম খুঁজবো। এই খোঁজার সিস্টেম টা কেমন হবে? মানে আমরা কিভাবে খুঁজবো?  আমরা সিকুয়েন্সিয়েলি খুঁজবো একটা একটা করে আইটেমকে চেক করে। যদি আমরা আমাদের কাঙ্ক্ষিত আইটেমকে পেয়ে যাই তাহলে আমরা খোঁজা বন্ধ করে দিবো।এবং সেই  কাঙ্ক্ষিত আইটেমকে রিটার্ন/প্রিন্ট করবো। আর যদি না পাই তাহলে বলে দিবো যে আইটেম খুঁজে পাওয়া যায় নি ।

Linear Search Animation

উপরের ছবিটা ভালো করে খেয়াল করো। আশা করি এখন বুঝতে পেরেছ। এখনো না বুঝলে সমস্যা নাই। কোড ইমপ্লিমেন্ট করলে ক্লিয়ারলি বুঝবা ।

list=[2,3,5,7,8,10]
print("The list is : ",list)

প্রথমে আমরা একটা লিস্ট ডিক্লেয়ার করলাম। এতে আইটেম আছে ৬ টা । এবং এই লিস্ট টাকে প্রিন্ট করলাম।

i=flag=0

এবার আমরা দুইটা ভেরিয়েবল ডিক্লেয়ার করলাম। এই দুইটা ভেরিয়েবলই আমাদের while লুপের জন্য কাজে লাগবে। ইনিশিয়ালি দুটাকেই শুন্য করে রাখলাম।

a=int(input("Enter the item you want to search : "))

এখন আমরা যেই আইটেম টাকে খুঁজবো অইটা ইনপুট দিবো।

while i<len(list):
    if a==list[i]:

        flag=1
        break
    i=i+1

এইখানে আমরা while loop ব্যাবহার করলাম। যখন i =(0) এর ভেলু  len(list)=(6) এর ছোট তখন যদি আমার ইনপুট এবং লিস্ট আইটেম টা মিলে যায় তাহলে flag=1 হবে(মানে আমরা আইটেমকে পেয়ে গেছি) এবং লুপ   break করবে। flag=1 এর জন্য আমরা নিচে কোড লিখব। এখন আমরা যদি আমাদের কাঙ্ক্ষিত আইটেমকে না খুঁজে পাই তাহলে i এর ভেলু এক এক করে ভাড়াব । এবং সেটাকে লুপে পুনরায় পাঠাব আবার চেক করার জন্য । এভাবেই লুপ চলতে থাকবে। যখন i এর ভেলু en(list) এর সমান হবে তখন লুপ ব্রেক করবে। তার মানে আমাদের সবগুলা আইটেম চেক করা শেষ।

if flag==1:
    print("Your item is in ",i+1,"th Position")
else:
    print("Sorry! your item isn't exit here.")

এখানে  flag==1 হলে , মানে আমাদের আইটেম কে খুঁজে পেলে এখানে প্রিন্ট করে দেখাব।আর যদি না পাই তাহলেও বলে দিবো যে আইটেম খুঁজে পাওয়া যায় নি ।

আশা করা যাচ্ছে এখন অনেকটাই ক্লিয়ার। এই কোডটাকে রান করে বুঝার চেষ্টা করো  এখনই। সবগুলা সার্চ  এলগোরিদম এর মধ্যে লিনিয়ার সার্চ এলগোরিদম তাই সবচেয়ে সহজ।

 

 

linear.PNG

গিঁটহাবে এই প্রোগ্রাম এর সোর্স কোড পাওয়া যাবে ঃ  https://github.com/Revel109/Linear-Search-Algorithm—————————

আর বুঝতে কোন সমস্যা হলে মেসেজঃ https://www.facebook.com/RevelYusuf

 

যারা “সি” তে ইমপ্লিমেন্ট করতে চাও, হাসান ভাইয়ের  সাইটে  অনেক ভালো ভাবে বুঝানো হয়েছে ঃ  http://hellohasan.com/2016/10/14/%E0%A6%B2%E0%A6%BF%E0%A6%A8%E0%A6%BF%E0%A7%9F%E0%A6%BE%E0%A6%B0-%E0%A6%B8%E0%A6%BE%E0%A6%B0%E0%A7%8D%E0%A6%9A-linear-search-algorithm/

 

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s