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

Реферат Розробка та реалізація алгоритму Флойда і Беллмана-Форда для пошуку найкоротшого шляху між усіма вершинами графа





pan> алгоритм флойд Беллман псевдокод

Аналіз алгоритму Беллмана-Форда.

Час виконання програми, має порядок O ( nm ), де n - це кількість вершин, а m - це кількість дуг.

Найкращим випадком для алгоритму стане граф в якому 2 вершини і відсутні дуги, тобто вводиться матриця відстаней складається з нулів. p align="center"> 4. Програма реалізації алгоритмів


Нижче проілюстрована робота алгоритму Флойда, а сам код написаний в Додатку А. Заповнення матриці відстаней здійснюємо за допомогою читання текстового файлу В«algF. txtВ», заповнена матриця представлена ​​на малюнку 11.


В 

Малюнок 11 - Введення матриці з файлу


На малюнку 12 представлено висновок матриці найкоротших відстаней заданого графа, крім матриці показано час роботи програми в секундах.


В 

Рисунок 12 - Висновок результатів роботи програми за алгоритмом Флойда

На малюнку 13 показана матриця найкоротших шляхів, програма реалізована за допомогою алгоритму Беллмана-Форда. Заповнення матриці відстаней здійснюємо за допомогою читання текстового файлу В«algBF. TxtВ» У тому ж малюнку показано час роботи програми. Повний код програми знаходиться в Додатку Б. У реалізації цього алгоритму довелося додати зовнішній цикл, в якому будуть пробігати всі вершини: for ( start_v = 1; start_v <= n; start_v + + ) , таким чином цей алгоритм тепер знаходить немає від однієї вершини до всіх інших, а від кожної вершини до всіх інших.


В 

Малюнок 13 - Висновок результатів роботи програми за алгоритмом Беллмана-Форда

5. Тестування програм реалізації алгоритмів


.1 Тестування правильності


Протокол тестування правильності роботи програми за алгоритмом Флойда міститься в таблиці 1. У вхідних даних вводиться матриця відстаней, так само матрицю очікуємо отримати і у вихідних даних. Будемо вважати, що неіснуюче ребро між двома вершинами буде дорівнювати inf = 1000. Перший приклад характеризує орієнтований граф, другий же неорієнтоване. У 3 - му випадку граф складається з 6 вершин. В 4 та 5 прикладах використовуються ребра негативного ваги, де останній задає граф з циклом негативного ваги.


Таблиця 1 - Тестування правиль...


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





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

  • Реферат на тему: Пошук найкоротшого шляху між парами вершин в орієнтованому і неориентирован ...
  • Реферат на тему: Програмування алгоритмів роботи з частинами матриці. Складання програми ви ...
  • Реферат на тему: Модернізація заданого алгоритму програми для виведення інформації про стату ...
  • Реферат на тему: Розробка алгоритму і програми на асемблері
  • Реферат на тему: Розробка алгоритму програми &Таймер& на мові програмування C ++