J'ai un tableau (nodes[][]
) qui contient des valeurs de distances efficaces qui ressemble à quelque chose comme ceci:Meilleure méthode pour rechercher un tableau?
__ __
|1 0.4 3 |
|0.4 1 0 |
|3 3.2 1 ... |
|0.8 4 5 |
|0 0 1 |
-- --
Lorsque la première valeur, node[0][0]
est la distance du nœud 0 à 0 noeud qui est 1.
donc la distance du noeud 2 au noeud 1 est de 3,2 (node[2][1]=3.2
)
j'ai besoin, donné une colonne de noeud, pour rechercher à travers les lignes pour trouver la plus grande distance, sans se ramasser (node[1][1]
)
la méthode que je pensais faire quelque chose comme ça:
int n=0;
currentnode=0; //this is the column I am searching now
if(currentnode==n)
n++;
best=node[n][currentnode];
nextbest=node[n++][currentnode];
if(nextbest>best)
best=nextbest;
else
for(int x=n;x<max;x++) //max is the last column
{
if(currentnode==n)
continue;
nextbest=node[x][currentnode];
if(nextbest>best)
best=nextbest;
}
Je ne peux pas penser à une meilleure méthode pour le faire. Je pourrais utiliser des fonctions pour le rendre plus court mais c'est GÉNÉRALEMENT ce que je pense utiliser. Après cela, je dois faire une boucle pour aller à la colonne suivante que la meilleure distance revient et refaire cette routine.
Ce devoir est-il dû aujourd'hui? – catfood
C'est un petit projet que je fais en trouvant les distances efficaces pour un réseau sans fil Ad-Hoc en utilisant une méthode d'acheminement de paquets géographique glouton. Donc non? Certes, c'est une version très simplifiée de ce que je fais. –
Si la distance d'un nœud par rapport à lui-même est 1, comment pourrait-il y avoir un 0 dans la matrice? Est-ce une sorte de manipulation spatio-temporelle? :) – Zed