Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КОМПЬЮТЕРНА ДИСКРЕТНА МАТЕМАТИКА заочники.doc
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
5 Мб
Скачать
☆

Ейлерові цикли

Ейлеровим циклом у зв’язному неорієнтованому мультиграфі називають простий цикл (усі його ребра різні), утворений всіма ребрами графа.

Граф, який має ейлерів цикл, називається ейлеровим.

Ейлеровим ланцюгом (ще кажуть: ейлеровим шляхом) у зв’язному неорієнтованому мультиграфі називають простий ланцюг (усі його ребра різні), утворений всіма ребрами графа.

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

Приклад. Серед поданих нижче графів перший граф має ейлерів цикл (або цикл , якщо в іншому порядку обійти вершини графа; або можна вибрати іншу початкову вершину і побудувати інший простий цикл), другий має ейлерів ланцюг , а третій не має ні ейлерового ланцюга, ні ейлерового циклу.

Теорема 1. Зв’язний мультиграф має ейлерів цикл тоді і тільки тоді, коли степені всіх його вершин парні.

Алгоритм побудови ейлерового циклу. Нехай дано зв’язний граф G з парними степенями вершин. Обхід графа почнемо з будь-якої вершини і виберемо будь-яке ще не пройдене ребро ; далі виберемо будь-яке не пройдене ребро, інцидентне вершині (таке ребро обов’язково існує: увійшовши в будь-яку вершину, яка має парний степінь, завжди можна вийти з неї через ще не пройдене ребро), і т.д. Побудова циклу закінчиться у вершині . Якщо побудований цикл містить всі ребра, то маємо ейлерів цикл; якщо не всі, то вилучаємо з графа всі ребра побудованого циклу і всі вершини, які стали ізольованими. Оскільки граф G зв’язний, то цикл і граф G мають принаймні одну спільну вершину . Із цієї вершини побудуємо цикл і вставимо його в цикл замість вершини . Якщо побудований цикл містить всі ребра, то маємо ейлерів цикл; якщо не всі, то вилучаємо з графа всі ребра циклу і всі вершини, які стали ізольованими, і т.д.

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

Побудований цикл і частина графа, яка залишилася мають спільну вершину b. Із цієї вершини побудуємо цикл і вставимо його замість вершини b в цикл і одержимо цикл:

який містить всі ребра графа і ребра не повторюються, а, отже, цей цикл є ейлеровим.

Теорема 2. Зв’язний мультиграф має ейлерів ланцюг, але не має ейлерового циклу тоді і тільки тоді, коли він має рівно дві вершини непарного степеня.

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

Домашнє завдання

1. Довести, що ізоморфізм є відношенням еквівалентності на множині всіх графів (рефлексивність — граф G ізоморфний сам собі; симетричність — якщо граф ізоморний графові , то і ізоморний ; транзитивність — якщо граф ізоморний графові , а граф ізоморний графові , то ізоморфний графові ).

2. Встановити, чи є гомеоморфними графи , , . (перший і другий????, третій — ні)

3. Навести приклади елементарного, простого і складного: а) шляхів із а в е в орієнтованому графі ; визначити довжини цих шляхів; б) контурів у графі ; в) ланцюгів із а в е у співвіднесеному до графі; визначити довжини цих ланцюгів; г) циклів у співвіднесеному до графі.

4. Навести по одному прикладу: а) ейлерового графа; б) графа, який містить ейлерів ланцюг.

Практичне № 17

Матриця досяжності. Дводольні графи. Методи обходу графів

Цикломатичне число графа

Якщо незв’язний граф має n вершин, m ребер і k компонент зв’язності, то число називають цикломатичним числом графа. Якщо граф зв’язний, тобто має одну компоненту зв’язності, то його цикломатичним числом буде . Цикломатичне число зв’язного графа дорівнює найбільшій кількості незалежних циклів у графі.

1) , , , отже, ; 2) , , , отже, ;

Ланцюги між вершинами графа

У графах між двома різними вершинами елементарні ланцюги (шляхи) можуть мати довжину 1, 2, …, , тобто бути одно-, дво-, …, -кроковими.

Для будь-якого неорієнтованого чи орієнтованого графа, який не має кратних ребер і петель, матриця суміжності В (у такому випадку вона є матрицею бінарного відношення і містить лише 1 і 0) описує всі однокрокові елементарні ланцюги (шляхи) між двома різними вершинами, матриця , яка є другим булевим степенем матриці В, — двокрокові, …, матриця — -крокові.

► Приклад. За допомогою матриці суміжності з’ясувати, чи існують елементарні дво- і трикрокові шляхи із вершини а у вершину d у графі:

Розв’язання. Для заданого орієнтованого графа побудуємо матрицю суміжності:

і знайдемо її другий і третій степені:

, .

Оскільки в одержаних булевих степенях матриці суміжності елементи , , то із вершини а у вершину d елементарного двокрокового шляху немає, а трикроковий є. ◄

Матриця досяжності

Граф можна характеризувати за допомогою матриці досяжності . Рядки і стовпчики цієї матриці, як і матриці суміжності, позначають елементами множини вершин V. При цьому ; , якщо в графі існує ланцюг (шлях) із вершини у вершину ; , якщо в графі не існує ланцюга (шляху) із вершини у вершину . У неорієнтованого зв’язного і орієнтованого сильно зв’язного графа матриця досяжності містить тільки одиниці.

Приклад. Для поданих нижче орієнтованих графів А, В і С

відповідні матриці досяжності мають вигляд:

Д ля неорієнтованих графів Х і Y

матриці досяжності будуть симетричними:

◄

Теорема. У будь-якому графі без кратних ребер і без петель матриця досяжності D визначається матрицею суміжності B за формулою:

,

де Е — одинична матриця.

Кількість каркасів графа. Кількість різних каркасів простого зв’язного графа можна визначити за матрицею Кірхгофа . Рядки і стовпчики цієї матриці, як і матриці суміжності, позначають елементами множини вершин V. При цьому дорівнює степеневі вершини ; , якщо вершини і суміжні; , якщо вершини і не суміжні. У такій матриці сума елементів кожного рядка, а також кожного стовпчика дорівнює нулеві, а алгебраїчні доповнення всіх елементів рівні.

Теорема (Кірхгофа, 1847). Кількість каркасів простого неорієнтованого зв’язного графа дорівнює алгебраїчному доповненню будь-якого елемента матриці Кірхгофа.

Алгоритми обходу вершин графа називають методами пошуку. Розглянемо пошук вглиб і вшир.

Нехай дано простий зв’язний неорієнтований граф .

Пошук вглиб. В алгоритмі пошуку вглиб використовується стек, який працює за принципом LIFO (last in — first out), тобто додавання й вилучення елементів стеку відбувається з одного кінця — верхівки стеку.

Для простого зв’язного неорієнтованого графа алгоритм пошуку вглиб передбачає таку послідовність кроків:

К1. Довільній вершині v присвоюємо номер 1 і записуємо позначку цієї вершини в стек;

К2. Нехай у верхівці стеку є вершина . Якщо всі ребра, інцидентні вершині , позначено, то переходимо на К4, інакше — на К3;

К3. Нехай — непозначене ребро. Якщо вершині номер присвоєно, то ребро позначаємо, наприклад, пунктиром (- - -) і переходимо на К2. Якщо вершині номер не присвоєно, то присвоюємо їй поточний номер і записуємо її позначку в стек; ребро позначаємо, наприклад, суцільною товстою лінією (——) і переходимо на К2.

К4. Виключаємо з верхівки стеку позначку вершини . Якщо стек порожній, то каркас побудовано (його вершини перенумеровано, а ребра позначено суцільною товстою лінією); інакше переходимо на К2.

Пошук вшир. В алгоритмі пошуку вшир використовується список-черга, яка працює за принципом FIFO (first in — first out), тобто елементи додаються в хвіст черги, а вилучаються з голови. При виборі вершин з голови розглядаються всі ще не занумеровані її сусіди.

Для простого зв’язного неорієнтованого графа алгоритм пошуку вшир передбачає таку послідовність кроків:

К1. Довільній вершині v присвоюємо номер 1 і записуємо позначку цієї вершини в чергу;

К2. Нехай на початку черги є вершина . Якщо всі ребра, інцидентні вершині , позначено, то переходимо на К4, інакше — на К3;

К3. Нехай — непозначене ребро. Якщо вершині номер присвоєно, то ребро позначаємо, наприклад, пунктиром (- - -) і переходимо на К2. Якщо вершині номер не присвоєно, то присвоюємо їй поточний номер і записуємо її позначку в чергу; ребро позначаємо, наприклад, суцільною товстою лінією (——) і переходимо на К2.

К4. Вилучаємо з початку черги позначку вершини . Якщо черга порожня, то каркас побудовано (його вершини перенумеровано, а ребра позначено суцільною товстою лінією); інакше переходимо на К2.

Роботу алгоритмів пошуку вглиб і вшир зручно подавати за допомогою таблиці з чотирма колонками: вершина — інцидентне ребро, номер вершини, стек чи черга, коментар.

Приклад. Дано простий зв’язний неорієнтований граф:

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

Розв’язання. Щоб визначити, скільки каркасів має даний граф, побудуємо для нього матрицю Кірхгофа:

і знайдемо алгебраїчне доповнення, наприклад, елемента (вибір цього елемента зумовлено тим, що відповідний визначник можна легко порахувати):

.

Отже, заданий граф має 3 різні каркаси.

Побудуємо каркас графа, використовуючи метод пошуку вглиб.

Початковою виберемо вершину а. Протокол обходу графа подамо в таблиці:

Вершина — ін­ци­дентне ребро

Номер вершини

Стек

Коментар

а

1

а

К1 — вибираємо вершину а, їй присвоюємо номер 1, позначку а записуємо в стек.

b — (a, b)

2

ab

К2 — у верхівці стеку вершина а; К3 —вибираємо інцидентне вершині а ребро (a, b); вершина b не має номера, присвоюємо їй номер 2 і позначку b записуємо в стек; (a, b) позначаємо — .

c — (b, c)

3

abс

К2 — у верхівці стеку вершина b; К3 — вибираємо інцидентне вершині b ребро (b, c); вершина с не має номера, присвоюємо їй номер 3 і позначку с записуємо в стек; (b, c) позначаємо — .

—

—

ab

К2 — у верхівці стеку вершина с, єдине інцидентне їй ребро (b, c) вже позначено; К4 — вилучаємо з верхівки стеку елемент с.

d — (b, d)

4

abd

К2 — у верхівці стеку вершина b; К3 — вибираємо інцидентне вершині b ребро (b, d); вершина d не має номера, присвоюємо їй номер 4 і позначку d записуємо в стек; (b, d) позначаємо — .

e — (d, e)

5

abde

К2 — у верхівці стеку вершина d; К3 — вибираємо інцидентне вершині d ребро (d, e); вершина e не має номера, присвоюємо їй номер 5 і позначку e записуємо в стек; (d, e) позначаємо — .

b — (e, b)

—

abde

К2 — у верхівці стеку вершина е; К3 — вибираємо інцидентне вершині d ребро (e, b); вершина b має номер, тому (e, b) позначаємо - - -, а вміст стеку не змінюємо.

—

—

abd

К2 — у верхівці стеку вершина e; ребра, інцидентні вершині e, позначено; К4 — вилучаємо з верхівки стеку елемент e.

—

—

ab

К2 — у верхівці стеку вершина d; ребра, інцидентні вершині d, позначено; К4 — вилучаємо з верхівки стеку елемент d.

—

—

a

К2 — у верхівці стеку вершина b; ребра, інцидентні вершині b, позначено; К4 — вилучаємо з верхівки стеку елемент b.

—

—

X

К2 — у верхівці стеку вершина a; ребра, інцидентні вершині a, позначено; К4 — вилучаємо з верхівки стеку елемент a; стек став порожнім. Отже, каркас побудовано.

Побудований каркас має вигляд:

Тепер побудуємо каркас графа, використовуючи метод пошуку вшир.

Виберемо початковою вершину а. Послідовність обходу графа подамо в таблиці:

Вершина — ін­цидентне ребро

Номер вершини

черга

Коментар

а

1

а

К1 — вибираємо вершину а, їй присвоюємо номер 1, позначку а записуємо в чергу.

b — (a, b)

2

ab

К2 — на початку черги вершина а; К3 —вибираємо інцидентне вершині а ребро (a, b); вершина b не має номера, присвоюємо їй номер 2 і позначку b записуємо в кінець черги; (a, b) позначаємо — .

—

—

b

К2 — на початку черги вершина а; єдине інцидентне їй ребро (а, b) вже позначено; К4 — вилучаємо з початку черги елемент а.

с — (b, с)

3

bс

К2 — на початку черги вершина b; К3 — вибираємо інцидентне вершині b ребро (b, с); вершина с не має номера, присвоюємо їй номер 3 і позначку с записуємо в кінець черги; (b, с) позначаємо — .

d — (b, d)

4

abd

К2 — у верхівці стеку вершина b; К3 — вибираємо інцидентне вершині b ребро (b, d); вершина d не має номера, присвоюємо їй номер 4 і позначку d записуємо в стек; (b, d) позначаємо — .

e — (b, e)

5

bсde

К2 — на початку черги вершина b; К3 — вибираємо інцидентне вершині b ребро (b, e); вершина e не має номера, присвоюємо їй номер 5 і позначку e записуємо в кінець черги; (b, e) позначаємо — .

—

—

cde

К2 — на початку черги вершина b; усі інцидентні їй ребра вже позначено; К4 — вилучаємо з початку черги елемент b.

—

—

de

К2 — на початку черги вершина c; єдине інцидентне їй ребро (b, c) вже позначено; К4 — вилучаємо з початку черги елемент c.

е — (d, е)

—

de

К2 — на початку черги вершина d; К3 — інцидентне їй ребро (d, е) ще не позначене, але вершині е вже присвоєно номер 5, тому (d, е) позначаємо - - -, а вміст черги не змінюємо.

—

—

e

К2 — на початку черги вершина d; усі інцидентні їй ребра вже позначено; К4 — вилучаємо з початку черги елемент d.

—

—

X

К2 — на початку черги вершина e; усі інцидентні їй ребра вже позначено; К4 — вилучаємо з початку черги елемент e; черга стала порожньою. Отже, каркас побудовано.

Побудований каркас має вигляд:

Домашнє завдання до теми “Ізоморфізм графів. Ланцюги, цикли. Дводольні графи ”

16.12.11

1. Довести, що ізоморфізм є відношенням еквівалентності на множині всіх графів.

2 . Встановити, чи є гомеоморфними графи , , .

3. Навести приклади елементарного, простого і складного: а) шляхів із а в е в орієнтованому графі ; визначити довжини цих шляхів; б) контурів у графі ; в) ланцюгів із а в е у співвіднесеному до графі; визначити довжини цих ланцюгів; г) циклів у співвіднесеному до графі.

4. Для поданих графів А, В, С, Х, Y, використовуючи матрицю суміжності: а) визначити, чи існують 1-, 2- і 3-крокові ланцюги (шляхи) із вершини а у вершину d; б) матриці досяжності побудувати вручну і знайти за формулою .

5. Навести по одному прикладу: а) ейлерового графа; б) графа, який містить ейлерів ланцюг.

6. Дослідити, чи є графи Х, Y, Z дводольними.

Домашнє завдання до теми “Шлях, ланцюг, контур, цикл. Обхід графів”

16.12.11

1. Навести приклади елементарного, простого і складного: а) шляхів із а в е в орієнтованому графі ; визначити довжини цих шляхів; б) контурів у графі ; в) ланцюгів із а в е у співвіднесеному (неорієнтованому) до графі; визначити довжини цих ланцюгів; г) циклів у співвіднесеному до графі.

2. Для поданих графів А, В, С, Х, Y, використовуючи матрицю суміжності: а) визначити, чи існують 1-, 2- і 3-крокові ланцюги (шляхи) із вершини а у вершину d; б) матриці досяжності побудувати вручну і знайти за формулою .

Алгоритм Краскала побудови мінімального каркасного дерева зваженого графа

Алгоритм Краскала побудови мінімального каркасного дерева зваженого графа дає можливість побудувати мінімальний каркас, тобто каркас з найменшою сумою ваг ребер, у зваженому неорієнтованому графі.

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

Алгоритм Краскала:

К1. Впорядковуємо множину ребер за зростанням ваг.

К2. Розбиваємо множину вершин на одноелементні підмножини .

К3. Вибираємо з впорядкованої послідовності ребер таке наступне ребро, що його кінці належать різним підмножинам розбиття (це дає можливість уникнути простих циклів). Якщо вибрано ребро , то підмножини розбиття, які містять вершини і , об’єднуємо в одну підмножину.

К4. Якщо вибрано ребро, тобто всі підмножини розбиття об’єднано в одну множину, то каркас побудовано. Інакше перейти на К3.

Цей алгоритм дає можливість на кожному кроці вибрати найкращий з усіх варіантів.

П риклад. Знайти мінімальний каркас для неорієнтованого зваженого графа (на графі числами позначено ваги ребер).

Розв’язання. Для знаходження мінімального каркасу скористаємося алгоритмом Краскала. Впорядкуємо множину ребер за зростанням їхніх ваг: 1 — , 2 — , 3 — , 4 — , 5 — , 6 — , 7 — , 8 — , 9 — , 10 — . Протокол побудови мінімального каркасу подамо в таблиці:

Вага —

поточне ребро

Відбір ребра в

мінімальний каркас

Розбиття множини вершин

—

—

, , , , , ,

1 —

, , , , ,

2 —

, , , ,

3 —

, , ,

4 —

, ,

5 —

,

6 —

в каркас не відбираємо, бо вершини а і е належать одній підмножині розбиття

—

7 —

в каркас не відбираємо, бо вершини b і е належать одній підмножині розбиття

—

8 —

— усі підмножини розбиття об’єднано в одну множину, отже, каркас побудовано. X

Р ебра , , , , і , які утворюють мінімальний каркас, позначимо ——. Ребра , , а також ребра і які не ввійшли в мінімальний каркас, позначимо - - -. Побудований каркас має вигляд:

Практичне 18

Зважені графи. Підготовка до МКР

Найефективнішим алгоритмом знаходження найкоротшого шляху (ланцюг) від однієї вершини до іншої, якщо вага кожного ребра (дуги) додатна, є алгоритм Дейкстри.

При виконанні цього алгоритму вершинам графа приписуються тимчасові (їх, наприклад, будемо брати в дужки) і постійні (їх, наприклад, будемо обводити кружечками) позначки. Для подання алгоритму введемо позначення: — вага, тобто довжина дуги (ребра) ; — довжина шляху (ланцюга) із початкової вершини у вершину , а також позначка вершини на виконуваному кроці; — довжина шляху (ланцюга) із початкової вершини у вершину , а також позначка вершини на попередньому кроці; р — ім’я останньої вершини, позначка якої стала постійною. При виконанні алгоритму, щоб у кінці легше було записати знайдений мінімальний шлях (ланцюг), також можна заповнювати таблицю, яка має три рядки: вершина (у цьому рядку записуються імена всіх вершин від до ), мінімальна довжина шляху (ланцюга) від до даної відміченої постійною позначкою вершини р, попередня суміжна до р вершина, через яку проходить мінімальний шлях (ланцюг).

Алгоритм Дейкстри передбачає таку послідовність кроків.

К1. Присвоюємо початкові значення і розставляємо позначки: і вважаємо позначку 0 вершини постійною, тому останньою позначеною вершиною є ; також записуємо відповідну інформацію в таблицю; ( ) і вважаємо позначки вершин тимчасовими.

К2. Оновлюємо позначки: для кожної вершини з тимчасовою позначкою, в яку з вершини р іде дуга (ребро) , позначку замінюємо позначкою:

.

К3. Перетворюємо одну з позначок на постійну: серед усіх вершин з тимчасовими позначками знаходимо вершину з мінімальним значенням позначки і це значення позначки робимо постійним, останньою позначеною за допомогою постійної позначки вершиною стає ; відповідні дані записуємо в таблицю.

К4. Якщо остання помічена постійною позначкою вершина р є вершиною , то — довжина найкоротшого шляху (ланцюга) із вершини у вершину , а найкоротший шлях (ланцюг) легко записати, проходячи з кінця таблиці і враховуючи відповідні суміжні вершини; інакше — переходимо на К2.

Зауважимо, що найкоротших (з однаковою довжиною) шляхів (ланцюгів) із однієї вершини до іншої у графі може бути кілька. Алгоритм Дейкстри дає можливість знайти один із них.

Щоб знайти найкоротші шляхи (ланцюги) від до всіх решти вершин ( ) графа G, то наведений алгоритм треба виконувати доти, поки всі вершини не одержать постійних позначок.

Приклад. Дано зважений зв’язний орієнтований граф:

Знайти найкоротший шлях від вершини а до вершини g.

Розв’язання. Маємо орієнтований граф без петель і кратних ребер з додатними вагами. Тому можна застосувати алгоритм Дейкстри для знаходження найкоротшого шляху.

К1 — присвоюємо початкові значення і розставляємо позначки: і вважаємо позначку 0 вершини а постійною, , а також записуємо відповідну інформацію в таблицю:

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

К2 — з вершини ідуть дуги і і тому попередні позначки біля вершин b і e замінюємо позначками:

;

;

К3 — тимчасові позначки мають вершини b, c, d, e, f, g. Найменшим значенням їхніх позначок є:

.

Тому позначку вершини е робимо постійною:

Останньою позначеною (постійною позначкою) вершиною стає . Відповідні дані вносимо в таблицю:

К2 — з вершини ідуть дуги і і тому попередні позначки біля вершин d і f замінюємо позначками:

;

;

К3 — тимчасові позначки мають вершини b, c, d, f, g. Найменшим значенням їхніх позначок є:

Тому позначку вершини b робимо постійною:

Останньою позначеною (постійною позначкою) вершиною стає . Відповідні дані вносимо в таблицю:

К2 — з вершини ідуть дуги , і ; перерахуємо значення позначок:

;

;

.

Тому попередню позначку біля вершини с замінюємо на 5, позначку 8 біля вершини f замінюємо на 7, а позначку 6 біля вершини d не замінюємо:

К3 — тимчасові позначки мають вершини c, d, f, g. Найменшим значенням їхніх позначок є:

Тому позначку вершини с робимо постійною:

Останньою позначеною (постійною позначкою) вершиною стає . Відповідні дані вносимо в таблицю:

К2 — з вершини виходить одна дуга ; перерахуємо значення позначки вершини f:

.

Оскільки значення позначки вершини d не змінилося, то на графі ніякі зміни не відобразяться.

К3 — тимчасові позначки мають вершини d, f, g. Найменшим значенням їхніх позначок є:

.

Тому позначку вершини d робимо постійною:

Останньою позначеною (постійною позначкою) вершиною стає . Позначки 6 вершина d набула при підході до неї з вершини е і з вершини с, тому в таблицю як попередню суміжну до d вершину можна внести або с, або е; внесемо, наприклад, е:

К2 — з вершини ідуть дуги і ; перерахуємо значення позначок:

.

;

Т ому попередню позначку біля вершини g замінюємо на 9, а позначку 7 біля вершини f не замінюємо:

К3 — тимчасові позначки мають дві вершини f і g. Менше значення позначки має вершина f:

Тому позначку вершини f робимо постійною:

Останньою позначеною (постійною позначкою) вершиною стає . Позначки 7 вершина f набула при підході до неї з вершини b; у таблицю внесемо відповідну інформацію:

К2 — з вершини виходить одна дуга ; перерахуємо значення позначки біля вершини g:

.

Попередню позначку 9 біля вершини g замінюємо на 8:

К 3 — тимчасову позначку має лише вершина g. Тому останньою позначеною (постійною позначкою) вершиною стає вершина :

У таблицю внесемо відповідну інформацію:

К4 — оскільки , то — довжина найкоротшого шляху із вершини а в вершину g. Найкоротший шлях одержимо за таблицею, починаючи з її кінця:

Отже, найкоротшим шляхом із вершини а в вершину g є шлях: , який має довжину 8.

Оскільки в даному прикладі всі вершини помічено постійними позначками, то, користуючись таблицею, можна знайти шляхи із вершини а в будь-яку іншу вершину: (має довжину 4), (5), (6; знайдений шлях не єдиний мінімальний — таку ж довжину має шлях ), (2), (7).