كتلة الوظيفة SIMILAR_TEXT

تحسب كتلة الوظيفة SIMILAR_TEXT التشابه بين سلسلتين من الرموز.

يتم حساب تشابه سلسلتين من الرموز وفقًا للطريقة الواردة في كتاب Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1). لاحظ أن هذه التنفيذ لا تستخدم كومة كما هو موضح في الكود الزائف لوليفر، ولكن بدلاً من ذلك تستخدم مكالمات تكرارية قد تحسن الأداء (ولكن ليس بالضرورة). لاحظ أيضًا أن تعقيد هذا الخوارزمية O(N³) حيث N هو طول أطول سلسلة رموز.

مدخل STR1

يحدد المدخل السلسلة الأولى التي يجب مقارنتها.

مدخل STR2

يحدد المدخل السلسلة الثانية التي يجب مقارنتها.

مخرج SIM

يعيد المخرج عدد الرموز المتطابقة في السلسلتين.

يتم حساب عدد الرموز المتطابقة عن طريق البحث عن أطول سلسلة جزئية مشتركة أولية، ثم تكرار ذلك بشكل تكراري للجزء السابق والجزء اللاحق. يتم جمع طول جميع السلاسل الجزئية المشتركة التي تم العثور عليها.

مخرج PERCENT

يعيد المخرج التشابه كنسبة مئوية كعدد عشري. ويتم ذلك عن طريق قسمة النتيجة على متوسط أطوال السلسلتين المعطاة وضربها في 100.