La implementación de un árbol binario de búsqueda equilibrado?

votos
10

He implementado un árbol binario de búsqueda y quiero añadir más funcionalidad en su función de inserción para que sea un árbol de auto-equilibrio. Estoy de codificación en C #.

¿Puede alguien por favor me buenos tutoriales o enlaces en esta sugerir? Hice algunas búsquedas y encontré algunos enlaces, pero ninguno de ellos eran lo suficientemente descriptivo.

Gracias.

Publicado el 24/07/2011 a las 09:25
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
13

Hay un gran número de algoritmos de árboles de búsqueda autobalanceados, muchos de los cuales son complejos y otros de los cuales son bastante sencillo (aunque, con algunas salvedades).

El libro "Introducción a los algoritmos, segunda edición" por Cormen, Leisserson, Rivest, y Stein es una excelente introducción a los algoritmos y cubre los árboles rojo / negro muy bien. Es también un gran libro en general en algoritmos y estructuras de datos.

Si usted está interesado en el uso árbol biselado , que son extremadamente rápido y en realidad bastante fácil de implementar, el documento original en la estructura de datos es muy accesible. Además de eso, se incluye una prueba de todos los límites de tiempo de ejecución.

El Treap es un simple árbol binario de búsqueda equilibrado aleatorio que puede ser implementado con bastante facilidad una vez que sabes cómo implementar rotación de árboles . Rotación de árboles también se utilizan en árbol biselado, así, y por lo que podría valer la pena investigar.

Para árboles AVL , esta conferencia parece ser un buen recurso.

¡Espero que esto ayude!

Respondida el 24/07/2011 a las 09:31
fuente por usuario

votos
0

echa un vistazo a http://code.google.com/p/self-balancing-avl-tree/ , implementa un árbol AVL autobalanceo en C #. además de que también lleva a cabo operaciones de concatenación y de división.

Respondida el 12/07/2012 a las 23:41
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more