Ch.5 연결 리스트

챕터5 종합퀴즈 — Linked List 마스터

연결 리스트의 핵심 개념과 구현을 종합적으로 점검한다면접 빈출 패턴을 빠르게 떠올릴 수 있다

Linked List 총정리 시간!

노드와 포인터부터 LRU Cache까지, 챕터 5에서 배운 모든 내용을 종합 퀴즈로 점검합니다.

어떤 문제에 어떤 패턴을 써야 하는지 구분할 수 있는가?

패턴을 정확히 매칭하면, 처음 보는 문제도 기존 패턴의 변형임을 알 수 있습니다.


article

핵심 내용

ListNode 클래스의 두 필드는?

연결 리스트에서 head 앞에 새 노드를 삽입하는 시간 복잡도는?

배열 대비 연결 리스트의 가장 큰 단점은?

중간 삽입 시 포인터 연결 순서로 올바른 것은?

reverse_list의 iterative 구현에서 while 루프 종료 시 반환하는 변수는?

return ___

dummy head 패턴은 head가 변경될 수 있는 문제에서만 유용하다

길이 10인 리스트에서 fast/slow로 중간을 찾으면 slow는 몇 번째 노드?

Floyd's 사이클 탐지에서 slow와 fast가 만나면 사이클이 존재한다

Floyd's 알고리즘에서 사이클 시작점을 찾으려면, 만남점과 ___에서 동시에 1칸씩 이동한다

이중 연결리스트가 단일 연결리스트보다 유리한 연산은?

LRU Cache에서 get 연산 시 해당 노드를 DLL의 어디로 이동시키는가?

LRU Cache의 get과 put 연산의 시간 복잡도: O(___)

끝에서 k번째 노드를 삭제하는 문제에 적합한 패턴은?

정렬된 두 리스트를 병합할 때 가장 적합한 접근법은?

연결 리스트의 중간 노드를 찾는 문제에서 Fast & Slow 패턴의 시간 복잡도는 O(n)이다

Linked List 마스터 달성!

check_circle

핵심 정리

  • 1ListNode: val + next, 순회는 while curr
  • 2삽입/삭제: 포인터 순서 중요, dummy head로 엣지 케이스 제거
  • 3Reverse: prev/curr/nxt 3포인터 — O(n) 시간, O(1) 공간
  • 4Fast & Slow: 중간 노드 + Floyd's 사이클 탐지
  • 5DLL + HashMap = LRU Cache — 모든 연산 O(1)

퀴즈와 인터랙션으로 더 깊이 학습하세요

play_circle인터랙티브 레슨 시작