Редактирование: Суффиксный автомат

Перейти к: навигация, поиск

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 103: Строка 103:
 
* <tex>\mathrm{last}</tex> {{---}} последнее состояние.
 
* <tex>\mathrm{last}</tex> {{---}} последнее состояние.
  
  '''func''' addChar(c ''': char''')''':'''
+
  '''func''' addChar(c)''':'''
     '''int''' cur = newState()                                      <font color="green">// создаём новое состояние и получаем его номер</font>  
+
     cur = newState()                                      <font color="green">// создаём новое состояние и возвращаем его номер</font>  
 
   
 
   
     '''int''' p = last
+
     p = last
 
     '''while''' p >= 0 '''and''' edges[p].find(c) == ''null''
 
     '''while''' p >= 0 '''and''' edges[p].find(c) == ''null''
 
         edges[p][c] = cur
 
         edges[p][c] = cur
Строка 112: Строка 112:
 
   
 
   
 
     '''if''' p != -1
 
     '''if''' p != -1
         '''int''' q = edges[p][c]
+
         q = edges[p][c]
 
         '''if''' len[p] + 1 == len[q]
 
         '''if''' len[p] + 1 == len[q]
 
             link[cur] = q
 
             link[cur] = q
 
         '''else'''
 
         '''else'''
             '''int''' new = clone(q)                                <font color="green">// скопируем состояние <tex>q</tex> и получим номер нового состояния</font>
+
             new = clone(q)                                <font color="green">// скопируем состояние <tex>q</tex></font>
 
             len[new] = len[p] + 1
 
             len[new] = len[p] + 1
 
             link[q] = link[cur] = new
 
             link[q] = link[cur] = new

Пожалуйста, учтите, что любой ваш вклад в проект «Викиконспекты» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Викиконспекты:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Чтобы изменить эту страницу, пожалуйста, ответьте на приведённый ниже вопрос (подробнее):

Отменить | Справка по редактированию (в новом окне)