вершины, из которой
вершины, из которой выходит ребро *}
{*q - номер вершины, начиная с которой следует искать очередное
ребро каркаса *}
var j:integer;
begin
if down>=up then exit;
j:=q;
while (j<=N) and (numb<N-1) do begin {*просмотр ребер, выходящих из вершины с номером v *}
if (A[v,j]<>0) and Nnew[j] then begin {*есть ребро, и вершины с номером j еще нет в каркасе *}
{*включаем ребро в каркас*}
Nnew[j]:=false;
inc(numb);Tree[1,numb]:=v;Tree[2,numb]:=j;
{*включаем вершину с номером j в очередь*}
Turn[up]:=j;inc(up);
Solve(v,j+1); {*продолжаем построение каркаса*}
{*исключаем ребро из каркаса*}
dec(up);Nnew[j]:=true; dec(numb);
end;
inc(j);
end;
if numb=N-1 then begin <вывод каркаса>; exit end;
{*все ребра, выходящие из вершины с номером v, просмотрены*}
{* переходим к следующей вершине из очереди и так до тех пор,
пока не будет построен каркас *}
if j=N+1 then begin inc(down);
Solve(Turn[down],1);
dec(down);
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа