Danh mục

Thuật toán tìm kiếm string gần đúng như google

Số trang: 6      Loại file: doc      Dung lượng: 131.00 KB      Lượt xem: 15      Lượt tải: 0    
Thư viện của tui

Hỗ trợ phí lưu trữ khi tải xuống: 4,000 VND Tải xuống file đầy đủ (6 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tài liệu về Thủ toán tìm kiếm chuỗi gần đúng trong visual basic. Mời các bạn cùng tham khảo thực hành.
Nội dung trích xuất từ tài liệu:
Thuật toán tìm kiếm string gần đúng như googleThuật toán tìm kiếm string gần đúng gửi bởi tienlbhoc » T.Năm 10/04/2008 2:39 pmmới chế cái code tìm kiếm gần đúng , nhờ mọi người cho ý kiến cái :Tư tưởng 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ì so sánh các từ lâncận tiếp theo của cả 2 stringTrong 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ừ , nếu có thì số lỗi là số ký tự phải chỉnh lại vị tríi,j .còn nếu không thì cho lỗi là 1 , đọc ký tự kế tiếp+Cuối cùng , khi 1 trong 2 string đã đi hếtthì 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àonếu số lỗi (s.Length + saiSo)) 13. return false; 14. i = j = loi = 0; 15. while (i < s.Length && j < s1.Length) 16. { 17. if (s[i] != s1[j]) 18. { 19. loi++; 20. for (k = 1; k 24. i += k;25. break;26. }27. else if ((j + k < s1.Length) && s[i] == s1[j + k])28. {29. j += k;30. break;31. }32. }33. }34. i++;35. j++;36. }37. loi += s.Length - i + s1.Length - j;38. if (loi Còn đây là kết quả:Sửa lần cuối bởi tienlbhoc vào ngày T.Năm 18/09/2008 2:17 pm với 1 lần sửa.Diễn đàn và blog phần mềm tự làm :http://my.opera.com/DienDanTienlbhoc/forums/http://my.opera.com/tienlbhoc/blog/tienlbhoc Thành viên tâm huyết Bài viết: 410 Ngày tham gia: T.Bảy 14/07/2007 10:06 pm Đến từ: Hà NộiĐầu trangRe: Thuật toán tìm kiếm string gần đúng gửi bởi ngaymaikhongtan » T.Bảy 12/04/2008 7:23 amÝ tưởng cũng khá hay, nhưng minh vẩn không hĩu chổ này, bạn giải thích cho mình rỏnhe, tai sao bạn chọn kiểm tra độ dài string so sánh :ít hay hơn 30% thì loại, tại saobạn lại chọn mức la 30% vậy!welcome tohttp://gocnhinviet.comngaymaikhongtan Thành viên chính thức Bài viết: 39 Ngày tham gia: T.Bảy 29/03/2008 12:05 pm Đến từ: Cà Mau • Tài khoản YahooĐầu trangRe: Thuật toán tìm kiếm string gần đúng gửi bởi tienlbhoc » T.Bảy 12/04/2008 8:03 amthuật toán trên mình sửa rồi , cái đoạn tìm lân cận chỉ cho mặc định lỗi ++ thôi (vì thếkết quả sẽ rộng hơn).Còn vì sao là 30% vì 20% mình thử thấy hơi ít 40% thấy hơi nhiều , con số này tuỳtheo thực nghiệm mà chỉnh thôi .Còn vì sao mà độ dài lớn hơn hoặc nhỏ hơn 30% vì ví dụ a so sánh với application , thìdài thế này có cần phải so sánh nữa không hả , làm chậm chương trình.Mã: Chọn tất cả 1. class ApproximatString 2. { 3. string s; 4. int i, j, k, loi, saiSo; 5. public ApproximatString(string nhap) 6. { 7. s = nhap; 8. saiSo = (int)Math.Round(s.Length * 0.3); 9. } 10. public bool SoSanh(string s1) 11. { 12. if (s1.Length < (s.Length - saiSo) || s1.Length > (s.Length + saiSo)) 13. return false; 14. i = j = loi = 0; 15. while (i < s.Length && j < s1.Length) 16. { 17. if (s[i] != s1[j]) 18. { 19. loi++; 20. for (k = 1; k Re: Thuật toán tìm kiếm string gần đúng gửi bởi giongto35 » T.Bảy 12/04/2008 10:30 amHay thật . Tìm chuẩn quá , hết chỗ chê ,________________________________________________________________________________________________. . . . . . . . . . . . .. .giongto35 Advance Member Bài viết: 197 Ngày tham gia: T.Năm 19/04/2007 10:17 am Đến từ: Đà Nẵng City • Tài khoản YahooĐầu trangRe: Thuật toán tìm kiếm string gần đúng gửi bởi vinhphuoc91 » T.Bảy 12/04/2008 12:20 pmCái này ứng dụng từ điển là ok nhất, hehe phải nhanh chóng paste nó vào chương trìnhcủa mình thôi Cảm ơn tienlbhoc nhiều nhá.[b][color=#FF0000]Xin lỗi, tạm thời không thể online thường xuyên được, dạo này cóviệc bận quá :( [/color][/b]vinhphuoc91 Advance Member Bài viết: 146 Ngày tham gia: T.Tư 26/03/2008 5:52 pm Đến từ: Phú Yên • Tài khoản YahooĐầu trangRe: Thuật toán tìm kiếm string gần đúng ...

Tài liệu được xem nhiều: