Esempio n. 1
0
void update2(int be)
	{//csak az uj el ertekeit kell updatelni
	//be adja meg, miaz uj index
	//bar ezt igazabol Nodes rogziti!, valoszinuleg Nodes-1 az erteke	
	//de be kell hozni a heap-et az optimum kivalasztasahoz :(	
	//joe=INF;
        
	double jobb;
	for(doublematrix::iterator i=crg.begin(); i!=crg.end();i++ )
		{jobb=delta1(be,i->first);	
		if (be<i->first)
			{hid[be][i->first]=m_h.push(jobb,be*2*NumPts+i->first);
			}
		else
			{if (be!=i->first)
				{hid[i->first][be]=m_h.push(jobb,i->first*2*NumPts+be);
				}
			}	
		}
	kiszed();
	};
Esempio n. 2
0
void update_in()
	{//kezdeti szamolas: heap feltoltese
	//de be kell hozni a heap-et az optimum kivalasztasahoz :(	
	//joe=INF;
	double jobb;
	for(doublematrix::iterator i=crg.begin(); i!=crg.end();i++ )
		{//tmp_el.start=i;
           // cout << i->first << "\n";
		doublematrix::iterator j=i;
		j++;	
		//joe=INF;
		for(; j!=crg.end();j++ )
			{//if ((i->first)<(j->first))
			//jobb=delta(i->first,j->first)+hist[i->first]+hist[j->first];	
			//hid[i->first][j->first]=m_h.push(delta(i->first,j->first)+hist[i->first]+hist[j->first],i->first*2*NumPts+j->first);
			jobb=delta1(i->first,j->first);
               // cout << jobb << "\n";
			hid[i->first][j->first]=m_h.push(jobb,i->first*2*NumPts+j->first);
			}
		}
	kiszed();
	};