Показать сообщение отдельно
  #1 (permalink)  
Старый 10.01.2013, 02:36
Новичок на форуме
Отправить личное сообщение для JeSa Посмотреть профиль Найти все сообщения от JeSa
 
Регистрация: 02.11.2012
Сообщений: 4

Вопрос с графами
Делаю алгоритм Краскала. Вкратце, я отсортировал все ребра в массиве MAS, в массиве REZ у меня содержатся "цвета" (0..4), по идее, я шагаю по всем элементам MAS, если нахожу в моей матрице такую же длину ребра, как и в MAS, я сравниваю их цвета, и если цвета разные, то включаю это ребро в граф, и меняю цвета. Все должно работать, но блин уже 3 дня сижу, и все равно в некоторых ситуациях он рисует циклы, может кто подскажет?
for(k=0,t=0;k<10;k++)
	{
		for(i=0;i<(N-1);i++) 
				{
					for(j=i+1;j<N;j++) 
					{
						if(D[i][j]==MAS[k])
						{
							if((REZ[i]!=REZ[j])&&(t!=4))
							{
								ctx.moveTo(circles[i].x, circles[i].y);
								ctx.lineTo(circles[j].x,circles[j].y);
								t++;
								for(c=0;c<N;c++)
									{
										if(REZ[c]==REZ[j])
										{
											REZ[c]=REZ[i];
										}
										alert(REZ[c]);
									}
									
								
								
							}
							
						}
						
					}
					
				} 
				
	}
Изображения:
Тип файла: jpg Безымянный.JPG (48.9 Кб, 15 просмотров)
Ответить с цитированием