節點(計算機科學)
節點是數據結構的基本單元,例如鏈接列表或樹數據結構。節點包含數據,也可能鏈接到其他節點。節點之間的鏈接通常由指針實現。

節點和樹木

節點通常被排列成樹結構。一個節點表示單個數據結構中包含的信息。這些節點可能包含一個值或條件,或者可能充當另一種獨立的數據結構。節點由單親節點表示。樹結構上的最高點稱為根節點,該節點沒有父節點,但在樹下所有節點的所有節點中都是父節點或“祖父母”。節點的高度取決於從該節點到最遠的葉節點的路徑上的邊緣總數,並且樹的高度等於根節點的高度。節點深度取決於該特定節點和根節點之間的距離。據說根節點的深度為零。可以沿著這些網絡路徑發現數據。 IP地址使用這種節點系統來定義其在網絡中的位置。
定義
- 孩子:子節點是從另一個節點延伸的節點。例如,具有Internet訪問的計算機可以被視為代表Internet節點的子節點。逆關係是父節點的關係。如果節點C是節點A的孩子,則A是C的父節點。
- 程度:節點的程度是節點的子女數量。
- 深度:節點A的深度是從A到根節點的路徑的長度。據說根節點具有深度0。
- 邊緣:節點之間的連接。
- 森林:一組樹木。
- 高度:節點A的高度是通過兒童到葉節點的最長路徑的長度。
- 內部節點:一個至少一個孩子的節點。
- 葉節點:沒有孩子的節點。
- 根節點:與樹節點的其餘部分區分的節點。通常,它被描述為樹的最高節點。
- 兄弟節點:這些是連接到同一父節點的節點。
標記語言
節點樹的另一個常見用途是在Web開發中。在編程中, XML用於在計算機程序員和計算機之間傳達信息。因此,XML用於創建辦公生產力軟件中使用的通用通信協議,並作為開發XHTML等現代Web標記語言的基礎。儘管在程序員方面的接觸方式上相似,但HTML和CSS通常是用於開發網站文本和設計的語言。 XML,HTML和XHTML提供語言和表達,而DOM則充當翻譯器。
節點類型
樹上的不同類型的節點由特定的接口表示。換句話說,節點類型是由它與其他節點進行通信的定義。每個節點都有一個節點類型屬性,該屬性指定了節點的類型,例如同級或葉子。例如,如果節點類型屬性是節點的常數屬性,則此屬性指定節點的類型。因此,如果節點類型屬性是常數節點元素node,則可以知道此節點對像是對像元素。該對象使用元素接口來定義該特定節點的所有方法和屬性。
不同的W3C萬維網聯盟節點類型和描述:
- 文檔表示整個文檔(DOM樹的根節點)
- 文檔範圍代表“輕量級”文檔對象,可以保存文檔的一部分
- DocumentType為文檔定義的實體提供了一個接口
- 加工建築代表處理指令
- EntityReference代表實體參考
- 元素代表元素
- attr代表屬性
- 文本表示元素或屬性中的文本內容
- CDATASECTION代表文檔中的CDATA部分(文本不會由解析器解析)
- 評論代表評論
- 實體代表實體
- 符號表示DTD中聲明的符號
結節型 | 命名為常數 |
---|---|
1 | element_node |
2 | attribute_node |
3 | text_node |
4 | cdata_section_node |
5 | entity_reference_node |
6 | ENTITY_NODE |
7 | processing_instruction_node |
8 | comment_node |
9 | document_node |
10 | document_type_node |
11 | document_fragment_node |
12 | notation_node |
節點對象
節點對象由樹中的單個節點表示。它可以是元素節點,屬性節點,文本節點或“節點類型”部分中描述的任何類型。所有對像都可以繼承處理父母和子節點的屬性和方法,但並非所有對像都有父母或子節點。例如,使用無法具有子節點的文本節點,試圖添加子節點會導致DOM錯誤。
可以通過使用對像上的方法來解決DOM樹中的對象。 DOM的公共接口在其應用程序編程接口(API)中指定。文檔對像模型的歷史與Netscape Navigator和Microsoft Internet Explorer之間的“瀏覽器大戰”的歷史相互交織在一起,以及JavaScript和JScript的歷史,這是第一個在第一批腳本語言中廣泛實現的語言網絡瀏覽器的佈局引擎。