Μονάδα Λειτουργίας SIMILAR_TEXT

Η Μονάδα Λειτουργίας SIMILAR_TEXT υπολογίζει την ομοιότητα δύο αλυσίδων χαρακτήρων.

Ο υπολογισμός της ομοιότητας δύο αλυσίδων χαρακτήρων γίνεται σύμφωνα με τη μέθοδο που περιγράφεται στο Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1). Σημειώστε ότι αυτή η υλοποίηση δεν χρησιμοποιεί stack όπως στον ψευδοκώδικα του Oliver, αλλά χρησιμοποιεί αναδρομικές κλήσεις που μπορούν να βελτιώσουν την απόδοση (αλλά δεν είναι υποχρεωτικό). Σημειώστε επίσης ότι η πολυπλοκότητα αυτού του αλγορίθμου είναι O(N³) όπου N είναι το μήκος της μεγαλύτερης αλυσίδας χαρακτήρων.

Είσοδος STR1

Η είσοδος ορίζει την πρώτη αλυσίδα χαρακτήρων που θα συγκριθεί.

Είσοδος STR2

Η είσοδος ορίζει τη δεύτερη αλυσίδα χαρακτήρων που θα συγκριθεί.

Έξοδος SIM

Η έξοδος επιστρέφει τον αριθμό των συμφωνών χαρακτήρων στις δύο αλυσίδες.

Ο αριθμός των συμφωνών χαρακτήρων υπολογίζεται ψάχνοντας την μεγαλύτερη πρώτη κοινή υποαλυσίδα και επαναλαμβάνοντας αυτό αναδρομικά για τα πρόθεμα και επίθημα. Τα μήκη όλων των βρεθεισών κοινών υποαλυσίδων προστίθενται.

Έξοδος PERCENT

Η έξοδος επιστρέφει την ομοιότητα ως ποσοστό με τη μορφή αριθμού κλασματικού. Για αυτό, το αποτέλεσμα διαιρείται από τον μέσο όρο των μηκών των δεδομένων αλυσίδων χαρακτήρων και πολλαπλασιάζεται επί 100.