퀴즈 / 알고리즘 / 문제

플로이드 순환 감지(Floyd's Cycle Detection) 알고리즘의 핵심 아이디어는?

어려움 freeCodeCamp
보기 및 정답
A 느린 포인터와 빠른 포인터 두 개를 사용하여, 만나면 순환이 존재함을 O(1) 공간으로 감지한다
B 모든 방문 노드의 주소를 해시 세트에 저장한 뒤 중복 여부를 확인하여 순환을 감지한다
C 그래프의 모든 경로를 DFS로 완전 탐색하여 방문한 노드의 재방문 여부를 확인한다
D 각 노드에 방문 플래그를 설정하고, 탐색 도중 이미 방문한 노드를 만나면 순환으로 판단하는 방식이다

해설

플로이드의 '토끼와 거북이' 알고리즘은 한 칸씩 이동하는 느린 포인터와 두 칸씩 이동하는 빠른 포인터를 사용합니다. 순환이 있으면 두 포인터가 반드시 만나고, 없으면 빠른 포인터가 끝에 도달합니다. 추가 메모리 O(1)로 연결 리스트의 순환을 감지합니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기
START THE LOOP · CHOOSE

시장과 사람의 답을 봤다면,
다음 결과물의 구조를 고릅니다.

한 번의 결과에 기대지 않고 다시 만들 수 있도록, 문제 발견부터 제작·배포·수익화까지 이어지는 전체 흐름을 익혀보세요.

TTJ CLASS에서 다음 구조 고르기
처리 중...