본문 바로가기

AI/Python

[자료구조] Node

관리할 데이터를 보관(존재)하는 곳을 노드(Node)라 합니다. 즉, 자료구조에서 관리하고있는 정보들 중 하나를 저장하고 있는 단위입니다.

대체로 자료구조를 공부할 때 이 노드를 클래스로 직접 구현합니다. 하지만 자료구조에서 구조적 설계보다 연산(메소드)이나 연산으로 인한 구조적 변화에 학습을 집중해야될 때는 노드를 따로 구현하지 않습니다. 이 경우 기본적으로 제공하는 자료형(대표적으로 리스트)으로 주로 진행합니다. 이미 리스트에는 노드가 value로서 구현되있으니까요.

 

데이터와 다른 노드에 대한 하나의 링크가 포함된 기본 노드를 구현해보겠습니다.

노드를 생성할 때 노드의 데이터가 지정되고, 변경할 수 없습니다. 링크는 초기화 시 선택 사항이며 없데이트 될 수 있습니다. 마지막 노드의 링크는 null을 가르킵니다. 파이썬에선 None으로 설정됩니다.

class Node:
  def __init__(self, value, next_node=None):
    #지정된 값이 아니라 함수를 호출할 때 사용된 변수로 초기화 시키려면 
    #init 함수에 parameter를 써줘야 한다.
    self.value = value
    self.next_node = next_node
    
  def set_next_node(self, next_node):
    self.next_node = next_node
    
  def get_next_node(self):
    return self.next_node
  
  def get_value(self):
    return self.value

 

 

'AI > Python' 카테고리의 다른 글

Lambda Function  (0) 2022.06.17
Map함수  (0) 2022.06.10
함수(Function)  (0) 2022.05.07
Fundamentals  (0) 2022.04.06