C# – Thuật toán tìm kiếm chuỗi (string) gần đúng

Thuật toán dùng cho từ điển thế thôi , ngoài ra còn có thể dùng để làm kiểm tra chính tả

Tôi xin giới thiệu với các bạn tư tưởng cả thuật toán như sau:

+Đầu tiên kiểm tra độ dài string so sánh :ít hay hơn 30% thì loại

+Tiếp là so sánh từng ký tự của 2 string nếu không bằng nhau thì lỗi cộng thêm 1, so sánh các từ lân cận tiếp theo của cả 2 string ,

Trong khoảng sai số nếu có , thì chỉnh lại vị trí i,j là chỉ số của 2 string đó, cái này sẽ kiểm tra các lỗi thừa hay thiếu từ , đọc ký tự kế tiếp .

+Cuối cùng , khi 1 trong 2 string đã đi hết

thì còn mẩu đuôi ta làm : loi += s.Length – i + s1.Length – j;

tức là nếu 1 string còn thừa thì cho mẩu đó là lỗi cộng vào

nếu số lỗi <=30% thì là đạt , không thì không đạt , đơn giản vậy thôi

Lớp xử lý

Từ tư tưởng được trình bày ở trên, tôi xây dựng lớp xử lý.

Kết luận

Nếu ai muốn biết nó hoạt động thế nào thì down từ điển super power dict phần tìm kiếm nâng cao về dùng thử nhé.

(st)

Nhận xét