ฟังก์ชันบล็อก SIMILAR_TEXT

ฟังก์ชันบล็อก SIMILAR_TEXT คำนวณความคล้ายคลึงกันของสองสตริง

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

อินพุต STR1

อินพุตนี้กำหนดสตริงแรกที่จะเปรียบเทียบ

อินพุต STR2

อินพุตนี้กำหนดสตริงที่สองที่จะเปรียบเทียบ

เอาต์พุต SIM

เอาต์พุตนี้ให้ค่าจำนวนตัวอักษรที่ตรงกันในสองสตริง

จำนวนตัวอักษรที่ตรงกันจะถูกคำนวณโดยการหาสตริงส่วนย่อยที่ยาวที่สุดซึ่งเป็นส่วนหน้าที่เหมือนกัน และทำการนี้แบบเรเคอร์ซิฟกับส่วนหน้าและส่วนท้ายของสตริง ความยาวของสตริงส่วนย่อยที่ตรงกันทั้งหมดจะถูกนำมาบวกกัน

เอาต์พุต PERCENT

เอาต์พุตนี้ให้ค่าความคล้ายคลึงกันในรูปแบบของตัวเลขทศนิยมเป็นเปอร์เซ็นต์ โดยการหารผลลัพธ์ด้วยค่าเฉลี่ยของความยาวสตริงที่ระบุแล้ว และคูณด้วย 100