очередную компоненту


очередную компоненту двусвязности, начинающуюся с вершины v. Итак, логика. procedure Dvy(v,p:integer);{вершина p - предок вершины v} {массивы A, Num, Lowpg и переменная nm - глобальные} var u:integer; begin Inc(nm);Num[v]:=nm;Lowpg[v]:=Num[v]; for u:=1 to N do if A[v,u]<>0 then if Num[u]=0 then begin <сохранить ребро (v,u) в стеке>; Dvy(u,v); Lowpg[v]:=Min(Lowpg[v],Lowpg[u]); {функция, определяющая минимальное из двух чисел } if Lowpg[u]>=Num[v] then <вывод компоненты>; end else if (u<>p) and (Num[v]>Num[u]) then begin {u не совпадает с предком вершины v} <сохранить ребро (v,u) в стеке>; Lowpg[v]:=Min(Lowpg[v],Num[u]); end; end; Фрагмент основной логики: .... FillChar(Num,SizeOf(Num),0); FillChar(Lowpg,SizeOf(Lowpg),0); nm:=0; for v:=1 to N do if Num[v]=0 then Dvy(v,0); .... Дополнение. Мостом графа G называется каждое
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz