Un nodo es la unidad básica de una estructura de datos , como una lista enlazada o un árbol . Los nodos contienen datos y también pueden enlazarse con otros nodos. Los enlaces entre nodos suelen implementarse mediante punteros .

Nodos y árboles

Los nodos suelen organizarse en estructuras de árbol. Un nodo representa la información contenida en una única estructura de datos. Estos nodos pueden contener un valor o condición, o posiblemente servir como otra estructura de datos independiente. Los nodos están representados por un único nodo padre. El punto más alto en una estructura de árbol se llama nodo raíz, que no tiene un nodo padre, pero sirve como padre o "abuelo" de todos los nodos que se encuentran debajo de él en el árbol. La altura de un nodo está determinada por el número total de aristas en el camino desde ese nodo hasta el nodo hoja más alejado, y la altura del árbol es igual a la altura del nodo raíz. [ 1 ] La profundidad de un nodo está determinada por la distancia entre ese nodo en particular y el nodo raíz. Se dice que el nodo raíz tiene una profundidad de cero. [ 2 ] Los datos pueden descubrirse a lo largo de estas rutas de red. [ 3 ] Una dirección IP utiliza este tipo de sistema de nodos para definir su ubicación en una red.
Definiciones
- Nodo hijo : Un nodo hijo es un nodo que se extiende desde otro nodo. Por ejemplo, una computadora con acceso a internet podría considerarse un nodo hijo de un nodo que representa internet. La relación inversa es la de un nodo padre . Si el nodo C es hijo del nodo A , entonces A es el nodo padre de C.
- Grado : el grado de un nodo es el número de hijos del nodo.
- Profundidad : la profundidad del nodo A es la longitud del camino desde A hasta el nodo raíz. Se dice que el nodo raíz tiene profundidad 0.
- Borde : la conexión entre nodos.
- Bosque : un conjunto de árboles.
- Altura : la altura del nodo A es la longitud del camino más largo a través de los hijos hasta un nodo hoja.
- Nodo interno : un nodo con al menos un hijo.
- Nodo hoja : un nodo sin hijos.
- Nodo raíz : un nodo que se distingue del resto de los nodos del árbol. Generalmente, se representa como el nodo más alto del árbol.
- Nodos hermanos : son nodos conectados al mismo nodo padre.
Lenguajes de marcado
Otro uso común de los árboles de nodos es en el desarrollo web . En programación, XML se utiliza para comunicar información entre programadores y computadoras. Por esta razón, XML se utiliza para crear protocolos de comunicación comunes en software de productividad de oficina y sirve de base para el desarrollo de lenguajes de marcado web modernos como XHTML . Aunque similares en su enfoque por parte de un programador, HTML y CSS son los lenguajes que se suelen utilizar para desarrollar el texto y el diseño de sitios web. Mientras que XML, HTML y XHTML proporcionan el lenguaje y la expresión, el DOM actúa como traductor. [ 4 ]
Tipo de nodo
Los distintos tipos de nodos en un árbol se representan mediante interfaces específicas. En otras palabras, el tipo de nodo se define por cómo se comunica con otros nodos. Cada nodo tiene una propiedad de tipo de nodo que especifica su tipo, como hermano u hoja. Por ejemplo, si la propiedad de tipo de nodo es la propiedad constante para un nodo, esta propiedad especifica el tipo de nodo. Así, si una propiedad de tipo de nodo es la propiedad constante node ELEMENT_NODE, se puede saber que este objeto nodo es un objeto Element. Este objeto utiliza la Elementinterfaz para definir todos los métodos y propiedades de ese nodo en particular.
Diferentes tipos y descripciones de nodos del Consorcio World Wide Web (W3C):
Documentrepresenta todo el documento (el nodo raíz del árbol DOM)DocumentFragmentrepresenta unDocumentobjeto "ligero", que puede contener una parte de un documento.DocumentTypeProporciona una interfaz para las entidades definidas para el documento.ProcessingInstructionrepresenta una instrucción de procesamientoEntityReferencerepresenta una referencia de entidadElementrepresenta un elementoAttrrepresenta un atributoTextrepresenta el contenido textual en un elemento o atributoCDATASectionrepresenta una sección CDATA en un documento (texto que NO será analizado por un analizador sintáctico)Commentrepresenta un comentarioEntityrepresenta una entidadNotationrepresenta una notación declarada en la DTD
objeto Nodo
Un objeto nodo se representa mediante un único nodo en un árbol. Puede ser un nodo de elemento, un nodo de atributo, un nodo de texto o cualquier otro tipo descrito en la sección "Tipo de nodo". Todos los objetos pueden heredar propiedades y métodos para gestionar nodos padre e hijo, pero no todos los objetos los tienen. Por ejemplo, con los nodos de texto, que no pueden tener nodos hijos, intentar añadir nodos hijos genera un error DOM .
Los objetos en el árbol DOM pueden ser direccionados y manipulados mediante métodos en los objetos. La interfaz pública de un DOM se especifica en su interfaz de programación de aplicaciones (API). La historia del Modelo de Objetos del Documento (DOM) está entrelazada con la historia de las " guerras de navegadores " de finales de la década de 1990 entre Netscape Navigator y Microsoft Internet Explorer , así como con la de JavaScript y JScript , los primeros lenguajes de scripting que se implementaron ampliamente en los motores de renderizado de los navegadores web .
Véase también
Referencias
- ^ "árbol (estructura de datos)" . Instituto Nacional de Estándares y Tecnología . Archivado del original el 24 de noviembre de 2014.
- ^ Teukolsky, Roselyn (2013). Barron's AP Computer Science A. Barron 's . ISBN 978-1-4380-0152-4.
- ^ "Simply Scheme: Introducción a la informática, cap. 18: Árboles" . Facultad de Ingeniería, Universidad de California, Berkeley . Archivado del original el 22 de diciembre de 2013.
- ^ "Introducción al DOM XML" . W3Schools . Archivado del original el 11 de junio de 2014. Consultado el 7 de abril de 2018 .
Enlaces externos
- Árboles de datos como medio para presentar análisis de datos complejos, por Sally Knipe.
- Clase de árbol de C++ similar a STL. Archivada el 26/11/2020 en Wayback Machine.
- Descripción de las estructuras de datos de árbol de ideainfo.8m.com
- WormWeb.org: Visualización interactiva del árbol celular de C. elegans - Visualice el árbol completo del linaje celular del nematodo C. elegans (javascript)
- Listas enlazadas
- Estructuras de datos de grafos