কম্পিউটার

নিষ্পাপ প্যাটার্ন অনুসন্ধান


অন্যান্য প্যাটার্ন সার্চিং অ্যালগরিদমগুলির মধ্যে সাদাসিধে প্যাটার্ন অনুসন্ধান হল সবচেয়ে সহজ পদ্ধতি৷ এটি প্যাটার্নে প্রধান স্ট্রিংয়ের সমস্ত চরিত্রের জন্য পরীক্ষা করে। এই অ্যালগরিদম ছোট টেক্সট জন্য সহায়ক. এটির কোন প্রাক-প্রক্রিয়াকরণ পর্যায়গুলির প্রয়োজন নেই। আমরা স্ট্রিং একবার চেক করে সাবস্ট্রিং খুঁজে পেতে পারি। এটি অপারেশন করার জন্য অতিরিক্ত স্থান দখল করে না।

নেভ প্যাটার্ন অনুসন্ধান পদ্ধতির সময় জটিলতা হল O(m*n)। m হল প্যাটার্নের আকার এবং n হল প্রধান স্ট্রিং এর আকার।

ইনপুট এবং আউটপুট

ইনপুট:প্রধান স্ট্রিং:"ABAAABCDBBABCDDEBCABC", প্যাটার্ন:"ABC"আউটপুট:অবস্থানে প্যাটার্ন পাওয়া গেছে:অবস্থানে 4 প্যাটার্ন পাওয়া গেছে:10 অবস্থানে প্যাটার্ন পাওয়া গেছে:18

অ্যালগরিদম

NivePatternSearch(প্যাটার্ন, টেক্সট)

ইনপুট - পাঠ্য এবং প্যাটার্ন

আউটপুট - অবস্থান, যেখানে টেক্সটে প্যাটার্ন উপস্থিত থাকে

শুরু করুন patLen :=প্যাটার্ন সাইজ strLen :=i এর জন্য স্ট্রিং সাইজ :=0 থেকে (strLen - patLen), j এর জন্য করুন :=0 থেকে patLen, করুন যদি text[i+j] ≠ প্যাটার্ন[j], তারপর j ==patLen হলে লুপটি ব্রেক করুন, তারপর i পজিশনটি প্রদর্শন করুন, যেমন প্যাটার্নটি সম্পন্ন হয়েছে। 

উদাহরণ

#include namespace ব্যবহার করে std;void naivePatternSearch(string mainString, string pattern, int array[], int *index) { int patLen =pattern.size(); int strLen =mainString.size(); for(int i =0; i<=(strLen - patLen); i++) { int j; for(j =0; j 

আউটপুট

পজিশনে প্যাটার্ন পাওয়া গেছে:4পজিশনে প্যাটার্ন পাওয়া গেছে:10পজিশনে প্যাটার্ন পাওয়া গেছে:18

  1. জাভাস্ক্রিপ্টে নম্বর প্যাটার্ন

  2. HTML প্যাটার্ন অ্যাট্রিবিউট

  3. সি-তে হার্ট প্যাটার্ন প্রিন্ট করা

  4. C# 7.0 এ প্যাটার্ন ম্যাচিং কি?