অয়লার পাথ হলো এমন পথ যা গ্রাফের প্রতিটি এজকে ঠিক একবার ভিজিট করে। ডায়রেক্টেড গ্রাফে অয়লার পাথ থাকার শর্তাবলী:
- গ্রাফটি কানেক্টেড হতে হবে।
- একটি ভার্টেক্স থাকবে যেনার
out-degree = in-degree + 1(শুরু নোড)। - একটি ভার্টেক্স থাকবে যেনার
in-degree = out-degree + 1(শেষ নোড)। - বাকি সব ভার্টেক্সের
in-degree = out-degreeহতে হবে।
ইনপুট: অ্যাডজেসেন্সি ম্যাট্রিক্স
| 0 | 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 | 0 |
| 0 | 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 | 1 |
| 1 | 0 | 0 | 0 | 0 |
আউটপুট
Euler Path Found.
এলগরিদম ও কোড সারসংক্ষেপ
traverse() দিয়ে DFS, isConnected() দিয়ে কানেক্টিভিটি চেক, hasEulerPath() দিয়ে ইন-ডিগ্রি/আউট-ডিগ্রি শর্তাবলী যাচাই। সম্পূর্ণ কোড সোর্সে দেওয়া আছে।
নোট: অয়লার সার্কিট (শুরু ও শেষ নোড একই) হলো অয়লার পাথের একটি স্পেশাল কেস।