Изменения

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

Детерминированные конечные автоматы

158 байт добавлено, 21:54, 3 декабря 2014
Псевдокод
* <tex> \mathtt {Transitions} </tex> {{---}} множество пар <tex>\langle a</tex>, <tex>T \rangle</tex> , где <tex> a \in \Sigma</tex>, <tex>T \in Q</tex>
'''boolean''' dfs(u: '''Vertex''', v: '''Vertex'''):
visited1visited[u] = ''true'' visited2[v] <font color= ''true''"green">// заметим, что достаточно только одного массива <tex>\mathtt{visited}</tex> на два автомата</font>
'''if''' (v.terminal '''!=''' u.terminal)
'''return''' ''false''
'''Vertex''' t1 = u.transitions.getVertex(c)
'''Vertex''' t2 = v.transitions.getVertex(c)
'''if''' (visited1[одна из вершин t1] '', t2 '!='дьявольская'' visited2[t2]) , а другая {{---}} нет
'''return''' ''false''
'''if''' ('''not''' visited1visited[t1] '''and not''' visited2[t2])
result = result '''and''' dfs(t1, t2)

Навигация