<{a,b,c,d},{u,v,w,x}; {(u,a),(u,b),(v,b),(v,c),(w,c),(w,a),(x,c), (x,d)}>. Так как мы рассматриваем только простые графы, граф нам проще определять как модель, носителем которой является множество вершин, а отношение - бинарное отношение смежности вершин. Тогда данный граф запишется как <{a,b,c,d}; {(a,b), (b,a),(b,c),(c,b),(a,c),(c,a),(c,d),(d,c)}>. В таком представлении ребру соответствуют две пары вершин (v1,v2) и (v2,v1), инцидентных данному ребру. Чтобы задать такое представление, достаточно для каждого ребра указать двухэлементное множество вершин - его мы и будем отождествлять с ребром. Для данного графа рёбра задаются множеством {{a,b},{b,c},{a,c},{c,d}} и граф мы будем записывать как пару (V,E), где V - множество вершин, а E - множество рёбер.
Граф - множество вершин и ребер, соединяющих эти вершины. Он несет информацию об элементах системы и связи между ними. Элементы системы изображаются как вершины или узлы графа. Отношения между ними изображаются как ребра или дуги графа. Деревом называют ациклический (то есть между любыми вершинами есть только один путь), связный (то есть от любой вершины графа можно добраться в другую) граф. Корень дерева - это вершина с нулевой степенью захода (то есть в нее не ведут другие ребра). Для неориентированного графа это просто выбранная нами вершина. Ветви - это ребра дерева. Листья дерева - это вершины с нулевой степенью исхода (то есть из них не выходят ребра), т.е. не имеющих поддеревьев. Надеюсь объяснил доступно.
//Я просто опишу метод записи матрицы const n=100; var ar:array of array of integer; ars:array of array of string; i:integer;
procedure complection(var ar:array of array of integer;var ars:array of array of string); var i,j:integer; begin; for i:=1 to n do begin; for j:=1 to n do begin; ar[i,j]:=random(9); str(ar[i,j],ars[i,j]); end; end; end;
procedure burning(ars:array of array of string); var i,j:integer; t:text; begin; assign(t,'text.txt'); rewrite(t); for i:=1 to n do begin; writeln(t,' '); for j:=1 to n do write(t,ars[i,j],' '); end; end;
begin; randomize; setlength(ar,n+1); setlength(ars,n+1); for i:=1 to n do begin; setlength(ar[i],n+1); setlength(ars[i],n+1); end; complection(ar,ars); burning(ars); end.