Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

[C++]Реализация алгоритмов Примы, Краскала и Дейкстры.

18K
18 января 2007 года
HURRICANE
4 / / 05.08.2006
Весовая матрица
[ATTACH]1471[/ATTACH]

Вот такое задание:
Написать программу, реализующую указанные алгоритмы по заданной весовой матрице ориентированного графа.

Также нужно изобразить граф, построенный по матрице весов, и остовные деревья, найденный при помощи данных алгоритмов.
2.2K
22 января 2007 года
MagicPRO
100 / / 02.10.2006
Вот код алгоритма Дейкстры, я сначала сделал ввод, вывод с файла, но чето фигню выдавало, пришлось все с клавы вводить
Код:
#include <iostream.h>
#include <conio.h>


  void main()
  {
int n,xi,minX;
long int i;
float *B,**D;
unsigned char *A,*C;


    cin>>n>>xi; xi--;
    D=new float*[n];
    for( i=0;i<n;i++)
    {
        D=new float[n];
        for(int j=0;j<n;j++)
            cin>>D[j];
    }
     
    A=new unsigned char[n];
    B=new float[n];
    C=new unsigned char[n];
    for(i=0;i<n;i++)
    {
        A=0;
        B=D[xi];
        C=xi;
    }

    C[xi]=-1; A[xi]=1;
    for(int k=1;k<n;k++)
    {
        for(i=0;i<n;i++)
          if(B>0 && A!=1)
            {minX=i; break;}
        for(i=i+1;i<n;i++)
          if(A==0 && B>0)
            if(B<B[minX])
              minX=i;
        A[minX]=1;
      C[minX]=xi;
        for(i=0;i<n;i++)
          if(A==0 && xi!=i && B>B[xi]+D[xi])
            {B=B[xi]+D[xi]; C=xi;}
        cout<<k<<endl;
        cout<<"min="<<B[minX]<<" minX="<<minX<<endl;
        for(i=0;i<n;i++)    cout<<int(A)<<" ";
        cout<<endl;
        for(i=0;i<n;i++)    cout<<B<<" ";
        cout<<endl;
        for(i=0;i<n;i++)    cout<<int(C)<<" ";
        cout<<endl<<endl;
        xi=minX;

    }
    for(i=0;i<n;i++) cout<<(C+1)<<" ";

    for(i=0;i<n;i++) { delete[] D; D=NULL;}
    delete[] D; delete[] A; delete[] B; delete[] C;
    A=C=NULL; B=NULL; D=NULL;
   
   getch();
}
63
22 января 2007 года
Zorkus
2.6K / / 04.11.2006
http://algolist.manual.ru/maths/graphs/index.php,
Смотри ссылки в прилепленной теме.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог