بلوک عملکرد SIMILAR_TEXT

بلوک عملکرد SIMILAR_TEXT شباهت دو رشته را محاسبه می کند.

محاسبه شباهت دو رشته بر اساس روش ای که در کتاب Programming Classics: Implementing the World's Best Algorithms توسط Oliver (ISBN 0-131-00413-1) توصیف شده است، انجام می شود. توجه کنید که این پیاده سازی از استک استفاده نمی کند مانند پseudo-code اولیور، اما به جای آن فراخوانی های بازگشتی را انجام می دهد که ممکن است عملکرد را بهبود بخشند (اما باید). توجه کنید که پیچیدگی این الگوریتم O(N³) است، در حالی که N طول رشته طولانی تر است.

ورودی STR1

ورودی اولین رشته ای را تعریف می کند که باید مقایسه شود.

ورودی STR2

ورودی دومین رشته ای را تعریف می کند که باید مقایسه شود.

خروجی SIM

خروجی تعداد کاراکتر های یکسان در هر دو رشته را برمی گرداند.

تعداد کاراکتر های یکسان با جستجوی طولانی ترین زیررشته مشترک اول و سپس تکرار آن به صورت بازگشتی برای پیشوند ها و پسوند ها محاسبه می شود. طول همه زیررشته های مشترک یافت شده جمع می شوند.

خروجی PERCENT

خروجی شباهت را به عنوان یک عدد اعشاری درصد برمی گرداند. برای این کار نتیجه توسط میانگین طول رشته های مشخص شده تقسیم می شود و با 100 ضرب می شود.