Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ageon
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 23
#1

Алгоритм Дейкстра - C++

05.06.2013, 00:53. Просмотров 668. Ответов 1
Метки нет (Все метки)

Есть у кого исходник кода,чтобы проверяло достижимость из выбранного города во все остальные?
или помогите, пожалуйста, выделить вот отсюда этот нужный алгоритм :


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
AnsiString bufS,*bufD=new AnsiString[n],bufP;   // ñòðîêè êîòîðûå Г*ГіГ¦Г*Г» äëÿ âûâîäГ* ðåçóëüòГ*ГІГ* Г*Г* ГЅГЄГ°Г*Г*
    int *S=new int[n-1],*D=new int[n],              // массивы,необходимые для алгоритма
        *P=new int[n],w,min;                    // массив S  содержит вершины как помеченные
    for (int k=0; k<n-1; k++) {                     //массив D  cодержит кратчайшие расстояния к вершинам из вершин источника
        S[k]=-1;                                // P- массив последних посещенных вершин на маршруте
    }
    S[0]=a;
    for (int i=0; i<n; i++) {                       //начало алгоритма
        if (C[a][i]==NULL) D[i]=MAX;
            else D[i]=C[a][i];
        bufP=bufP+frmt(AnsiString((P[i]=a)+1),4);
        if (D[i]==MAX) bufD[0]=bufD[0]+"   ~";
            else bufD[0]=bufD[0]+frmt(AnsiString(D[i]),4);
    }
    for (int i=1; i<n-1; i++) {
        min=MAX;
        for (int k=0; k<n; k++) {
            if (D[k]<min && !in_arr(k,S) && k!=a) {
                w=k;
                min=D[k];
            }
        }
        if (min==MAX) break;
        bufS=bufD[i]=bufP="";
        S[i]=w;
        for (int j=0; j<n; j++) {
            if (!in_arr(j,S) && C[w][j]!=NULL && (D[w]+C[w][j])<=D[j]) {
                P[j]=w;
                D[j]=D[w]+C[w][j];
            }
            if (!in_arr(j,S) && D[j]<MAX) {
                bufD[i]=bufD[i]+frmt(AnsiString(D[j]),4);
            } else bufD[i]=bufD[i]+"   ~";
            bufP=bufP+frmt(AnsiString(P[j]+1),4);
        }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2013, 00:53     Алгоритм Дейкстра
Посмотрите здесь:

Алгоритм Дейкстра C++
Жадный алгоритм C++
АЛГОРИТМ ДЕЙКСТРА C++
C++ написать алгоритм
C++ составить алгоритм!!!
Алгоритм Джарвиса C++
C++ Алгоритм Дейкстри
Реализовать алгоритм(А*) C++
C++ Матрица Форда Беллмана и метод Дейкстра
Алгоритм сортировки C++
Алгоритм RLE C++
Алгоритм Дейкстра. Поиск кратчайшего пути с запоминанием маршрута C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
salam
157 / 138 / 11
Регистрация: 10.07.2012
Сообщений: 709
05.06.2013, 06:18     Алгоритм Дейкстра #2
где вы нашли этот код...)) господи...
вообще говоря, алгоритм Дейкстры вам не нужен. нужен дфс.
Yandex
Объявления
05.06.2013, 06:18     Алгоритм Дейкстра
Ответ Создать тему
Опции темы

Текущее время: 21:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru