This is an old revision of the document!
노드 (Node)
개념
노드는 데이터를 담고 있는 개체이자, 다른 개체와의 관계를 표현하는 연결점.
개별 노드들이 모여 트리나 그래프 같은 더 큰 데이터 구조를 형성.
예시
지하철 노선도를 예로든다면,
- 노드: '강남역', '홍대입구역' 등 각각의 지하철역 하나하나가 노드. 각 노드는 '역 이름'이라는 데이터를 가지고 있음.
- 엣지(Edge): 노드와 노드를 이어주는, 즉 역과 역을 연결하는 '선로라고 보면됨.
노드의 종류 (트리 구조 기준)
트리 구조에서 노드는 역할과 위치에 이하로 나뉨.
- 루트 노드 (Root Node): 트리 구조의 가장 최상위에 있는 시작 노드. 모든 노드의 조상이며, 부모가 없는 유일한 노드. (예: 가계도의 시조)
- 부모 노드 (Parent Node): 특정 노드 바로 위에 연결된 노드.
- 자식 노드 (Child Node): 특정 노드 바로 아래에 연결된 노드.
- 리프 노드 (Leaf Node): 더 이상 자식이 없는, 트리의 가장 마지막에 위치한 노드. (예: 의사결정 트리의 최종 정답)
활용 예시
노드는 컴퓨터 과학에서 매우 폭 넓게 사용.
- 의사결정 트리: 나무를 구성하는 분기점(질문)과 최종 결과(정답)가 모두 노드
- 신경망 (Neural Network): 데이터를 처리하는 기본 단위인 뉴런(Neuron) 하나하나가 노드 역할
- 소셜 네트워크: 사용자 한 명이 노드이고, '친구 관계'가 노드를 잇는 연결선(엣지)
- 인터넷: 웹사이트 하나하나가 노드이고, '하이퍼링크'가 노드들을 잇는 연결선