III. 비선형 구조

1. 비선형 구조가 뭐예요? · 약 5분

← 전체 목차 이 단원 목차

🎮 이 단원이 게임에서 쓰이는 곳 (언더테일·RPG)

트리 = 선택지에 따른 스토리 분기(이 선택 → 저 장면, 저 선택 → 다른 엔딩). 한 장면이 노드이고, 선택이 간선이에요. 그래프 = 방과 방이 연결된 맵, 문으로 이어지는 지역. DFS/BFS로 "갈 수 있는 방 순서"나 "최단 경로(문 개수)"를 구할 때 씁니다.

비선형 구조란?

자료가 한 줄이 아니라 가지처럼 퍼지거나, 서로 여러 개가 연결된 구조예요. 한 자료가 여러 개와 관계를 가질 수 있어요.

대표 예

프로그래밍기능사에서는 트리 순회, 그래프 탐색(DFS(디에프에스)/BFS(비에프에스)), 최단 거리가 나와요.

📌 예제별로 쓰는 API (리스트·스택·큐·정렬·이진탐색)

아래에서 예제 버튼을 누르면 뼈대 코드가 불러와져요. 각 예제에서 쓰는 함수를 미리 알아두면 실습이 수월해요.

리스트 예제
list.append(값) — 맨 뒤 추가. list.pop(인덱스) — 해당 칸 제거·반환.
스택 예제
list.append(값) — push. list.pop() — 맨 뒤에서 꺼내기(pop).
큐 예제
from collections import deque, deque.append(값), deque.popleft() — 맨 앞에서 꺼내기.
버블 정렬 예제
리스트[j], 리스트[j+1] 인덱싱, 비교 연산자 >, 스왑 a, b = b, a.
이진 탐색 예제
(left + right) // 2 — 가운데 인덱스. left = mid + 1 / right = mid - 1 — 구간 좁히기.

자세한 설명은 각 단원(리스트·스택·큐·정렬·이진탐색) 강의의 "실습 전 API 안내"를 참고하세요.

🐍 파이썬으로 실습 (이 페이지 안에서)