Изменения

Перейти к: навигация, поиск
м
Псевдокод
'''function''' minimization('''int''' n, '''boolean'''[] isTerminal, '''int'''[][] <tex>\delta</tex>):
<font color="green">// Шаг 1</font>
Построим таблицу списков обратных ребер {{- --}} <tex>\delta^{-1}</tex> размером <tex>n \times n</tex>.
<font color="green">// Шаг 2</font>
Построим массив достижимости состояний из стартового {{- --}} reachable размером <tex>n</tex>.
<font color="green">// Шаги 3 и 4</font>
'''boolean'''[][] marked = buildTable(n, isTerminal, <tex>\delta^{-1}</tex>)
'''vector''' classes <font color="green">// По позиции i будем хранить представителя i-ой компоненты эквивалентности.</font>
'''for''' i = 0 .. n - 1
'''if''' '''not''' tablemarked[0][i]
component[i] = 0
classes.add(i)
'''for''' j = i + 1 .. n - 1
'''if''' '''not''' tablemarked[i][j]
component[j] = components_count
<font color="green">// Шаг 6</font>
418
правок

Навигация