Blok funkcija SIMILAR_TEXT

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 STR1

Ulaz definiruje prvu nisku koja se treba usporediti.

Ulaz STR2

Ulaz definiruje drugu nisku koja se treba usporediti.

Izlaz SIM

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 PERCENT

Izlaz vraća sličnost kao postotni iznos kao decimalni broj. Rezultat se dijeli prosjekom duljina navedenih niski i množi s 100.