Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/48: Рейтинг темы: голосов - 48, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 14
1

Нужно найти максимальный простой путь в графе

13.04.2014, 10:03. Показов 8789. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте
Есть такая задача: "Нужно найти максимальный простой путь в графе"

Как я понял, тут нужно использовать какой-либо модифицированный алгоритм. Можно ли взять Флойда-Уоршала, который ищет кратчайшие расстояния и переделать в максимальные?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2014, 10:03
Ответы с готовыми решениями:

Найти путь в графе
подскажите какой алгоритм поиска лучше применить и как в данной задаче " В системе двусторонних...

Найти длинейший циклический путь в графе
Доброго времени суток, помогите пожалуйста. Я изменил алгоритм Дейкстры, чтобы он выводил мне самый...

Найти максимальный путь в графе
Необходимо найти максимальный путь в графе. Граф связанный, без циклов. Имеет N-1 ребер, то есть...

Найти максимальный путь в графе
Аллаху акбар, парни. есть задача, необходимо построить такой многоугольник(не обязательно выпуклый)...

8
12 / 7 / 7
Регистрация: 02.04.2014
Сообщений: 342
13.04.2014, 11:10 2
А максимально простой-это минимальное количество пройденных вершин или наименьший вес графов на пути прохождения?
0
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 14
13.04.2014, 11:17  [ТС] 3
Некорректно написал, извиняюсь
Нужно найти "Самый длинный простой путь в графе"
Граф неориентированный, вес каждого ребра - 1
0
12 / 7 / 7
Регистрация: 02.04.2014
Сообщений: 342
13.04.2014, 20:37 4
Может быть методом обхода в глубину получится

Добавлено через 6 часов 41 минуту
Косяки наверно есть,но как вариант.
C++
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
57
58
59
60
#include <stdio.h>
#include <math.h>
 
int main() {
    int A[100][100];
    int B,i,j,n,Nmin,max,minpath;
    int L[100][100];
    int tec[100];
    int short1[100];
    printf("Введите количество вершин");
    scanf("%d",&n);
    max=100;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
        {
            A[i][j]=0;
        }
        tec[i]=max;
        short1[i]=max;
        
    }
    i=0;
    j=0;
    short1[1]=0;
    Nmin=1;
    minpath=0;
    for(i=1;i<=n;i++);
    {
        for(j=1;j<=n;j++);
        {
            if (short1[j]==max)
            {
                if (tec[j]>minpath+A[Nmin][j]);
                {
                    tec[j]=minpath+A[Nmin][j];
                }
            }
        }
        minpath=max;
        for(j=2;j<=n;j++);
        {
            if(short1[j]==max);
            {
                if(tec[j=minpath]);
                {
                    minpath=tec[j];
                    Nmin=j;
                }
            }
        }
        short1[Nmin]=minpath;
        tec[Nmin]=max;
    }
    for(i=2;i<=n;i++)
    {
        printf("%d \n",short1[i]);
    }
    return 0;
}
0
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 14
13.04.2014, 20:39  [ТС] 5
Спасибо, буду разбираться
0
12 / 7 / 7
Регистрация: 02.04.2014
Сообщений: 342
13.04.2014, 20:52 6
Тебе нужен алгоритм Дейкстры из теории алгоритмов.
0
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 14
13.04.2014, 20:53  [ТС] 7
А разве Дейксты не ищет кратчайший только от одной вершины до остальных ИЛИ от одной вершины до другой?
Мне ведь нужен самый длинный простой путь в графе, т.е. от какой вершины не указано
0
12 / 7 / 7
Регистрация: 02.04.2014
Сообщений: 342
13.04.2014, 21:01 8
я думаю,можно обобщить.вот еще может пригодится http://school29.smoladmin.ru/arbuzov/floid.html
0
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 14
13.04.2014, 21:06  [ТС] 9
Спасибо за помощь еще раз. Я склонялся тоже к варианту Флойда-Уоршелла - создание матрицы длиннейших путей и затем поиска наибольшего в ней. Но вот насколько это оптимально - боюсь судить
0
13.04.2014, 21:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2014, 21:06
Помогаю со студенческими работами здесь

Простой путь в графе
Доброго времени суток. Наверно эта тема уже подымалась, но быстрый поиск ничего сносного не выдал...

Найти путь в графе
max_versh = 10; matr = zeros(max_versh,max_versh); opt_versh = 7; matr (1,2) = 1; matr (2,6)...

Найти путь в ориентированном графе
Здравствуйте, помогите, пожалуйста, решить задачу: Дан список взвешенных дуг ориентированного...

Найти кратчайший путь в графе
Здравствуйте. Мне необходима помощь в решении курсовой. Необходимо найти кратчайший путь в...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru