1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

الگوریتم Dijkstra

شروع موضوع توسط Twister ‏24/11/11 در انجمن برنامه نویسی

  1. کاربر ارشد

    تاریخ عضویت:
    ‏24/4/11
    ارسال ها:
    10,504
    تشکر شده:
    689
    امتیاز دستاورد:
    0
    کد:
    Dijkstra(n,L[1..n,1...n]){
    t={ }
    for i=2 to do
    {touch[i]=1
      lenght[i]=L[1,i]
    }
    repeat n-1 times
    {min=bi nahayat
      for i=2 to n do
       if 0<lenght[i]<min
         min=lenght[i] , k=i
      t=tu{(touch[k],k)}
    for i=2 to n do
      if lenght [k]+ L[k,i]<lenght[i]
        lenght[i]=lenght[k]+L[k,i] , touch[i]=k
      minLen[k]=lenght[k]
      lenght[k]= -1 //2 bare entekhab nashavad
      }// end of repeat
    return t
    }