Введение

Основная единица структуры данных. Узел — это базовая единица структуры данных, такой как связный список или структура данных в виде дерева. Узлы содержат данные и могут также содержать ссылки на другие узлы. Связи между узлами часто реализуются посредством указателей.

Узлы и деревья

Узлы часто организуются в древовидные структуры. Узел представляет информацию, содержащуюся в единой структуре данных. Эти узлы могут содержать значение или условие, либо выступать в качестве другой независимой структуры данных. Каждый узел имеет одного родительского узла. Наивысшая точка в древовидной структуре называется корневым узлом, который не имеет родительского узла, но является родителем или "прародителем" всех узлов, расположенных ниже него в дереве. Высота узла определяется общим количеством ребер на пути от этого узла до самого дальнего листового узла, а высота дерева равна высоте корневого узла. Глубина узла определяется расстоянием между этим узлом и корневым узлом. Корневой узел имеет глубину, равную нулю. Данные могут быть обнаружены по этим сетевым путям. IP-адрес использует подобную систему узлов для определения своего местоположения в сети.

Определения

Ребенок: Дочерний узел – это узел, отходящий от другого узла. Например, компьютер с доступом в интернет можно рассматривать как дочерний узел узла, представляющего интернет. Обратной связью является отношение родительского узла. Если узел C является дочерним узлом узла A, то A является родительским узлом узла C.
Степень: Степень узла – это количество дочерних узлов данного узла.
Глубина: Глубина узла A – это длина пути от узла A до корневого узла. Корневой узел имеет глубину 0.
Ребро: Соединение между узлами.
Лес: Набор деревьев.
Высота: Высота узла A – это длина самого длинного пути через дочерние узлы к листовому узлу.
Внутренний узел: Узел, имеющий хотя бы одного дочернего узла.
Листовой узел: Узел, не имеющий дочерних узлов.
Корневой узел: Узел, выделяющийся среди остальных узлов дерева. Обычно изображается как верхний узел дерева.
Сестринские узлы: Это узлы, связанные с одним и тем же родительским узлом.

Языки разметки

Еще одно распространенное применение деревьев узлов – веб-разработка. В программировании XML используется для обмена информацией как между программистами, так и между компьютерами. Благодаря этому XML применяется для создания стандартных протоколов связи, используемых в офисном программном обеспечении, и является основой для разработки современных языков веб-разметки, таких как XHTML. Хотя подход к HTML и CSS для программиста схож, именно они обычно используются для разработки текста и дизайна веб-сайтов. В то время как XML, HTML и XHTML предоставляют язык и средства выражения, DOM выступает в роли переводчика.

Объект узла

Объект узла представлен одним узлом в дереве. Это может быть элементный узел, атрибутный узел, текстовый узел или любой тип, описанный в разделе "тип узла". Все объекты могут наследовать свойства и методы для работы с родительскими и дочерними узлами, но не все объекты имеют родительские или дочерние узлы. Например, при попытке добавить дочерние узлы к текстовому узлу, который не может их содержать, возникает ошибка DOM. К объектам в дереве DOM можно обращаться и управлять ими с помощью методов, определенных для этих объектов. Публичный интерфейс DOM специфицирован в его прикладном программном интерфейсе (API). История Document Object Model тесно связана с историей "войн браузеров" конца 1990-х годов между Netscape Navigator и Microsoft Internet Explorer, а также с историей JavaScript и JScript – первых скриптовых языков, получивших широкое распространение в движках рендеринга веб-браузеров.