파이썬의 리스트, 접근 쉬움, 삽입 어려움
데이터에 접근이 빈번하면 Array 사용
특정 원소 조회 : O(1)
삽입 삭제 : O(N)
직접 구현, 접근 어려움, 삽입 쉬움
삽입과 삭제 빈번하면 Linked List 사용
특정 원소 조회 : O(N)
삽입 삭제 : O(1)
# 노드 생성
class ListNode:
def __init__(self, value, next):
self.value = value
self.next = next
# 연결 리스트
class linkedList:
# 최초 헤드 없음
def __init__(self):
self.head = None;
# append기능 구현
def append(self, value):
# 헤드가 비어있을 경우
if not self.head:
# 헤드에 노드 생성
self.head = ListNode(value, None)
return
# 헤드에 다음 연결이 있을 경우
while self.head.next:
# 비어있는 곳까지 이동
self.head = self.head.next
# 비어있는 곳에 노드 생성
self.head.next = ListNode(value, None)