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