
Blok funkcija SIMILAR_TEXT izračunava sličnost dviju niski.
Izračun sličnosti dviju niski vrši se prema metodi opisanoj u Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1). Obratite pozornost da ova implementacija ne koristi stog kao u Olivers pseudo-kodu, ali koristi rekurzivne pozive koji mogu poboljšati performanse (ali ne moraju). Također obratite pozornost da je složenost ovog algoritma O(N³), gdje N predstavlja duljinu najduže niske.
Ulaz definiruje prvu nisku koja se treba usporediti.
Ulaz definiruje drugu nisku koja se treba usporediti.
Izlaz vraća broj podudarajućih znakova u obje niske.
Broj podudarajućih znakova izračunava se tako što se traži najduža prva zajednička podniska, a zatim se to ponavlja rekurzivno za prefikse i sufikse. Duljine svih pronađenih zajedničkih podnisaka zbrajaju se.
Izlaz vraća sličnost kao postotni iznos kao decimalni broj. Rezultat se dijeli prosjekom duljina navedenih niski i množi s 100.