Funktionsblock SIMILAR_TEXT

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.

Eingang STR1

Der Eingang definiert die erste Zeichenkette, die verglichen werden soll.

Eingang STR2

Der Eingang definiert die zweite Zeichenkette, die verglichen werden soll.

Ausgang SIM

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.

Ausgang PERCENT

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.