باز کردن منو اصلی

گراف وزن‌دار، گرافی است که به هر یال آن عددی نسبت داده شده‌است[۱] که وزن آن یال می‌باشد. یا به راس آن عددی نسبت داده شده. وزن یال می‌تواند نشان دهنده هزینه، مسافت، زمان یا هر مشخصه دیگری از یال باشد. بعضی از نویسنده‌ها به آن گراف شبکه‌ای می‌گویند.[۲] از گراف وزن‌دار برای حل مسائلی چون فروشنده دوره گرد استفاده می‌شود. درگراف وزن‌دار، وزن‌ها را در ماتریس مجاورت ذخیره می‌کنند.

انواع گراف وزن‌دارویرایش

  • گرافی که راس‌های آن دارای وزن می‌باشند.
  • گرافی که یال‌های آن دارای وزن می‌باشند.
  • گرافی که هم راس و هم یال‌های آن دارای وزن می‌باشند.[۳]

وزن یال‌هاویرایش

وزن هر یال یک گراف موزون می‌تواند نشان دهنده یکی از موارد زیر باشد:

  • هزینه یا مسافت: میزان هزینه یا مقدار مسافت برای جابه جایی از یک راس (مکان) به راس دیگر.
  • ظرفیت: حد اکثر میزان چیزی که می‌تواند از یک راس (مکان) به راس دیگر منتقل شود.

پیاده‌سازی گراف وزن‌دارویرایش

کلاس مربوط به پیاده‌سازی یال‌ها:

public class Edge

  {
     int  NodeID;     // The neighbor node
     double Weight;   // وزن یال
     Node next;       // Link variable
  }

کلاس مربوط به پیاده‌سازی گراف

public class Graph

  {
      public Edge[] graph;    // Array of Edges
  }

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

  • اگر بین دو راس i و j هیچ یالی نباشد، مقدار a[i][j] را برابر بینهایت قرار می‌دهیم.
  • اگر بین دو راس i و j یالی باشد، مقدار a[i][j] را برابر ارزش آن یال قرار می‌دهیم.

کلاس مربوط به پیاده‌سازی گراف وزن‌دار با استفاده از ماتریس مجاورت

public class Graph

  {
     double[][] M;      // M[i][j] = weight of edge (i,j)
     ...
  }

منابعویرایش

  1. Fletcher, Peter; Hoyle, Hughes; Patty, C. Wayne (1991). Foundations of Discrete Mathematics (International student ed.). Boston: PWS-KENT Pub. Co. p. 463. ISBN 0-534-92373-9. A weighted graph is a graph in which a number w(e), called its weight, is assigned to each edge e.
  2. Strang, Gilbert (2005), Linear Algebra and Its Applications (4th ed.), Brooks Cole, ISBN 0-03-010567-6
  3. Weisstein, Eric W. "Weighted Graph." From MathWorld--A