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(); };
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(); };