
ฟังก์ชันบล็อก SIMILAR_TEXT คำนวณความคล้ายคลึงกันของสองสตริง
การคำนวณความคล้ายคลึงกันของสองสตริงเกิดขึ้นตามวิธีที่ได้กล่าวถึงใน Programming Classics: Implementing the World's Best Algorithms โดย Oliver (ISBN 0-131-00413-1) โปรดทราบว่าการนำไปใช้งานนี้ไม่ใช้สแต็กเหมือนกับ Pseudo-Code ของ Oliver แต่ใช้การเรียกฟังก์ชันแบบเรเคอร์ซิฟ ซึ่งอาจเพิ่มประสิทธิภาพ (แต่ไม่จำเป็น) โปรดทราบด้วยว่าความซับซ้อนของแอลกอริทึมนี้คือ O(N³) โดย N คือความยาวของสตริงที่ยาวที่สุด
อินพุตนี้กำหนดสตริงแรกที่จะเปรียบเทียบ
อินพุตนี้กำหนดสตริงที่สองที่จะเปรียบเทียบ
เอาต์พุตนี้ให้ค่าจำนวนตัวอักษรที่ตรงกันในสองสตริง
จำนวนตัวอักษรที่ตรงกันจะถูกคำนวณโดยการหาสตริงส่วนย่อยที่ยาวที่สุดซึ่งเป็นส่วนหน้าที่เหมือนกัน และทำการนี้แบบเรเคอร์ซิฟกับส่วนหน้าและส่วนท้ายของสตริง ความยาวของสตริงส่วนย่อยที่ตรงกันทั้งหมดจะถูกนำมาบวกกัน
เอาต์พุตนี้ให้ค่าความคล้ายคลึงกันในรูปแบบของตัวเลขทศนิยมเป็นเปอร์เซ็นต์ โดยการหารผลลัพธ์ด้วยค่าเฉลี่ยของความยาวสตริงที่ระบุแล้ว และคูณด้วย 100