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

Реферат Розробка програмного забезпечення для реалізації алгоритму Дейкстри





алгоритму задача була формалізована вигляді алгоритму.

Для позначення були використані наступні змінні:


ПеременнаяТіпОпісаніеnintКолічество точок (вершин) графаi, jintСчётчікіpintНомер найкоротшого шляху і найменшої довжини путіxnintНомер початкової точки (вершини) xkintНомер кінцевої точки (вершини) flag [1001] intМассів, i-й елемент якого має значення 0, коли i-й шлях і відстань тимчасові, і приймає значення 1, коли i-й шлях і відстань стають постоянниміc [+1001] [+1001] word (unsigned int) Масив ij елемент якого містить відстань між i-й і j-й крапками (вершинами) Зауваження: з [i] [i] =? c [i] [j]=c [j] [i] s [+8000] charСтрочная змінна, яка містить проміжні значення путіpath [+8000] [1001] charМассів рядків, який містить шляху Зауваження: Після проходження обробки за алгоритмом Дейкстри p-й елемент масиву містить найкоротший путь.l [1 001] word (unsigned int) Масив, який містить довжини шляхів (path) Зауваження: Після проходження обробки за алгоритмом Дейкстри p-й елемент масиву містить довжину найкоротшого шляху. Таблиця 1


4.1 АЛГОРИТМ ДЛЯ ПРОГРАМНОЇ РЕАЛІЗАЦІЇ ЗАВДАННЯ


схема 1

На схемі 1 зображена блок-схема роботи програми. Блок оброблювальний алгоритм Дейкстри називається Алгоритм Дейкстри (к.о.) Його докладний алгоритм представлений нижче, на схемі 2.


Схема 2


При запуску програми на екран виводиться запит про введення ваг ребер досліджуваного графа. Дані, введені користувачем, відображаються у вигляді матриці суміжності, в якій не існуючі ребра позначаються нулями. Після зазначеним ребрах присвоюється значення 2147483647 (як максимальне значення 32-х бітної змінної int), яке умовно приймається за нескінченність.

Наступним етапом виконання програми є запит про введення номерів вершин, між якими необхідно дізнатися шлях. У випадку, якщо початкова та кінцева вершини співпадають, відображається відповідне повідомлення і робота програми завершується. В іншому випадку виконується безпосередньо алгоритм Дейкстри, схема якого наведена в додатку В.

Результатом програми є вивід на екран вершин, через які проходить мінімальний шлях, а також висновок довжини маршруту. Якщо шляху між заданими точками не існує - виводиться відповідне повідомлення.

Крім стандартних функцій з бібліотек були використані також наступні функції: minim (word x, word y) - функція, яка повертає мінімальне з x і y.


схема 3min (int n) - функція, яка повертає номер елемента масиву l [i] мінімальної «невідмічений» довжиною шляху (flag [i]=0).


схема 4


4.2 середу Розробка програмного забезпечення


Як середовище для розробки програмного забезпечення була обрана Microsoft Visual Studio Express 2008, кошти Visual C ++. Microsoft Visual Studio Express - лінійка безкоштовних lt; # 253 src= doc_zip18.jpg / gt;

Рис. 8

. Після завершення завдання програма запропонує повторити операцію розрахунку (те ж саме програма може запропонувати після деяких помилок введення даних).


5.1 ПРИКЛАДИ РОБОТИ ПРОГРАМИ


Для перевірки працездатності програми зробимо розрахунок оптимального шляху для графа, докладно розглянутого раніше (п.3.3), з вершини 1 в вершину ??laquo; 5 raquo ;.


Рис. 9


Повний хід виконання програми представлений на малюнку малюнку 10.

Рис. 10


Результати виконання наступні: вершини, через які шлях оптимальний від першої до п'ятої точки 1,3,6,5 послідовно. Загальна вартість шляху 20, що відповідає попереднім розрахункам.

Нижче представлено зміст текстового файлу dalg.txt, з результатами роботи програми:

=== Результати виконання завдання [test] === -

Матриця суміжності для поточного графа:

V1V1=0 V1V2=2 V1V3=4 V1V4=0

V2V1=2 V2V2=0 V2V3=1 V2V4=0

V3V1=4 V3V2=1 V3V3=0 V3V4=1

V4V1=0 V4V2=0 V4V3=1 V4V4=0

Початкова вершина: 1

Кінцева вершина: 4

Розрахунок шляху для завдання [test] завершений.

Вершини, шлях через які оптимальний: V1-V2-V3-V4

Довжина шляху: 4

- === Результати виконання завдання [test2] === -

Матриця суміжності для поточного графа:

V1V1=0 V1V2=7 V1V3=9 V1V4=0 V1V5=0 V1V6=14

V2V1=7 V2V2=0 V2V3=10 V2V4=14 V2V5=0 V2V6=0

V3V1=9 V3V2=10 V3V3=0 V3V4=11 V3V5=0 V3V6=2

V4V1=0 V4V2=14 V4V3=11 V4V4=0 V4V5=6 V4V6=0

V5V1=0 V5V2=0 V5V3=0 V5V4=6 V5V5=0 V5V6=9

V6V1=14 V6V2=0 V6V3=2 V6V4=0 V6V5=9 V6V6=0

Початкова вершина: 1

Кінцева вершина: 5

Розрахунок шляху для завдання [test2] завершений.


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





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

  • Реферат на тему: Розробка та реалізація алгоритму Флойда і Беллмана-Форда для пошуку найкоро ...
  • Реферат на тему: Пошук найкоротшого шляху між парами вершин в орієнтованому і неориентирован ...
  • Реферат на тему: Завдання пошуку найкоротшого шляху
  • Реферат на тему: Програмна реалізація алгоритму Дейкстри (побудова ланцюгів мінімальної довж ...
  • Реферат на тему: Рішення завдання комівояжера за допомогою алгоритму Дейкстри