поиске в ширину


поиске в ширину просматриваются все вершины связного графа. Использование массива Nnew обеспечивает “подключение” очередного ребра к каркасу без образования циклов. Действительно, цикл образуется, если мы соединяем две просмотренные вершины. Но в нашем случае “подключается” ребро, соединяющее просмотренную вершину с непросмотренной. И наконец, по самой логике методов поиска в глубину и в ширину мы строим связный граф. Построение каркаса для связного графа методом поиска в глубину. procedure Tree_Depth(v:integer); {рекурсивная процедура} {A, Nnew, Tree, yk - глобальные структуры данных} var i:integer; begin Nnew[v]:=false; for i:=1 to N do if (A[v,i]<>0) and Nnew[i] then begin {добавляем ветвь в каркас} Inc(yk);Tree[1,yk]:=v;Tree[2,yk]:=i; Tree_Depth(i); end; end; {фрагмент основной логики} begin FillChar(Nnew,SizeOf(Nnew),true);yk:=0; Tree_Depth(1); {строим от первой вершины} <вывод каркаса>; end. Построение каркаса для связного
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz