تیدبل ارز
تبدیل ارز میتواند به دو روش صورت بگیرد 1-مستقیم 2-غیر مستقیم
از USD به CAD مستقیم
از USD به GBP غیر مستقیم
در ابتدا باید مشخص کرد اگر مسیر تبدیل یا ارز مقصد یا مبدا وجود نداشت چه عملیاتی باید انجام شود ؟ مانند ریال (IRR) در شکل یا لیر ترکیه TRY که در شکل موجود نمیباشد.
برای تبدیل ارز های مختلف باید از ارز مبدا گراف را پیمایش نمود تا به ارز مقصد رسید.
به شکل نگاه کنید .مشکلی که وجود دارد این است برای تبدیل gbp به usd مسیری وجود ندارد .به همین دلیل ما باید جهت گراف را دو طرفه کرده و نرخ تبدیل درصورتی که ضرب میباشد در حالت بر عکس ان به تقسیم تبدیل کنیم.
برای پیمایش گراف میتوان از الگوریتم های مختلفی استفاده کرد از جمله bsf و dsf و Dijkstra
در الگوریتم dfs این امکان وجود دارد مسیر پیدا شده کوتاه ترین مسیر نباشد .که بنده الگوریتم bfs رو پیشنهاد میدهم.
توجه کنید که در زمان مشاهده گره در گراف معکوس کردن نرخ تبدیل ضروری است.