ฟังก์ชันบล็อกเลเวนสไตน์

ฟังก์ชันบล็อก LEVENSHTEIN คำนวณระยะห่างเลเวนสไตน์ระหว่างสองสตรีงตัวอักษร

ระยะห่างเลเวนสไตน์หมายถึงจำนวนขั้นต่ำของตัวอักษรที่คุณต้องแทนที่ เลื่อน หรือลบเพื่อเปลี่ยนค่าจากอินพุต STR1 เป็นค่าในอินพุต STR2 ความซับซ้อนของแอลกอริธึมเป็น O(m*n) โดย n และ m แทนความยาวของ STR1 และ STR2 (ดีมากเมื่อเทียบกับฟังก์ชันบล็อก SIMILAR_TEXT ที่มีค่า O(max(n,m)³) แต่ก็ยังใช้เวลาในการประมวลผลมาก)

อินพุต STR1

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

อินพุต STR2

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

อินพุต COST_INS

อินพุตนี้กำหนดค่าใช้จ่ายในการเลื่อน

อินพุต COST_REP

อินพุตนี้กำหนดค่าใช้จ่ายในการแทนที่

อินพุต COST_DEL

อินพุตนี้กำหนดค่าใช้จ่ายในการลบ

เอาต์พุต

เอาต์พุตนี้ส่งกลับระยะห่างเลเวนสไตน์ระหว่างอินพุต STR1 และ STR2 หรือ -1 หากมีตัวแปรใดตัวแปรหนึ่งมีความยาวมากกว่า 255 ตัวอักษร