J'ai lu dans les spécifications des graphiques implémentés avec la liste d'adjacence que l'ajout d'arêtes est fait en temps constant. MAIS cela nécessiterait une recherche de nœud avec O (1). Je voudrais la meilleure performance possible. La question ici est quel type de données me donnerait cela. Hashmap a été considéré, le pire des cas avec hashmap est toujours O (n). Puis-je utiliser un tableau pour cela?Liste d'adjacence de graphes Comment implémenter O (1) recherche de nœuds/vertex. Array?
Les nœuds peuvent être de n'importe quel type de données, génériques. Cela pourrait-il être fait avec une fonction de hachage générant des valeurs d'index basées sur le nœud seul? Cela me donnerait O (1). Bien sûr, je peux juste capitaliser et utiliser LinkedList avec indexOf. Le temps constant est le meilleur.
En supposant que vous ayez un bon hachage, on suppose généralement que HashMap a O (1) runtime, en particulier pour les devoirs. – notnoop
J'ai demandé à mon chef de groupe, un diplômé en phd. Et O (1) est prévu temps de fonctionnement, et ce que j'ai besoin d'analyser est le pire des cas. – Algific