Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/49: Рейтинг темы: голосов - 49, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 21.11.2009
Сообщений: 41
1

Поиск гамильтонова цикла в графе

07.02.2010, 21:20. Показов 9798. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
ПОмогите плиииз!!!
Написать программу поиска гамильтонова цикла в графе
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.02.2010, 21:20
Ответы с готовыми решениями:

Поиск гамильтонова цикла в графе
Написать программу поиска гамильтонова цикла в графе.

Поиск эйлерова цикла в графе заданном списком инцидентности
Уважаемые форумчане необходимо найти эйлеров цикл в графе, не содержащем вершин нечетной степени и...

Поиск гамильтонова цикла в графе
Написать программу гамильтонова цикла в графе для PascalABC Помогите пожалуйста Добавлено...

Поиск гамильтонова цикла в ориентированном графе
Честно пытался искать по форуму и не только, но так толком ничего и не нашел :\ Необходимо узнать,...

3
 Аватар для Tom_Sawyer
88 / 88 / 56
Регистрация: 05.12.2009
Сообщений: 134
07.02.2010, 21:48 2
Лучший ответ Сообщение было отмечено как решение

Решение

Нахождение гамильтонова цикла в графе, заданном с помощью матрицы смежности.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
uses SysUtils;
const n=10;
var v0:integer=2;
     a:array[0..n-1, 0..n-1] of integer=(
(0,0,0,0,0,1,0,0,0,0),
(0,0,1,0,0,0,1,0,0,0),
(0,1,0,1,0,0,0,1,0,0),
(0,0,1,0,1,0,0,0,1,0),
(1,0,0,1,0,0,0,0,0,1),
(0,0,0,0,0,0,1,0,0,1),
(0,0,0,1,0,0,0,1,0,0),
(0,0,0,0,1,0,0,0,0,0),
(0,0,0,0,0,0,0,0,0,1),
(0,0,0,0,0,0,0,0,0,0));
c:array[0..n-1] of integer;
path:array[0..n-1] of integer;
 
procedure print_gamilton_c();
var p:integer;
begin
 for p:=0 to n-1 do write(inttostr(path[p])+' ');
 writeLn(inttostr(path[0]));
end;
 
function gamilton(k:integer):integer;
var v,gl:integer;
begin
 gl:=0;
 v:=-1;
 while ((v<n) and (gl=0)) do
  begin
   inc(v);
   if (a[v,path[k-1]]>0) or (a[path[k-1],v]>0) then begin
   if (k=n) and (v=v0) then gl:=1
   else if (c[v]=-1) then
    begin
     c[v]:=k;
     path[k]:=v;
     gl:=gamilton(k+1);
     if (gl=0) then c[v]:=-1;
    end 
   else continue;
   end;
  end;
 result:=gl;
end;
 
var j:integer;
begin
 writeln('Гамильтонов цикл:');
 for j:=0 to n-1 do c[j]:=-1;
 path[0]:=v0;
 c[v0]:=v0;
 if (gamilton(1)>0) then print_gamilton_c 
 else writeln('цикл не найден - нет решений');
end.
Добавлено через 54 секунды
Возьмем схему перебора с возвратом. Мы модифицируем её так, чтобы программа заканчивала работу при обнаружении гамильтонова цикла. Подпрограмма будет возвращать значение 1 в случае нахождения гамильтонова цикла, и 0 - если таких циклов в графе нет.
4
0 / 0 / 0
Регистрация: 21.11.2009
Сообщений: 41
07.02.2010, 23:49  [ТС] 3
спасибо огромное!!!!
0
Jezrok
22.05.2013, 00:22 4
Tom_Sawyer молодець (+1).
Якщо зразу не запускаєтся то у 30-му рядку (v<n) поміняти на (v<n-1)
22.05.2013, 00:22
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.05.2013, 00:22
Помогаю со студенческими работами здесь

Нахождение гамильтонова цикла в графе
Как заставить код работать? По условию задачи нужно найти гамильтонов цикл в графе. Если такового...

Алгебраический алгоритм поиска гамильтонова цикла в графе.
ребята, может кто-нибудь помочь?очень надо сдаю курсовую работу по теме ПОИСК ГАМИЛЬТОНОВА ЦИКЛА В...

Поиск минимального гамильтонова цикла в матрице
#include &lt;iostream&gt; using namespace std; #define n 10 int c ; // номер хода, на котором...

Поиск минимального Гамильтонова цикла по заданным координатам
Здравствуйте ,есть код #include &lt;iostream&gt; #include &lt;vector&gt; #include &quot;math.h&quot; #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Как узнать какой процесс блокирует файл или каталог в Windows
bt_guru 23.01.2025
При работе с операционной системой Windows пользователи нередко сталкиваются с ситуацией, когда система отказывается выполнять определенные действия с файлами или каталогами, сообщая, что они. . .
Как в curl узнать код статуса HTTP запроса. Коды состояния HTTP
bt_guru 23.01.2025
Коды состояния HTTP играют значимую роль в обеспечении эффективного взаимодействия между клиентами и серверами. При работе с веб-сервисами важно не только отправлять запросы, но и правильно. . .
Как сортировать вывод команды ls в Linux
bt_guru 23.01.2025
В операционной системе Linux команда ls является одним из наиболее часто используемых инструментов для просмотра содержимого директорий. При работе с файловой системой пользователи регулярно. . .
Как сделать POST запрос с помощью curl
bt_guru 23.01.2025
curl - это мощный инструмент командной строки позволяет отправлять и получать данные через различные протоколы, включая HTTP, HTTPS, FTP и множество других. Особенно полезным curl становится при. . .
Прокрутка в tmux с помощью мыши и клавиатуры
bt_guru 23.01.2025
Tmux представляет собой мощный терминальный мультиплексор, который позволяет пользователям создавать и управлять несколькими терминальными сессиями внутри одного окна. Одной из важнейших функций tmux. . .
Как проверить, содержит ли массив значение в JavaScript. Поиск в массиве
bytestream 23.01.2025
Эффективный поиск значений в массивах становится критически важным навыком для разработчиков, использующих JavaScript. Процесс поиска элементов в массиве может показаться простым на первый взгляд,. . .
Как удалить тег Git в удалённом репозитории (remote)
bytestream 23.01.2025
Одним из важнейших механизмов организации версий в Git являются теги, которые позволяют помечать определенные точки в истории проекта как значимые. Теги часто используются для маркировки релизов,. . .
Чем отличаются URL, URI и URN
bytestream 23.01.2025
Системы идентификации представляют собой фундаментальный механизм, позволяющий однозначно определять местоположение и характеристики различных информационных объектов в глобальной сети. Эти системы. . .
Как центрировать div внутри другого div с помощью CSS. Управление расположением элементов в CSS
bytestream 23.01.2025
Позиционирование элементов играет ключевую роль в создании качественных и профессиональных интерфейсов. Одной из наиболее часто встречающихся задач является центрирование элементов на веб-странице,. . .
Что означают различные символы в синтаксисе PHP
bytestream 23.01.2025
PHP (Hypertext Preprocessor) представляет собой один из наиболее широко используемых языков программирования для веб-разработки, который обладает богатой и интересной историей развития. Изначально. . .
Способы клонирования объектов в JavaScript
bytestream 23.01.2025
В современной разработке на JavaScript работа с объектами является фундаментальной частью создания любого приложения. При манипуляции объектами часто возникает необходимость создавать их копии для. . .
Как проверить состояние чекбокса в jQuery. Как работать с чекбоксами
bytestream 23.01.2025
При разработке интерактивных веб-форм часто возникает необходимость программно определять состояние чекбоксов с помощью jQuery. Чекбоксы являются важными элементами пользовательского интерфейса,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru