Voici la question:Comment puis-je sauvegarder une structure arborescente dans un hashmap?
une relation de tableau à deux dimensions [n] [2] représentent la relation entre les noeuds, par relation exemple [0] est égal à {2,4}, donc il y a une relation de adjancency entre le noeud 2 et le noeud 4 et ne contient pas de relation cyclique.
Je veux sauver la structure de l'arbre dans un hashmap, alors j'ai essayé d'écrire mon code comme ci-dessous:
Map<Integer, LinkedList<Integer>> graph = new HashMap<Integer, LinkedList<Integer>>();
for (int i = 0; i < n; i++) {
int A = relation[i][0];
int B = relation[i][1];
if (graph.get(A) == null) {
List<Integer> tempList = new LinkedList();
tempList.add(B);
graph.put(A, tempList);
} else {
graph.get(A).add(B);
}
if (graph.get(B) == null) {
List<Integer> tempList = new LinkedList();
tempList.add(A);
graph.put(B, tempList);
} else {
graph.get(B).add(A);
}
}
appearently cela ne fonctionne pas, mais je ne sais pas comment le résoudre, peut quelqu'un m'aider à pls? Merci!
Pouvez-vous donner un exemple d'une entrée et sortie attendue et réelle? –
Techniquement, vous pourriez simplement faire 'graph.put (0, tree);' et il serait stocké dans une HashMap. Bien que je sois certain que ce n'est pas ce que tu veux, haha. – byxor
Pouvez-vous expliquer le cas d'utilisation? Peut-être qu'il y a une meilleure solution que de stocker un arbre dans une table de hachage. Par exemple, vous avez peut-être besoin d'une structure arborescente telle qu'elle est, mais en même temps, les nœuds ont des ID qui doivent être conservés dans une autre structure (par exemple: HashMap) pour une récupération rapide des nœuds. – andreim