🎮 이 단원이 게임에서 쓰이는 곳 (언더테일·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 안내"를 참고하세요.
🐍 파이썬으로 실습 (이 페이지 안에서)