Quelqu'un peut-il me suggérer un pointeur vers un algorithme itératif pour l'insertion et la suppression dans un arbre rouge-noir? Tous les algorithmes disponibles dans .Net/C# sont basés sur la récursion, ce que je ne peux pas faire confiance pour manipuler un très grand nombre de données (d'où un grand nombre de profondeur de récursion pour l'insertion/suppression). Quelqu'un en a-t-il un basé sur l'itération?Algorithme itératif pour l'arbre rouge-noir
Note: Goletas.Collection utilise un algorithme itératif pour l'arbre AVL qui est très efficace pour un grand nombre de données, je veux aussi quelque chose de similaire pour Red-Black Tree.
Depuis un arbre rouge-noir est équilibré, la hauteur d'un arbre avec des éléments 'N' est approximativement' log_2 (N) '(au plus' 2 * log_2 (N + 1) '). Par conséquent, les opérations récursives ne prendront pas autant de pas, même si votre structure est très grande. Bien sûr, vous n'avez pas précisé ce qu'est réellement "grand" (pourriez-vous clarifier cela?). En outre, avez-vous essayé d'utiliser une implémentation existante d'un arbre d'auto-équilibrage? Sinon, ce serait une perte de temps si vous commenciez à implémenter quelque chose qui n'est pas nécessaire pour commencer. –