رابط برنامه نویسی گراف وزندار (Edge Weighted Graph)

در این قسمت تیم کدگیت را با آموزش رابط برنامه نویسی گراف وزندار همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:

  1. آشنایی با گراف
  2. آشنایی با لیست پیوندی در جاوا
  3. Iterator در جاوا
  4. آشنایی با واژه رابطه برنامه نویسی(منظور api است)
  5. آشنایی با This در جاوا
  6. آشنایی با Constructor در جاوا
  7. آشنایی با متد در جاوا
  8. آشنایی با آرایه
  9. آشنایی با خواندن و نوشتن فایل در جاوا
  10. حلقه while در جاوا
  11. آشنایی مدیریت استثناها
  12. آشنایی با if
  13. آشنایی به for
  14. آشنایی با شی گرایی
  15. رابط برنامه نویسی گراف
  16. رابط برنامه نویسی گراف جهت دار

رابط برنامه‌نویسی نرم‌افزار

رابط برنامه‌نویسی نرم‌افزار یا به صورت خلاصه رابط برنامه نویسی، رابط بین یک کتابخانه یا سیستم‌عامل و برنامه‌هایی است که از آن تقاضای سرویس می‌کنند.

رابط کارکردهایی را تعریف می‌کند که کتابخانه یا سیستم‌عامل می‌تواند ارائه دهد و مفهومی مجرد است. این کارکردها سپس در قالب یک نرم‌افزار یا کتابخانه پیاده‌سازی می‌شوند. به عبارت ساده‌تر، رابط برنامه‌نویسی مجموعه توابعی است که یک برنامه می‌تواند از یک برنامه دیگر فرا بخواند.

برای مثال مایکروسافت برای  API‌ های ویندوز مرجع‌هایی استاندارد دارد که با استفاده از آنها برنامه‌نویسان می‌توانند از قابلیت‌ها و سرویس‌های سیستم‌عامل در توسعه و نوشتن برنامه‌های کاربردی خود استفاده کنند(ویکیپدیا).

پیاده سازی رابط برنامه نویسی گراف وزندار

در آموزش های گذشته دو رابط برنامه‌نویسی را پیاده سازی کرده‌ایم، یکی رابط برنامه نویسی گراف جهت دار و دیگری رابط برنامه نویسی گراف بوده است. همچنین در آموزش‌های قبل در مورد لیست پیوندی و نحوه پیاده سازی آن صحبت شد. در این جلسه با یکدیگر گراف وزندار (رابط برنامه نویسی گراف وزندار) را پیاده سازی می‌کنیم. برای پیاده سازی، ما نیاز به کلاس Bag یا همان لیست پیوندی که در آموزش رابط برنامه نویسی گراف توضیح داده شد، داریم. در مورد کلاس bag و ListIterator و Node در آموزش های قبل توضیحات داده شده است و در اینجا فقط کد آنها را آورده‌ایم.

کد کلاس Bag

کد کلاس Node

کد کلاس ListIterator

کلاس Edge

همانطور که از نام “رابط برنامه نویسی گراف وزندار” پیداست، ما نیاز داریم به یال‌های گرافمان وزن بدهیم و این کار را کلاس Edge انجام می‌دهد. این کلاس شامل سه فیلد به نام u و v و weight است. u و v دو راس ما هستند که یالی با وزن weight بین آنها وجود دارد. همچنین کلاس Edge شامل متدهای زیر می‌باشد:

  1. Edge: این متد همان Constructor ما است. متغیر u و v و weight را به عنوان ورودی می‌گیرد.
  2. Either: این متد یکی از راس‌ها را برمی‌گرداند.
  3. Other: این متد در ورودی، یکی از راس‌ها را گرفته و در خروجی راس دیگر (که با ورودی برابر نیست) را برمی‌گرداند.
  4. Weight: وزن یال را بر‌میگرداند.
  5. CompareTo: دو یال را با هم مقایسه می‌کند.
  6. ToString: این متد برای چاپ یال و راسها است.

کلاس EdgeWeightedGraph

EdgeWeightedGraph همان کلاس گراف ما است. این کلاس با استفاده از کلاس های بالا، رابط برنامه نویسی گراف وزندار ما را می‌سازد. در Constructor خود تعداد راس‌ها را به عنوان ورودی می‌گیرد و با استفاده از متد AddEdge، یالی را بین دو راس می‌سازد. بقیه متدها شبیه به متدهای رابط برنامه نویسی گراف می‌باشند.

تست رابط برنامه نویسی گراف وزندار

برای تست کدهای بالا،کد Main زیر را بزنید:

در کد Main ما 5 یال را ساختیم و به گراف اضافه کردیم سپس راسها و یال ها  را با دو روش متفاوت چاپ کردیم.

پسورد: www.codegate.ir

 

دسته : java, جاوا, گراف در جاوا

دیدگاه بگذارید

نظر شما چیست؟

مطلع کردن شما از
avatar

wpDiscuz