Un nodo es una unidad básica de una estructura de datos , como una lista enlazada o una estructura de datos en forma de árbol . Los nodos contienen datos y también pueden vincularse con otros nodos. Los vínculos entre nodos suelen implementarse mediante punteros .
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 una 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 de una estructura de árbol se denomina 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 la ruta 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 del 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 se pueden descubrir 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.
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 utilizados en software de productividad de oficina y sirve como base para el desarrollo de lenguajes de marcado web modernos como XHTML . Aunque son similares en la forma en que un programador los aborda, HTML y CSS son típicamente el lenguaje utilizado para desarrollar texto y diseño de sitios web. Mientras que XML, HTML y XHTML proporcionan el lenguaje y la expresión, el DOM sirve como traductor. [4]
Los distintos tipos de nodos de un árbol se representan mediante interfaces específicas. En otras palabras, el tipo de nodo se define por la forma en que se comunica con otros nodos. Cada nodo tiene una propiedad de tipo de nodo, que especifica el tipo de nodo, como por ejemplo si es hermano o si es hoja. Por ejemplo, si la propiedad de tipo de nodo es la propiedad constante de un nodo, esta propiedad especifica el tipo del nodo. Por lo tanto, si una propiedad de tipo de nodo es la constante node ELEMENT_NODE, se puede saber que este objeto de nodo es un objeto Element. Este objeto utiliza la interfaz Element para definir todos los métodos y propiedades de ese nodo en particular.
Diferentes tipos de nodos y descripciones del Consorcio World Wide Web W3C :
Un objeto de 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 tipo que se describa en la sección "Tipo de nodo". Todos los objetos pueden heredar propiedades y métodos para trabajar con nodos primarios y secundarios, pero no todos los objetos tienen nodos primarios o secundarios. Por ejemplo, con nodos de texto que no pueden tener nodos secundarios, intentar agregar nodos secundarios da como resultado un error DOM .
Los objetos del árbol DOM pueden ser direccionados y manipulados mediante el uso de 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 de Documento está entrelazada con la historia de las " guerras de navegadores " de finales de los años 1990 entre Netscape Navigator y Microsoft Internet Explorer , así como con la de JavaScript y JScript , los primeros lenguajes de programación que se implementaron ampliamente en los motores de diseño de los navegadores web .