Create A News Type Blog To Add To Website With Easy Updates

Instagram Post Removed

how to run an affiliate program on instagram party template instagram post instagram posts post template canva how to use instagram branded content tools for your business guide instagram video length what are you missing out 7 tips for reposting instagram stories user generated content free instagram templates in psd ai vector brandpacks canva color pop template instagram canva template story templates instagram business card pink qr code business card template designer 2 for 1 instagram highlight covers watercolor etsy 50 instagram bio ideas to get inspiration for your business profile 5 myths about working with influencers later blog guide to instagram live videos makeup artist instagram post templates beauty skincare template your ultimate guide to creating instagram ads canva pregnancy announcement digital baby announcement gender neutral little mermaid pregnancy announcement baby girl expecting card how to schedule instagram posts in 2026 mobile desktop socialbee top 6 tools to generate auto captions for videos tech hyme the best iphone and android apps of 2017 time 50 days of instagram captions that engage birdesign 3 big reasons why your posts not getting likes on instagram and how to ugc 6 secrets to transform your instagram feed kate co 6 tech tips how to use instagram to promote your brand norsecorp how to share influencer posts as branded content ads on instagram how to brand yourself on instagram brand you instagram brand colors how to use micro influencers to grow your business in 2023 later instagram highlight covers pink instagram icons shades of pink etsy boho canva instagram post templates a social media template by kurly free instagram stories card mockup in psd in 2025 instagram mockup social light instagram templates canva templates etsy tag products on instagram some brilliant examples to learn from 5 exciting instagram updates coming in 2018 instagram update how much data does instagram use tech advisor pink monthly instagram story highlight covers ig highlight icons

:
IBM Launch PPT Template
Add Dijkstra algorithm illustrations and explanations
1 parent Retailer Spotlight Instagram Post Ideas For A Product commit f41e6ab

How to run an affiliate program on instagram 2 files changed How To Get Business Credit Cards

Lines changed: 134 additions & 1 deletion

Print Business Cards At Home Instagram Post Removed

src/algorithms/graph/dijkstra/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# Dijkstra's Algorithm
22

33
_Read this in other languages:_
4-
[_한국어_](README.ko-KR.md)
4+
[_한국어_](README.ko-KR.md),
5+
[_Українська_](README.uk-UA.md)
56

67
Dijkstra's algorithm is an algorithm for finding the shortest
78
paths between nodes in a graph, which may represent, for example,
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
# Алгоритм Дейкстри
2+
3+
_Читайте іншими мовами:_
4+
[_English_](README.md),
5+
[_한국어_](README.ko-KR.md)
6+
7+
Алгоритм Дейкстри — це алгоритм пошуку найкоротших шляхів між вершинами графа, який може представляти, наприклад, дорожню мережу.
8+
9+
Існує багато варіантів цього алгоритму; оригінальний варіант Дейкстри знаходив найкоротший шлях між двома вершинами, але більш поширений варіант фіксує одну вершину як «джерело» і знаходить найкоротші шляхи від неї до всіх інших вершин графа, утворюючи дерево найкоротших шляхів.
10+
11+
![Dijkstra](https://upload.wikimedia.org/wikipedia/commons/5/57/Dijkstra_Animation.gif)
12+
13+
Алгоритм Дейкстри для пошуку найкоротшого шляху між `a` та `b`.
14+
Він вибирає непереглянуту вершину з найменшою відстанню, обчислює відстань через неї до кожного непереглянутого сусіда й оновлює відстань до сусіда, якщо вона менша. Коли всі сусіди опрацьовані — вершина позначається як відвідана (червоним кольором).
15+
16+
## Практичні застосування алгоритму Дейкстри
17+
18+
- GPS / навігаційні системи
19+
- Оптимізація маршрутів громадського транспорту та авіаліній
20+
- Інтернет-маршрутизація (протоколи OSPF, IS-IS)
21+
- Оптимізація мережевого трафіку та затримок
22+
- Пошук шляху в іграх (найкоротший шлях на карті)
23+
- Оптимізація маршрутів доставки
24+
- Проєктування логістичних та транспортних мереж
25+
26+
## Покроковий приклад алгоритму Дейкстри
27+
28+
Припустімо, ми маємо зважений граф вершин, де кожне ребро має певну довжину. Наприклад, відстань між вершинами `A` і `B` становить `7 метрів` (або просто `7m`).
29+
30+
Алгоритм використовує [чергу з пріоритетом](../../../data-structures/priority-queue/), щоб завжди вибирати наступну непереглянуту вершину з найменшою відстанню від початкової вершини.
31+
32+
Початкова вершина, за визначенням, має відстань `0m` від самої себе. З неї й починається пошук — вона єдина в черзі на початку.
33+
34+
Решта вершин додаються до черги з пріоритетом пізніше, у процесі обходу графа (під час відвідування сусідів).
35+
36+
![Dijkstra step 1](./images/dijkstra-01.png)
37+
38+
Кожен сусід витягнутої з черги вершини перевіряється для обчислення відстані до нього від початкової вершини. Наприклад, відстань від `A` до `B` — це `0m + 7m = 7m`.
39+
40+
Щоразу, коли ми відвідуємо нового (ще не баченого) сусіда, ми додаємо його в чергу з пріоритетом, де пріоритет — це відстань до цієї вершини від початкової.
41+
42+
Вершину `B` додаємо до мінімальної черги з пріоритетом, щоб відвідати її пізніше.
43+
44+
![Dijkstra step 2](./images/dijkstra-02.png)
45+
46+
Відвідуємо наступного сусіда `C` вершини `A`. Відстань від `A` до `C` становить `0m + 9m = 9m`.
47+
48+
Додаємо вершину `C` до мінімальної черги з пріоритетом.
49+
50+
![Dijkstra step 3](./images/dijkstra-03.png)
51+
52+
Те саме робимо для вершини `F`. Поточна відстань від `A` до `F``0m + 14m = 14m`.
53+
54+
Вершину `F` додаємо до черги для подальшого обходу.
55+
56+
![Dijkstra step 4](./images/dijkstra-04.png)
57+
58+
Коли всі сусіди поточної вершини перевірені, ми додаємо її до множини `visited`. Такі вершини більше не відвідуємо.
59+
60+
Тепер вибираємо з черги наступну вершину, найближчу до початкової, і починаємо відвідувати її сусідів.
61+
62+
![Dijkstra step 5](./images/dijkstra-05.png)
63+
64+
Якщо вершина, яку ми відвідуємо (наприклад, `C`), уже є в черзі, це означає, що відстань до неї вже обчислювалася раніше з іншого шляху (`A → C`). Якщо нова відстань (через інший шлях, наприклад `A → B → C`) менша, ми оновлюємо її в черзі. Якщо більша — залишаємо без змін.
65+
66+
Під час відвідування `C` через `B` (`A → B → C`), відстань дорівнює `7m + 10m = 17m`. Це більше, ніж уже відома `9m` для шляху `A → C`. Тож ми ігноруємо довший шлях.
67+
68+
![Dijkstra step 6](./images/dijkstra-06.png)
69+
70+
Відвідуємо іншого сусіда `B` — вершину `D`. Відстань до `D` дорівнює `7m + 15m = 22m`.
71+
Оскільки `D` ще не відвідано і її немає в черзі, додаємо її з пріоритетом `22m`.
72+
73+
![Dijkstra step 7](./images/dijkstra-07.png)
74+
75+
Тепер усіх сусідів `B` відвідано, тож додаємо `B` до множини `visited`.
76+
Наступною вибираємо вершину, що найближча до початкової.
77+
78+
![Dijkstra step 8](./images/dijkstra-08.png)
79+
80+
Відвідуємо непереглянутих сусідів вершини `C`.
81+
Відстань до вершини `F` через `C` (`A → C → F`) дорівнює `9m + 2m = 11m`.
82+
Це коротше за попередній шлях `A → F` довжиною `14m`.
83+
Тому оновлюємо відстань до `F` — з `14m` до `11m`. Ми щойно знайшли коротший шлях.
84+
85+
![Dijkstra step 9](./images/dijkstra-09.png)
86+
87+
Так само для `D`: шлях `A → C → D` коротший за `A → B → D`.
88+
Оновлюємо відстань з `22m` до `20m`.
89+
90+
![Dijkstra step 10](./images/dijkstra-10.png)
91+
92+
Усі сусіди `C` пройдені, додаємо її до `visited`.
93+
Дістаємо з черги наступну найближчу вершину — `F`.
94+
95+
![Dijkstra step 11](./images/dijkstra-11.png)
96+
97+
Записуємо відстань до `E`: `11m + 9m = 20m`.
98+
99+
![Dijkstra step 12](./images/dijkstra-12.png)
100+
101+
Додаємо `F` до множини `visited`, далі дістаємо `D`.
102+
103+
![Dijkstra step 13](./images/dijkstra-13.png)
104+
105+
Відстань до `E` через `D`: `20m + 6m = 26m`.
106+
Це більше, ніж уже обчислені `20m` через `F`, тому ігноруємо довший шлях.
107+
108+
![Dijkstra step 14](./images/dijkstra-14.png)
109+
110+
Вершину `D` відвідано.
111+
112+
![Dijkstra step 15](./images/dijkstra-15.png)
113+
114+
Вершину `E` також відвідано. Обхід графа завершено.
115+
116+
![Dijkstra step 16](./images/dijkstra-16.png)
117+
118+
Тепер ми знаємо найкоротші відстані до кожної вершини від початкової `A`.
119+
120+
На практиці під час обчислення відстаней також зберігаються `previousVertices` — попередні вершини, щоб можна було відновити повний шлях.
121+
122+
Наприклад, найкоротший шлях від `A` до `E` — це `A → C → F → E`.
123+
124+
## Приклад реалізації
125+
126+
- [dijkstra.js](./dijkstra.js)
127+
128+
## Джерела
129+
130+
- [Вікіпедія](https://uk.wikipedia.org/wiki/Алгоритм_Дейкстри)
131+
- [Відео на YouTube від Nathaniel Fan](https://www.youtube.com/watch?v=gdmfOwyQlcI&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8)
132+
- [Відео на YouTube від Tushar Roy](https://www.youtube.com/watch?v=lAXZGERcDf4&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8)

Day Of Event Timeline Template Instagram Post Removed

Comments
 (0)