Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Code C tìm kiếm chuỗi - Thuật toán Boyer-Moore

  1. #1
    Ngày gia nhập
    09 2006
    Bài viết
    62

    Lightbulb Code C tìm kiếm chuỗi - Thuật toán Boyer-Moore

    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. #include <string.h>
    4.  
    5. #define MAX 256
    6.  
    7. int BoyerMoore(char *source, char *find);
    8.  
    9. void main()
    10. {
    11.   char source[MAX], find[MAX];
    12.   int f;
    13.  
    14.   printf("\nNhap vao chuoi nguon : ");
    15.   gets(source);
    16.   printf("Nhap vao chuoi tim kiem : ");
    17.   gets(find);
    18.  
    19.   if ((f = BoyerMoore(source, find)) > 0)
    20.     printf("chuoi tim thay tai chi so %d", f);
    21.   else
    22.     printf("Khong tim thay chuoi da cho", f);
    23.   getch();
    24. }
    25.  
    26. int BoyerMoore(char *source, char *find)
    27. {
    28.   int skip[MAX], i = 0, len, j=-1, lensource;
    29.  
    30.   len = strlen(find);
    31.   lensource = strlen(source);
    32.   for (i=0; i<MAX; i++)
    33.     skip[i] = len-1;
    34.   for (i=0; i<len; i++)
    35.     if (skip[find[i]] == len-1)
    36.        skip[find[i]] = len-i-1;
    37.  
    38.   i = j = len-1;
    39.   do {
    40.     if (source[i] == find[j])
    41.     {
    42.       i--;
    43.       j--;
    44.     }
    45.     else
    46.     {
    47.       if (len-j+1 > skip[source[i]])
    48.         i += len-j+1;
    49.       else
    50.         i += skip[source[i]];
    51.       j = len-1;
    52.     }
    53.   } while (j>0 && i<lensource);
    54.  
    55.   if (j<=0)
    56.     return i;
    57.   else
    58.     return -1;
    59. }
    st
    Đã được chỉnh sửa lần cuối bởi hailoc12 : 19-06-2007 lúc 11:07 AM.
    Click here for more Info of Cviet-Translator-Group

    ! be thankful for small blessings...

  2. #2
    Ngày gia nhập
    08 2006
    Nơi ở
    Hải Phòng
    Bài viết
    218

    Thuật toán này dùng để tìm chuỗi à, bạn có thể nói nguyên lý của nó được không

  3. #3
    Ngày gia nhập
    11 2011
    Bài viết
    14

    đây là tìm kiếm xâu mẫu

  4. #4
    Ngày gia nhập
    03 2013
    Bài viết
    8

    Mặc định chuối mẫu

    chạy thử bài của bạn nó không phát hiện ra mẫu có ký tự (Wild card).

Các đề tài tương tự

  1. Hướng dẫn Thuật toán Boyer-Moore
    Gửi bởi G.Perelman trong diễn đàn Thủ thuật, Tutorials CTDL & Giải thuật
    Trả lời: 6
    Bài viết cuối: 08-06-2013, 02:34 AM
  2. Bài tập C++ Tìm kiếm chuỗi con = thuật toán KMP
    Gửi bởi blue_23 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 09-02-2011, 10:56 AM
  3. Kỹ thuật tìm kiếm tối ưu trong chuỗi
    Gửi bởi nothing1010 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 03-10-2010, 02:55 PM
  4. Tìm kiếm trên file! Tìm kiếm xâu mẫu dùng giải thuật Naive | Giúp mình code sai ở đâu
    Gửi bởi totoise trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 19-04-2009, 08:22 PM
  5. Thủ Thuật Tìm Kiếm chuỗi
    Gửi bởi minhitcn2 trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 4
    Bài viết cuối: 30-11-2008, 04:23 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn