![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Ola |
![]()
Сообщение
#1
|
![]() Группа: Пользователи Сообщений: 5 Репутация: ![]() ![]() ![]() |
Среди всех остовов заданного графа найти остов с минимальным количеством листьев. Помогите, пожалуйста. Срочно.
|
trminator |
![]()
Сообщение
#2
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
Можно уточнить? Остов = остовное дерево? (скорее всегго, да, но мало ли...)
-------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
Ola |
![]()
Сообщение
#3
|
![]() Группа: Пользователи Сообщений: 5 Репутация: ![]() ![]() ![]() |
Цитата Можно уточнить? Остов = остовное дерево? (скорее всегго, да, но мало ли...) Да, действительно, остов=остовное дерево. Здесь надо использовать рекурсивный алгоритм обхода графа (DFS-алгоритм). |
Ola |
![]()
Сообщение
#4
|
![]() Группа: Пользователи Сообщений: 5 Репутация: ![]() ![]() ![]() |
Может у кого-нибудь есть этот 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 |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 17:05 |