48
правок
Изменения
Нет описания правки
Enum(s, i, <tex>r_i</tex>, G)
counter := 0 //''количество уже найденных и выведенных элементов''
'''for''' v = 1 .. n '''do''' //''перебираем все вершины графа''
''continue or find path'' //''недетерминировано выбираем переходить к следующей вершине или угадываем путь до данной''
counter++
Next(s, i, <tex>r_i</tex>, G)
r := 1 //''<tex>r_{i+1}</tex> хотя бы один, так как <tex>s \in R_{i + 1}</tex>''
'''for''' v = 1 .. n; <tex>v \neq s</tex> '''do''' //''перебираем все вершины графа, кроме s -- это кандидаты на попадание в <tex>R_{i + 1}</tex>'' '''for''' u : (u,v)∈E <tex>\in</tex>E '''do''' //''перебираем все ребра, входящие в v''
//''перечисляем все вершины из <tex>R_i</tex>''
'''if''' u in Enum(s, i, <tex>r_i</tex>, G) '''then''' //''если u одна из них, то <tex>v \in R_{i + 1}</tex>''
NONCON(G, s, t)
<tex>r_n</tex> := 1 //''<tex>r_0</tex>''
'''for''' i = 0..(n-2 ) '''do''' //''Вычисляем <tex>r_{n - 1}</tex>''
<tex>r_n</tex> := Next(s, i, <tex>r_n</tex>, G)
//''Перечисляем вершины из <tex>R_{n - 1}</tex>''