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