IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Задача про графы и остовы.
Ola
сообщение 4.10.2003 8:12
Сообщение #1





Группа: Пользователи
Сообщений: 5

Репутация: -  0  +


Среди всех остовов заданного графа найти остов с минимальным количеством листьев. Помогите, пожалуйста. Срочно.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 3)
trminator
сообщение 5.10.2003 18:12
Сообщение #2


Четыре квадратика
****

Группа: Пользователи
Сообщений: 579
Пол: Мужской

Репутация: -  4  +


Можно уточнить? Остов = остовное дерево? (скорее всегго, да, но мало ли...)


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ola
сообщение 11.10.2003 7:03
Сообщение #3





Группа: Пользователи
Сообщений: 5

Репутация: -  0  +


Цитата
Можно уточнить? Остов = остовное дерево? (скорее всегго, да, но мало ли...)

Да, действительно, остов=остовное дерево. Здесь надо использовать рекурсивный алгоритм обхода графа (DFS-алгоритм).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ola
сообщение 25.10.2003 8:51
Сообщение #4





Группа: Пользователи
Сообщений: 5

Репутация: -  0  +


Может у кого-нибудь есть этот DFS-алгоритм, написанный на Паскале? Потому что у меня только в схематичном виде, если можно так выразиться. И кое-что там не понятно. Привожу его:
Цитата
procedure DFS(u,v);
begin
inc(k); num[u]:=k;
for  ??? w принадлежит Adj(u) (цикл по всем вершинам w, смежным с вершиной u) do
if num[w]=0 then
begin
??? T:=T U (u,w);
  DFS(w,u);
end
else if (w<>v) and num[w]<num[u] then
  ??? B:=B U (u,w);
num:=0;k:=0;
for  ??? v принадлежит V (цикл по всем элементам множества) do
if num[v]=0 then DFS(v,0);
end;

где num[v]={0, если в вершине еще не были;
u>0 - номер по порядку в процессе обхода вершин графа.}
T - ребра, образующие остов.
В - ребра, не входящие в остов графа - хорды.
k - счетчик.
Объясните, пожалуйста.

Сообщение отредактировано: volvo - 17.12.2004 14:41
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 17:04
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"