نام این الگوریتم بر اساس نام ارائهدهنده هلندی آن، یعنی اِدسخِر دایکسترا انتخاب شدهاست. در منابع فارسی آن را به شکلهای دِیکسترا، دکسترا، دایکسترا، دایجسترا، دیجسترا، دایجکسترا و دیجکسترا هم نوشته شده است، ولی جیمِ آن در تلفظ هلندی آن تلفظ نمیشود، لذا دو مورد اول صحیح هستند.
الگوریتم دایجسترا راهکاری برای پیدا کردن کموزن مسیر از رأس مشخص آغاز به بقیه رئوس در گراف جهتدار و وزندار (با وزنهای مثبت) میدهد. وزن یک مسیر در گراف وزندار برابر مجموع وزن یالهای آن است. جهتدار نبودن یالها هم مشکلی ایجاد نمیکند و میتوان برای یالهای غیر جهتدار دو یال فرض کرد.
لگوریتم
فرض کنید 1≤s≤n که در آن رأس s رأس آغاز است و فرض کنید:
dist(r)=0
و به ازای هر v≠r:
dist(v)=∞
فرض کنید مجموعهی T برابر رئوسی باشد که تا کنون کم وزنترین مسیر آنها را پیدا کردهایم. این الگوریتم در هر مرحله نزدیکترین رأس به s را که تا کنون به مجموعهی T اضافه نشده را انتخاب میکند (مثلا x) و آن را به مجموعهی T اضافه میکند و فاصلهی دیگر رأسها را با توجه به فاصلهی x بروز میکند. به ازای هر رأس v خارج T:....
برنامهنویسی شیگرا (به انگلیسی Object-Oriented Programming مخفف:OOP) یک شیوه برنامهنویسی است که ساختار یا بلوک اصلی اجزای آن، شیها میباشند. در واقع در این شیوه برنامهنویسی، برنامه به شی گرایش پیدا میکند. به این معنا که دادهها و توابعی که قرار است بر روی این دادهها عمل کنند، تا حد امکان در قالبی به نام شی در کنار یکدیگر قرار گرفته، جمعبندی شده و یک واحد (شی) را تشکیل داده و نسبت به محیط بیرونِ خود، کپسوله میشوند و از این طریق، توابع بیگانهٔ خارج از آن شی، دیگر امکان ایجاد تغییر در دادههای درون آن شی را ندارند. بهطور مثال حساب بانکی شما که شامل مشخصات فردی شما و میزان سپردهٔ شما در بانک است، تشکیل یک شی را میدهند و به دلیل دارا بودن ویژگی کپسوله، امکان دستکاری در میزان سپرده یا مشخصات شما، توسط دیگران وجود ندارد از دیگر ویژگیهای برنامهنویسی شی گرا، پیچیدگی کم، هزینه کم، امکان گسترش سریع برنامه با خطای کمتر نسبت به سایر پارادایمهای برنامهنویسی است.