вершины, из которой


вершины, из которой выходит ребро *} {*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);
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz