2011-12-27 19 views

Respuesta

27

Estas son algunas bibliotecas que pueden serle útiles:

arboreal.js, un "micro-biblioteca para atravesar y manipular estructuras de datos en forma de árbol" en Node.js y el navegador.

buckets, una "biblioteca de estructura de datos completa, totalmente probada y documentada" que incluye BST, un montón y un montón de otras cosas.

+1

Lástima arbórea que tendrá soporte, 3 solicitudes de extracción de espera desde hace 2 años. buckets se ve muy bien pero, aparte de bst, realmente no proporciona estructuras de datos de árbol – Overdrivr

+2

TreeModel como lo indica @JNS parece ser la mejor opción. –

+1

En un proyecto en el que trabajé para la ONG ruandesa Solid Africa, la estructura del árbol era una parte importante de llevar un registro de los gastos y las donaciones (su gasto o donación pertenecía a una categoría, alimentos, cuidados especiales, etc.). En base a esta experiencia desarrollé el [paquete de nodos tree-util] (https://www.npmjs.com/package/tree-util). Espero que pueda ser útil cuando quieras trabajar con estructuras de árboles. Especialmente si relacionas datos con las estructuras de tu árbol. –

4

¡Ojalá hubiera visto esa solución antes, porque esas bibliotecas parecen útiles!

Aquí hay una que preparo que es una alternativa. Significaba para el cruce, la manipulación y la carga de estructuras jerárquicas de árbol de auto referenciar tablas planas, no para árboles binarios equilibrados.

DataStructures.Tree y related blog post

22

Dos bibliotecas a añadir a la lista son:

  • t.js - parece ser bueno para el recorrido;
  • TreeModel - Manipulación y recorrido.

exención de responsabilidad: I construyó TreeModel

4

No estoy seguro de cuáles son sus necesidades por lo que este es un tiro en la oscuridad. suelo utilizar (para el peso ligero Javascript) una matriz de matrices, así:

node[i] = [parent, firstChild, secondChild, ... nthChild]; 
2

Prueba el DOM

var o = document.createElement('WHAT_YOU_WANT') 
// o.appendChild(...) 
+10

Agregue algunas explicaciones de por qué este código ayuda al OP. Esto ayudará a proporcionar una buena respuesta. Ver [respuesta] para más información. –

+4

No estoy en desacuerdo con esta respuesta. El DOM es una estructura de árbol, compatible con XML y JSON. Eliminar nodos, agregar hijos, niños que contienen hijos. Agregue un poco de CSS y puede fácilmente una buena estructura de vista de árbol. Además, la pregunta no especifica la apariencia del widget que desean. –

+0

Esta es una buena respuesta, ¿por qué está esto downvoted? –

0

escribí un dato de simples orientadas biblioteca árbol llamado data-tree. Puede usar esto para crear, recorrer y buscar árbol en modo BFS/DFS. También puede importar/exportar datos desde el árbol. Pago y envío de la documentación detallada en: http://cchandurkar.github.io/Data-Tree/

utilizarlo en un nodo no parece npm install data-tree

+0

Las solicitudes de recomendación de recursos o herramientas fuera del sitio están fuera de tema en Desbordamiento de pila. Si respondes, específicamente refuerzas la creencia de que Stack Overflow es un buen lugar para responder esas preguntas. No lo es. No responda estas preguntas, incluso si conoce una buena respuesta, ya que la mayoría de las respuestas serán muy dogmáticas ("Personalmente me gusta ..."). Puede abrir el diálogo del indicador sobre la pregunta y ver el motivo completo en su totalidad en la categoría ** fuera del tema **, o en [ayuda/tema]. Tampoco deberías responder en un comentario, ya que el efecto es similar a una respuesta real. –

+0

@Kyll, gracias por llamar mi atención. No quiero reforzar ninguna de esas creencias. ¿Sería apropiado si borro mi respuesta? –

Cuestiones relacionadas