J'ai été en mesure de trouver des détails sur plusieurs auto-équilibrage BST
s à travers plusieurs sources, mais je n'ai pas trouvé de bonnes descriptions détaillant lequel est le meilleur utiliser dans des situations différentes (ou si cela n'a pas vraiment d'importance).Meilleur auto-équilibrage BST pour l'insertion rapide d'un grand nombre de nœuds
Je veux un BST
qui est optimal pour stocker plus de dix millions de nœuds. L'ordre d'insertion des nœuds est fondamentalement aléatoire, et je n'aurai jamais besoin de supprimer des nœuds, donc le temps d'insertion est la seule chose qui aurait besoin d'être optimisée. J'ai l'intention de l'utiliser pour stocker des états de jeu visités précédemment dans un jeu de puzzle, de sorte que je puisse rapidement vérifier si une configuration précédente a déjà été rencontrée.
Celui-ci est une sagesse conventionnelle. Dans le meilleur des cas, O (1), les implémentations vont évidemment varier. Il existe également différents algorithmes de table de hachage. – ApplePieIsGood
"Celui-ci est la sagesse conventionnelle." - Je l'ai entendu plusieurs fois, mais je n'ai toujours pas vu de preuve. Je pense qu'il serait bon de défier ce morceau de folklore si vous voulez le résultat théorique "c'est O (1)", ou de mesurer différentes structures de recherche si vous voulez "rapide dans la pratique". "Le meilleur cas, O (1)" - les arbres de recherche déséquilibrés ont aussi cela, mais personne ne prétend qu'ils ont "O (1) insertion et recherche". –
un arbre de recherche déséquilibrée dans le meilleur des cas sera un nœud d'équilibrée. Le meilleur cas d'insertion/recherche est toujours log (n) –