노드(node)는 그래프나 트리 등의 자료구조에서 하나의 원소를 나타내는 단위를 말합니다. 즉 하나의 데이터 덩어리라고 생각하면 편합니다.
링크드 리스트(linked list)에서 각 노드는 데이터(data)와 다음 노드를 가리키는 포인터(pointer)로 구성되어 있습니다. 이 포인터는 다음 노드의 메모리 주소를 가리키며, 이를 통해 각 노드들이 서로 연결(linked)되어 리스트를 형성합니다.
노드는 일반적으로 구조체(structure)나 클래스(class)와 같은 데이터 타입으로 정의됩니다. 이 때, 구조체나 클래스의 멤버로 데이터와 포인터를 선언하게 되며, 이를 통해 노드를 표현할 수 있습니다.
예를 들어, 다음과 같이 노드를 정의할 수 있습니다.
struct Node {
int data;
Node* next;
};
위 코드에서 data는 노드가 저장하는 데이터를 나타내고, next는 다음 노드를 가리키는 포인터입니다. Node*는 포인터 타입으로, 다음 노드를 가리키는 포인터의 값은 Node 구조체의 포인터가 됩니다.