Обход графов Поиск в ширину и в глубину Вход: граф G(V, Е), представленный списками смежности Г. Выход: последовательность вершин обхода. for v ∊ V do x[v]: =0{ вначале все вершины не отмечены} end for select v ∊ V{ начало обхода — произвольная вершина } v → Т{ помещаем v в структуру данных Т ... } x[v] : = 1{... и отмечаем вершину v } repeat u← Т{ извлекаем вершину из структуры данных Т ... } yield u{ ... и возвращаем ее в качестве очередной пройденной вершины } for w ∊ Г(u) do if x[w] =0 then w → Т{ помещаем w в структуру данных Т ... } x[w]: = 1{ ... и отмечаем вершину w } end if end for until Т = Ø Если Т — это стек (LIFO — Last In First Out), то обход называется поиском в глубину. Если Т — это очередь (FIFO — First In First Out), то обход называется поиском в ширину. На входе программы задаётся количество вершин и списки смежности вершин (в порядке возрастания номера вершины). Результат работы программы: последовательность обхода вершин в глубину, через запятую - в ширину. Есть алгоритм и его необходимо воплотить в программу на С++
function
Transpose(a: array[,] of integer): array[,] of integer;
//Поворот на 90гр по часовой стрелке
begin
var m := Length(a, 0);
var n := Length(a, 1);
Result := new integer[n, m];
for var i := 0 to n-1 do begin
for var j := 0 to m-1 do
Result[i, j] := a[m-1-j, i];
end;
end;
begin
var n := ReadInteger('Введите n:');
//Заполнение матрицы NxN сл. числами и вывод на экран
var a :=MatrixRandom(n, n);
for var i:=0 to n-1 do begin
for var j:=0 to n-1 do
Print(a[i,j]);
println;
end;
println;
Println('поворот влево на 90 гр');
var b := Transpose(a);
b:=Transpose(b);
b:=Transpose(b);
for var i:=0 to n-1 do begin
for var j:=0 to n-1 do
Print(b[i,j]);
println;
end;
println;
Println('поворот вправо на 90гр');
b := Transpose(a);
for var i:=0 to n-1 do begin
for var j:=0 to n-1 do
Print(b[i,j]);
println;
end;
println;
Println('поворот на 180 гр');
b := Transpose(a);
b := Transpose(b);
for var i:=0 to n-1 do begin
for var j:=0 to n-1 do
Print(b[i,j]);
println;
end;
end.
в) Работы с файлами
2. Производительность работы компьютера (быстрота выполнения операций) зависит от:
(b) Частоты процессоpа (частоту процессора можно примерно соотносить с количеством операций в секунду. Но все определяется не только частотой, но и архитектурой процессора: разные процессоры могут за один такт выполнять разное количество элементарных действий)
3. Принцип записи и считывания информации на жесткий диск основан на:
в) Намагничивании участков дисков (на отражении луча лазера основано действие оптических дисков - CD, DVD и т.д.)
4. Дефрагментация - это:
а) Перезапись данных в кластеры, последовательно идущие друг за другом
5. Выберите правильное описание пути к файлу:
б) C:\Games\Chess\Shess.txt (вообще, могут быть еще и а и в: никто не запрещает называть папки именами с точкой, а современные версии windows уменют распознавать пути как прямым слэшем, так и с обратным).