Кружок - группа A - конечные автоматы, автомат КМП

Поделиться
HTML-код
  • Опубликовано: 30 сен 2024

Комментарии • 10

  • @vrakitine
    @vrakitine 3 месяца назад

    В институте я много слышал про конечные автоматы (КА), но это всё было теорией - как облака в небе: воды в них много, а напиться нельзя. Корпел три месяца после института, пока не реализовал свой КА в коде в 1981 году. Сейчас существует методология программирования на этой основе - v-agent oriented programming (VAOP) - и множество примеров её реализации. Лучше начать знакомство с VAOP с этой статьи на Medium: "Bagels and Muffins of Programming or How Easy It Is to Convert a Bagel into a Black Hole" или на Хабре: "Бублики и Коржики Программирования".

  • @AndersonSilva-dg4mg
    @AndersonSilva-dg4mg 3 года назад +2

    Спасибо, что выкладываете лекции на RUclips!

  • @floppa-fy2qh
    @floppa-fy2qh 3 года назад

    Здравствуйте, Андрей Сергеевич
    Планируются ли лекции по bounding volume hierarchy структурам данных ?

  • @dalersirojidinov279
    @dalersirojidinov279 9 месяцев назад

    Где можно найти продолжение?

  • @ЕгорЛазука-й1э
    @ЕгорЛазука-й1э Год назад

    Спасибо!

  • @indeec9538
    @indeec9538 Год назад

    автомат ищущий подстроку в строке на c#
    сначала ввод строки, потом подстроки
    ест любые буквы алфавита
    int[] suf;
    Dictionary go;
    string p;
    int n , j = 0;
    int get_go(int j , char c)
    {
    if (go.ContainsKey((j, c)))
    return go[(j, c)];
    int temp = get_suf(j , c);
    if (j < n && c == p[j])
    go[(j, c)] = j + 1;
    else if (j > 0)
    go[(j, c)] = go[(temp, c)];
    else
    go[(j, c)] = 0;
    return go[(j, c)];
    }
    int get_suf(int i , char c)
    {
    if (i == 0 || i == 1)
    suf[i] = 0;
    else
    suf[i] = get_go(suf[i - 1], c);
    return suf[i];
    }
    string s = Console.ReadLine();
    p = Console.ReadLine();
    n = p.Length;
    go = new Dictionary();
    suf = new int[n + 1];
    for (int i = 0; i < n; i++)
    suf[i] = -1;
    int answer = 0;
    for (int i = 0; i < s.Length; i++)
    {
    j = get_go(j, s[i]);
    if (j == p.Length)
    answer++;
    }
    Console.WriteLine(answer);

  • @whitebear1903
    @whitebear1903 3 года назад

    Спасибо

  • @exx-ns4tt
    @exx-ns4tt 7 месяцев назад

    Потрепало илона маска..

  • @Vernad
    @Vernad 2 года назад

    Оно конечно спасибо.
    Это вот за такие наскальные надписи Вам вручили:
    "лауреат специальной премии корпорации IBM, присуждаемой за успехи в тренерской работе, лауреат премии 2016 ACM ICPC Senior Coach Award" ?
    Верю, что когда Вы перейдёте на современные способы обучения, Вам ещё дадут кучу премий.