418
правок
Изменения
м
→Псевдокод
Функция для инициализации таблицы неэквивалентности.
'''function''' initTable('''int''' n, '''boolean'''[] isTerminal, '''queue''' Q, '''boolean'''[][] tablemarked):
'''for i = 0 .. n - 1
'''for''' j = 0 .. n - 1
'''if''' '''not''' tablemarked[i][j] '''and''' isTerminals[i] '''and''' '''not''' isTerminals[j] '''and''' i != j tablemarked[i][j] = tablemarked[j][i] = true
Q.push(<tex>\langle i, j \rangle</tex>)
Функция для вычисления таблицы неэквивалентности.
'''function''' computeTable('''int''' n, '''int'''[][] <tex>\delta^{-1}</tex>, '''queue''' Q, '''boolean'''[][] tablemarked):
'''while''' '''not''' Q.isEmpty()
<tex>\langle u, v \rangle</tex> = Q.poll()
'''for''' j = 0 .. length(ss) - 1
'''int''' s = ss[j]
'''if''' '''not''' tablemarked[r][s] tablemarked[r][s] = tablemarked[s][r] = true
Q.push(<tex>\langle r, s \rangle</tex>)