특정 인덱스를 상수 시간에 접근 불가
N번째 원소를 찾는다 => N번 돌아야한다.
원소 추가/삭제 연산은 상수 시간에 가능.
C에서 배열 같은 경우 크기를 미리 지정해두기 대문에 데이터 추가 삭제 과정이 어렵지만, 파이썬의 경우에는 배열 이어붙이기, 중간 삽입,삭제가 가능하다.
단방향 연결 리스트 => 다음 요소만 가르킨다.
양방향 연결 리스트 => 다음과 이전 요소를 가르킨다.
class Node():
def __init__(self,data):
self.data=data
self.next=None
class Singlelinkedlist():
def __init__(self):
self.head=None
self.count=0
def append(self,node):
if not self.head:
self.head=node
else:
temp=self.head
while temp.next:
temp=temp.next
temp.next=node
def print(self):
node = self.head
string = ""
while node:
print(node.data)
node = node.next
if __name__ == "__main__":
sl = Singlelinkedlist()
sl.append(Node(1))
sl.append(Node(2))
sl.print()