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

연결 리스트 (Linked List)

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

01 알고리즘 작동 원리 탐색

Interactive Step-by-Step
TAP OR HOVER
Linked List
head∅ null

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

Logic Node1 / 7

02 쉽게 이해하기

For Everyone
🔑비유

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

💡쉽게 말하면

데이터마다 '다음을 가리키는 화살표'를 들고 연결됩니다. 화살표만 고치면 중간 삽입·삭제가 간단해요(임의 접근은 느림).

📍어디에 쓰나

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

03 파이썬 구현 코드

연결 리스트 (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
Guide Progress0%