از آنجایی که رفتار مجانبی اجرای ساده الگوریتم دایکسترا این است:
\(O(n^2 + m)\)، پس با افزایش تعداد رئوس، سرعت کار راضی کننده نمی شود.
ساختارهای داده مختلفی را می توان برای بهبود استفاده کرد: تپه های فیبوناچی، مجموعه های
set یا یک صف اولویت
priority_queue.
مثالی را با
set در نظر بگیرید، در نتیجه، مجانب نهایی این است:
\(O(n log (m))\) ،
جزئیات.