반응형

본 글에서는 이전 Linked List 글에서 언급한 Node를 구현. 

 

최대한 간단히 Node 클래스만을 이용해서 어떻게 node들이 연결될 수 있는지에 대해 설명.

 

Node 클래스 정의

class Node:
	def __init__(self, data=None):
		self.data = data
		self.next = None

다음의 2가지 인스턴스 속성을 가짐

(1) 값을 저장하는 data

(2) 다음 Node를 가리키는 next

 

여러 개의 노드를 생성 후 서로 연결

1. 3개의 Node 인스턴스 생성

first  = Node(1)
second = Node(2)
third  = Node(3)

3개의 Node 인스턴스들

 

2. first 노드의 next에 second 노드 인스턴스 할당

first.next = second
 

first.next 에 second 를 할당하면 진짜 first 노드가 second 노드와 연결된게 맞는지 확인하는 방법

print(type(first.next))  # <class '__main__.Node>

# first노드의 next를 통해서 second 노드의 값에 접근 가능
print(first.next.data)  # 2
 
 

first 노드의 next를 통해 second 노드의 data에 접근 가능

 

3. second 노드의 next에 third 노드 할당

second.next = third

연결된 3개의 Node 들

 
 
 

 

본 글에서는 Node들의 연결을 통해 한 노드에서 다른 노드에 접근가능함을 보여주는 내용이었음. 

배열 대비 Linked List의 장점은 1) dynamic size 2) 삽입/삭제가 쉬움 인데 위의 내용을 통해 node를 계속 추가함으로써 dynamic size의 장점은 보여주었고 다음 글에서 삽입/삭제에 대한 내용을 다룸.

반응형

+ Recent posts