→ Array

파이썬의 리스트, 접근 쉬움, 삽입 어려움

데이터에 접근이 빈번하면 Array 사용

특정 원소 조회 : O(1)

삽입 삭제 : O(N)

Untitled

→ Linked List

직접 구현, 접근 어려움, 삽입 쉬움

삽입과 삭제 빈번하면 Linked List 사용

특정 원소 조회 : O(N)

삽입 삭제 : O(1)

Untitled

Linked List 구현하기

# 노드 생성
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)