Рубрики

C # Программа для наивного алгоритма поиска по шаблону

Учитывая текст txt [0..n-1] и шаблон pat [0..m-1] , напишите функцию поиска (char pat [], char txt []), которая печатает все вхождения pat [] в txt. [] . Вы можете предположить, что n> m .

Примеры:

Input:  txt[] = "THIS IS A TEST TEXT"
        pat[] = "TEST"
Output: Pattern found at index 10

Input:  txt[] =  "AABAACAADAABAABA"
        pat[] =  "AABA"
Output: Pattern found at index 0
        Pattern found at index 9
        Pattern found at index 12

Поиск по шаблону является важной проблемой в информатике. Когда мы ищем строку в файле блокнота / слова, в браузере или в базе данных, для отображения результатов поиска используются алгоритмы поиска по шаблону.

// C # программа для поиска наивного шаблона

using System;

  

class GFG {

  

    public static void search(String txt, String pat)

    {

        int M = pat.Length;

        int N = txt.Length;

  

        / * Цикл для скольжения по очереди * /

        for (int i = 0; i <= N - M; i++) {

            int j;

  

            / * Для текущего индекса i, проверьте шаблон

            совпадение */

            for (j = 0; j < M; j++)

                if (txt[i + j] != pat[j])

                    break;

  

            // если pat [0 ... M-1] = txt [i, i + 1, ... i + M-1]

            if (j == M)

                Console.WriteLine("Pattern found at index " + i);

        }

    }

  

    // Код драйвера

    public static void Main()

    {

        String txt = "AABAACAADAABAAABAA";

        String pat = "AABA";

        search(txt, pat);

    }

}
// Этот код предоставлен Sam007

Выход:

Pattern found at index 0
Pattern found at index 9
Pattern found at index 13

Пожалуйста, обратитесь к полной статье о наивном алгоритме поиска по шаблону для более подробной информации!

Рекомендуемые посты:

C # Программа для наивного алгоритма поиска по шаблону

0.00 (0%) 0 votes