Oh My Algorithm
Algorithm Guidecomplexity: 삽입 O(1) · 탐색 O(n)

연결 리스트 (Linked List)

각 노드가 값과 다음 노드를 가리키는 포인터로 이어진 구조입니다. 연속된 메모리가 필요 없어 삽입·삭제가 O(1)이지만, 임의 접근은 O(n)으로 순차 탐색해야 합니다.

01 Explore How It Works

Interactive Step-by-Step
Linked List
head∅ null

연결 리스트 시작. head는 아직 아무것도 가리키지 않습니다(빈 리스트).

Logic Node1 / 7

02 Understand It Simply

For Everyone
🔑Analogy

보물찾기 쪽지 — 각 쪽지에 '다음 쪽지 위치'가 적혀 줄줄이 이어집니다.

💡In Plain Words

데이터마다 '다음을 가리키는 화살표'를 들고 연결됩니다.

화살표만 고치면 중간 삽입·삭제가 간단해요(임의 접근은 느림).

📍Where It's Used
  • 음악 재생목록
  • 사진 슬라이드
  • 메모리를 띄엄띄엄 써야 할 때

03 Python Implementation

A clean, readable reference implementation of the core logic of 연결 리스트 (Linked List).

core_implementation.py
class Node:
    def __init__(self, value):
        self.value = value
        self.next = None

class LinkedList:
    def __init__(self):
        self.head = None

    def push_front(self, value):
        node = Node(value)
        node.next = self.head
        self.head = node

    def find(self, value):
        cur = self.head
        while cur:
            if cur.value == value:
                return cur
            cur = cur.next
        return None

04 Frequently Asked Questions

FAQ
What is 연결 리스트 (Linked List)?+

각 노드가 값과 다음 노드를 가리키는 포인터로 이어진 구조입니다. 연속된 메모리가 필요 없어 삽입·삭제가 O(1)이지만, 임의 접근은 O(n)으로 순차 탐색해야 합니다.

What is the time complexity of 연결 리스트 (Linked List)?+

The time complexity of 연결 리스트 (Linked List) is 삽입 O(1) · 탐색 O(n). Follow the step-by-step visualization to see exactly why.

Where is 연결 리스트 (Linked List) used?+

음악 재생목록, 사진 슬라이드, 메모리를 띄엄띄엄 써야 할 때.

What's a simple analogy for 연결 리스트 (Linked List)?+

보물찾기 쪽지 — 각 쪽지에 '다음 쪽지 위치'가 적혀 줄줄이 이어집니다.

Guide Progress0%