노드 (컴퓨터 과학)

노드(node)는 컴퓨터 과학에 쓰이는 기초적인 단위이다. 노드는 대형 네트워크에서는 장치나 데이터 지점(data point)을 의미한다. 개인용 컴퓨터, 휴대전화, 프린터와 같은 정보처리 장치들이 노드이다. 인터넷에서 노드를 정의할 때 노드는 IP 주소를 보유한 어떠한 것도 될 수 있다. 노드는 더 커다란 자료 구조의 일부분 하나 하나를 의미할 수 있는데 이를테면 연결 리스트라든지 트리 자료 구조를 들 수 있다. 노드는 데이터를 포함하며 다른 노드와 연결될 수도 있다. 노드 간 링크는 포인터에 의해 구현되기도 한다.
노드와 트리
[편집]
노드는 트리 구조로 정렬되기도 한다. 노드는 하나의 자료 구조에 포함된 정보를 표현한다. 이 노드들은 값이나 조건을 포함할 수 있으며 다른 독립된 자료 구조의 역할을 할 가능성이 있다. 노드는 하나의 부모 노드에 의해 표현된다. 트리 구조의 가장 높은 지점은 루트 노드(root node)로 부르며 이 노드에는 부모 노드가 없으나 해당 트리 아래에 속한 모든 노드의 부모노드나 조부모 노드의 역할을 맡는다. 노드의 높이는 해당 노드에서 가장 거리가 먼 리프 노드(leaf node)까지의 경로 상의 간선의 전체 수에 의해 결정되며 트리의 높이는 루트 노드의 높이와 동등하다.[1] 노드의 깊이(depth)는 특정 노드와 루트 노드 간의 거리에 의해 결정된다. 루트 노드는 0의 깊이를 갖는다고 말할 수 있다.[2] 데이터는 이러한 네트워크 경로를 따라 탐지할 수 있다.[3] 모든 IP 주소는 이러한 종류의 시스템의 노드를 사용하여 네트워크 내의 위치를 정의한다.
같이 보기
[편집]각주
[편집]- ↑ “tree (data structure)”. 미국 국립표준기술연구소. 2014년 11월 24일에 원본 문서에서 보존된 문서.
- ↑ Teukolsky, Roselyn (2013). 《Barron's AP Computer Science A》. Barron's. ISBN 978-1-4380-0152-4.
- ↑ “Simply Scheme: Introducing Computer Science ch 18: Trees”. College Of Engineering, 캘리포니아 대학교 버클리. 2013년 12월 22일에 원본 문서에서 보존된 문서.
외부 링크
[편집]- Data Trees as a Means of Presenting Complex Data Analysis 보관됨 2018-07-19 - 웨이백 머신 by Sally Knipe
- STL-like C++ tree class 보관됨 2020-11-26 - 웨이백 머신
- Description of tree data structures from ideainfo.8m.com
- WormWeb.org: Interactive Visualization of the C. elegans Cell Tree - Visualize the entire cell lineage tree of the nematode C. elegans (javascript)