
Der Funktionsblock SIMILAR_TEXT berechnet die Ähnlichkeit zweier Zeichenketten.
Die Berechnung der Ähnlichkeit zweier Zeichenketten erfolgt nach der in Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1) beschriebenen Methode. Beachten Sie, dass diese Implementierung keinen Stack verwendet wie in Olivers Pseudo-Code, dafür aber rekursive Aufrufe, die die Performance erhöhen können (aber nicht müssen). Beachten Sie auch, dass die Komplexität dieses Algorithmus O(N³) beträgt, wobei N die Länge der längsten Zeichenkette ist.
Der Eingang definiert die erste Zeichenkette, die verglichen werden soll.
Der Eingang definiert die zweite Zeichenkette, die verglichen werden soll.
Der Ausgang gibt die Anzahl übereinstimmender Zeichen in beiden Zeichenketten zurück.
Die Anzahl übereinstimmender Zeichen wird berechnet, indem die längste erste gemeinsame Teilzeichenkette gesucht wird und dies dann rekursiv für die Prä- und Suffixe wiederholt wird. Die Längen aller gefundenen gemeinsamen Teilzeichenketten werden aufsummiert.
Der Ausgang gibt die Ähnlichkeit als Prozentwert als Gleitkommazahl zurück. Dazu wird das Ergebnis durch den Durchschnitt der Längen der angegebenen Zeichenketten dividiert und mit 100 multipliziert.