Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Програма визначення досяжності населеного пункту в системі односторонніх доріг

Реферат Програма визначення досяжності населеного пункту в системі односторонніх доріг





рівні нескінченності

x [u]=0;// І немає найкоротшого шляху ні для однієї вершини

}

int v;


h [s]. v=0;// S - початок шляху, тому цій вершині нічого не передує

t [s]=0;// Найкоротший шлях з s в s дорівнює 0

x [s]=1;// Для вершини s знайдений найкоротший шлях

v=s;// Робимо s поточної вершиною

while (1)

{

/ / Перебираємо всі вершини, суміжні v, і шукаємо для них найкоротший шлях

for (u=0; u

{(a [v] [u] == 0) continue;// Вершини u і v несуміжні (x [u] == 0 && t [u]> t [v] + a [v] [u]) / / Якщо для вершини u ще

/ / знайдений найкоротший шлях

/ / і новий шлях в u коротше ніж

/ / старий, то

{

t [u]=t [v] + a [v] [u];// Запам'ятовуємо більш коротку довжину шляху в

/ / масив t і

h [u]. v=v;// Запам'ятовуємо, що v-> u частина найкоротшого

/ / шляху з s-> u

}

}


/ / Шукаємо з усіх довжин некратчайшіх шляхів найкоротший

int w=infinity;// Для пошуку найкоротшого шляху

v=- 1;// Наприкінці пошуку v - вершина, в яку буде

/ / знайдений новий найкоротший шлях. Вона стане

/ / поточної вершиною

for (u=0; u

{

if (x [u] == 0 && t [u]

/ / шлях і якщо довжина шляху в вершину u менше

/ / вже знайденої, то

{

v=u;// Поточної вершиною стає u-я вершина

w=t [u];

}

} (v == - 1)

{+=infinity;

/ / Memo1-> Lines-> Add («Ні шляху з вершини»);

break;

}

if (v == g && t [g] <100) / / Найден найкоротший шлях,

{/ / виводимо його


sumB +=t [g];


break;

} [v]=1;

}

}

} (sumDl> sumB) {= versh;=sumB;

}

} (punkt!=- 1) {-> Lines-> Add («Це пункт« + IntToStr (punkt)); 1 -> Lines-> Add (»- Виводимо маршрути - »);

/ / тепер вираховуючи маршрути до кожного пункту і виводимо їх

for (int versh=0; versh

s=punkt;// Номер вихідної вершини

int g=versh;// Номер кінцевої вершини

int * x;// Масив, що містить одиниці і нулі для кожної вершини,

/ / x [i]=0 - ще не знайдено найкоротший шлях в i-ю вершину,

/ / x [i]=1 - найкоротший шлях в i-ю вершину вже...


Назад | сторінка 8 з 10 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Найкоротший шлях через мережу
  • Реферат на тему: Завдання пошуку найкоротшого шляху
  • Реферат на тему: Розробка та реалізація алгоритму Флойда і Беллмана-Форда для пошуку найкоро ...
  • Реферат на тему: Пошук найкоротшого шляху в лабіринті
  • Реферат на тему: Пошук найкоротшого шляху в графі