문서 읽는 데 33분 · 10강 · 2과목 · 소프트웨어 개발

기본 자료구조 및 알고리즘

목차 18
전체 59강 중 10강 · 2과목 · 소프트웨어 개발

1과목의 설계도를 코드로 옮기는 2과목의 첫 강. 자료구조 = 데이터를 효율적으로 담고 빠르게 꺼내기 위한 그릇과 규칙. 매 회차 데이터 입출력 영역에서 약 3문항 출제되며, 트리 운행법(전중후)스택/큐 매칭(접줄) 이 단연 1순위.

핵심 암기: 대분류 선비 · 시간복잡도 Big-O 빅쓰리 · 연결 리스트 3종 단이원 · 스택/큐 접줄 · 트리 운행법 전중후


자료구조 기초

자료구조와 대분류 ·선비·분류·

[정의] 데이터를 효율적으로 저장하고 빠르게 꺼내 쓰기 위한 그릇의 모양과 규칙. 같은 데이터라도 어떤 그릇에 담느냐에 따라 꺼내는 속도가 크게 달라진다.

[분류] 데이터를 어떻게 연결하느냐에 따라 두 부류로 나뉜다.

분류 정의 대표 자료구조
선형(Linear) 자료가 일렬로 배치 — 앞·뒤 관계만 존재 배열·연결 리스트·스택·큐·데크
비선형(Non-linear) 자료가 여러 갈래로 분기 — 계층·연결 관계 트리·그래프·해시 테이블

🔑 암기 선비형 / 선형, "자료구조 세계의 양반은 두 분" 💡 비유 선형 = 마트 계산대 줄(한 줄) / 비선형 = 가족 가계도·지하철 노선도(갈래) ⚠️ 함정 '트리는 선형이다' '큐는 비선형이다' = 100% 함정. 트리=비선형, 큐=선형. 분류 문제는 양방향 함정으로 단골. 🎯 빈출 분류·소거형이 거의 매회. 선비 한 단어가 양쪽 함정을 즉답 무력화.

시간복잡도 Big-O ·빅쓰리·복잡도·

[정의] 입력 크기 n이 커질 때 처리 시간이 늘어나는 정도. 자료구조마다 꺼내는 속도를 비교하는 단위. 시험은 빈출 3개만 묻는다.

표기 이름 의미 비유
O(1) 상수 시간 입력 크기 무관, 즉시 좌석 번호 알고 바로 앉기
O(log n) 로그 시간 매번 절반씩 줄어듦 책 중간 펼쳐 절반 버리기
O(n) 선형 시간 전체를 한 바퀴 훑기 명단 처음부터 끝까지 호명

[표] 오늘 다룰 선형 4종의 대표 속도.

동작 배열 연결 리스트 스택
접근(Access) O(1) O(n) O(1)(top) O(1)(front)
삽입(Insert) O(n) O(1)(위치 알면) O(1) O(1)
삭제(Delete) O(n) O(1)(위치 알면) O(1) O(1)

🔑 암기 Big-O 빅쓰리 — O(1) 즉답 · O(log n) 반토막 · O(n) 한 바퀴 💡 한 줄 배열은 접근이 빠르고(O(1)), 연결 리스트는 삽입·삭제가 빠르다(O(1)). 정반대 짝. 🌟 정렬·이분 탐색·해시의 복잡도 분석은 11강 범위. 오늘은 빅쓰리 3개만.


선형 자료구조

배열 (Array) ·선형·

[정의] 같은 자료형의 데이터를 연속된 메모리 공간에 일렬로 저장하고, 인덱스(번호) 로 즉시 접근하는 자료구조.

[표]

특징 의미
고정 크기 선언 시 크기 결정(정적 배열)
연속 메모리 메모리 주소가 0번부터 차례로 붙음
인덱스 접근 arr[3] 한 번에 O(1)로 꺼냄(임의 접근)
삽입·삭제 비효율 중간 삽입 시 뒤 데이터를 모두 밀어야 함 → O(n)

💡 비유 영화관 좌석 — C열 7번은 거리에 상관없이 바로 찾아감(O(1)). 단 중간 손님이 빠지면 뒷자리가 한 칸씩 당겨 앉아야 함(O(n)). 🎯 빈출 결정 키워드 = 연속 메모리 + 인덱스 O(1) 접근. 보기에 '임의 접근(Random Access)'이 보이면 거의 배열.

연결 리스트 (Linked List) ·선형·O(n) 함정·

[정의] 데이터(값)와 다음 노드의 주소(포인터) 를 한 묶음(노드)으로 만들어 체인처럼 연결한 자료구조. 마지막 노드는 NULL을 가리킨다.

텍스트
┌──────┬──────┐    ┌──────┬──────┐    ┌──────┬──────┐
│ Data │ Next │   │ Data │ Next │   │ Data │ NULL │
└──────┴──────┘    └──────┴──────┘    └──────┴──────┘

[비교] 배열과 정반대 짝.

항목 배열 연결 리스트
메모리 배치 연속(붙어 있음) 비연속(흩어짐)
크기 고정 동적(실행 중 변동)
접근 속도 O(1)(인덱스) O(n)(처음부터 따라감)
삽입·삭제 O(n)(밀어내기) O(1)(포인터만 변경)

💡 비유 배열 = 번호표 사물함(5번 즉시) / 연결 리스트 = 다음 위치가 적힌 보물찾기 쪽지(1→2→3→4 거쳐야 5번). ⚠️ 함정 '연결 리스트는 인덱스로 O(1) 임의 접근 가능' = 100% 함정. 연결 리스트는 O(n) 순차 접근. O(1)은 배열. 🎯 빈출 결정 키워드 = 노드 + 포인터 + 동적 메모리 할당. 이 단어가 보이면 연결 리스트.

연결 리스트 3종 ·단이원·선형·

[분류] 포인터를 어떻게 두느냐에 따라 3종으로 나뉜다.

종류 구조 특징
단순(Single) 앞→뒤 포인터 1개 한 방향 이동, 가볍고 단순
이중(Double) 앞↔뒤 포인터 2개 양방향 이동, 메모리 약간 더 사용
원형(Circular) 마지막 노드가 처음과 연결 끝없이 순환 가능
텍스트
단순:  [A]  [B]  [C]  NULL
이중:  NULL  [A]  [B]  [C]  NULL
원형:  [A]  [B]  [C]  (다시 A)

🔑 암기 단이원순 · 중 · 형, "단번에 이중 원샷" 💡 비유 단순 = 일방통행 / 이중 = 왕복 도로 / 원형 = 트랙(돌고 돌아 시작점) 🎯 빈출 종류 매칭 단골. '이중 = 양방향', '원형 = 끝→처음' 두 키워드를 함께.

스택 (Stack · LIFO) ·접줄·1순위·

[정의] 가장 나중에 들어간 데이터가 가장 먼저 나오는 후입선출(LIFO, Last In First Out) 구조. 입출구가 한 곳(top).

텍스트
        │     │   top (입출구 1개)
        ├─────┤
        │  C  │   마지막 입력, 첫 출력
        ├─────┤
        │  B  │
        ├─────┤
        │  A  │   첫 입력, 마지막 출력
        └─────┘
   PUSH 순서: A  B  C   /   POP 순서: C  B  A (역순)

[표] 5연산.

연산 동작
push(x) top 위에 x 쌓기
pop() top 제거 후 그 값 반환
top() / peek() 맨 위 값 확인만(꺼내지 않음)
isEmpty() 비었는지 검사
isFull() 꽉 찼는지 검사(배열 기반만 의미)

⚠️ 함정 빈 스택에 pop = 언더플로(Underflow), 꽉 찬 스택에 push = 오버플로(Overflow). 이름 매칭 단골. 💡 실무 함수 호출·재귀(Recursion)·괄호 검사·실행 취소(Ctrl+Z)·후위 표기 변환·브라우저 뒤로가기가 모두 스택. 재귀 과다 호출 오류 이름이 곧 Stack Overflow. 🎯 빈출 보기에 '함수 호출·재귀·괄호 검사·Undo' 또는 '입출력 한 곳'이 보이면 스택. push·pop이 가장 잦다.

큐 (Queue · FIFO) ·접줄·1순위·

[정의] 가장 먼저 들어간 데이터가 가장 먼저 나오는 선입선출(FIFO, First In First Out) 구조. 입구(rear)와 출구(front)가 분리된다.

텍스트
  [출구] front   A  B  C  D   rear [입구]
         dequeue(먼저 나감)    enqueue(나중 들어옴)

[표] 4연산. 스택의 push·pop과 1:1 대응(enqueue=push, dequeue=pop).

연산 동작
enqueue(x) rear에 x 추가
dequeue() front 제거 후 그 값 반환
front() 맨 앞 값 확인만
rear() 맨 뒤 값 확인만

💡 비유 마트 계산대 줄 — 먼저 줄 선 사람이 먼저 나감(새치기 없음). 💡 실무 메시지 지향 미들웨어(MOM·메시지 큐), 작업 처리 대기열, 프린터 작업 큐, 예매 대기열이 모두 큐. 이름에 'Queue'가 들어간 미들웨어(메시지 큐 류)는 99% 큐 자료구조. 🎯 빈출 보기에 '선입선출·FIFO·프린터 큐·메시지 큐·작업 처리' 또는 '입출력 두 곳'이 보이면 큐.

원형 큐와 데크 ·변형·🌟·

[정의] 일반 선형 큐의 한계(앞이 비어도 rear가 끝에 닿으면 더 못 넣는 공간 낭비)를 보완한 변형 큐 2종.

변형 정의 활용
원형 큐(Circular Queue) 배열의 끝과 처음을 논리적으로 연결해 빈 공간 재사용 라운드 로빈 스케줄링·스트리밍 버퍼
데크(Deque, Double-Ended Queue) 양쪽 끝(front·rear) 모두에서 삽입·삭제 가능 슬라이딩 윈도우·방문 이력 관리

🌟 자주 출제되진 않음. '원형 큐 = 끝↔처음 연결로 공간 재활용', '데크 = 양쪽 입출력' 한 줄씩만. 💡 보충 우선순위 큐(Priority Queue) 는 먼저 들어온 순이 아니라 우선순위 높은 것이 먼저 나가는 변형(힙 기반). 정의만 — 11강에서 본격.

스택 vs 큐 즉답 매칭 ·접줄·1순위·

[비교] 10강 핵심 1순위. 이 한 표가 기출 다지기의 정답 키.

항목 스택(Stack) 큐(Queue)
처리 방식 LIFO(후입선출) FIFO(선입선출)
입출구 한 곳(top) 두 곳(front·rear)
핵심 연산 push / pop enqueue / dequeue
출력 순서 입력의 역순 입력 그대로
비유 시 쌓기 마트 서기

🔑 암기 접줄 — 스택=시 쌓기(LIFO·입출구 1개) / 큐= 서기(FIFO·입출구 2개) 🎯 빈출 매 회차 출제 1순위. 한 회차에 2문항까지 등장. '쌓아서 위에서 꺼냄' → 스택, '먼저 온 사람이 먼저' → 큐.


비선형 자료구조 — 트리

트리 개념과 용어 ·잎=단말·차수 함정·

[정의] 여러 노드가 계층(부모-자식) 관계로 연결된 비선형 자료구조. 사이클(순환)이 없는 그래프의 한 종류.

텍스트
              [A]             루트(Root)
             /   \
          [B]     [C]         A의 자식, 서로 형제
         /  \      \
       [D]  [E]    [F]        잎(Leaf, 단말 노드)

[표] 용어 매칭이 시험 단골. 7개만 정확히.

용어 정의 예시
루트(Root) 최상단 노드, 부모 없음 A
부모(Parent) 한 단계 위 노드 B의 부모 = A
자식(Child) 한 단계 아래 노드 A의 자식 = B, C
잎(Leaf, 단말) 자식이 없는 노드 D, E, F
차수(Degree) 한 노드가 가진 자식의 수 A=2, C=1
레벨(Level) 루트에서의 깊이(루트=1) A=1, B·C=2
높이(Height) 가장 깊은 잎까지의 거리 위 트리 = 3

⚠️ 함정 ① 노드 차수 vs 트리 차수 — 노드 차수 = 그 노드의 자식 수, 트리 차수 = 모든 노드 차수 중 최댓값. 위 트리는 트리 차수 = 2(A·B가 최대). '자식이 셋이라 차수=3'은 함정. ⚠️ 함정 ② 잎 = 단말(Terminal) = 외부(External) 노드 — 같은 노드의 동의어. 다른 이름으로 등장해도 같은 말. 🔑 암기 트리 차수 = 노드 차수 최댓값 / 잎 = 단말 = 터미널 🎯 빈출 'A는 루트? B의 차수는? 단말 노드는?' 형태로 거의 매회. 결정 키워드 = 비선형 + 계층 + 사이클 없음.

이진 트리 3종 ·트리·

[정의] 각 노드가 최대 2개의 자식(왼쪽·오른쪽)만 갖는 트리(모든 노드 차수 ≤ 2). 다시 3종으로 나뉜다.

종류 정의
정 이진 트리(Full) 모든 노드가 자식 0개 또는 2개(자식 1개인 노드 없음)
완전 이진 트리(Complete) 마지막 레벨 제외 모두 채워지고, 마지막 레벨은 왼쪽부터 채움(힙의 기반)
편향 이진 트리(Skewed) 한쪽 방향으로만 노드가 늘어남(사실상 연결 리스트)
텍스트
정(Full): 자식 0 또는 2     완전(Complete): 왼쪽부터     편향(Skewed): 한쪽만
        [A]                       [A]                   [A]
       /   \                     /   \                     \
     [B]   [C]                 [B]   [C]                   [B]
     / \   / \                 / \   /                       \
   [D][E][F][G]              [D][E][F]                       [C]

🔑 암기 정 = 자식 0 또는 2 / 완전 = 왼쪽부터 빈틈없이 / 편향 = 한쪽으로만 💡 보충 노드 수 N인 완전 이진 트리의 높이는 약 log₂N — 'log 형태'라는 감각만. 계산 문제까진 거의 안 나옴. 🎯 빈출 분류 매칭. '자식 0 또는 2(정)', '왼쪽부터(완전)', '한쪽만(편향)' 세 키워드면 즉답.

트리 운행법(순회) ·전중후·1순위·

[정의] 트리의 모든 노드를 빠짐없이 한 번씩 방문하는 순서 규칙. 루트(Root)를 언제 방문하느냐로 이름이 갈린다. 시험 출제율 1위 영역.

운행법 영문 방문 순서 Root 위치
전위 순회 Pre-order Root → Left → Right 먼저
중위 순회 In-order Left → Root → Right 가운데
후위 순회 Post-order Left → Right → Root 나중

[추적] 아래 트리를 세 운행법으로 읽으면 — Root(A) 위치만 다를 뿐.

텍스트
              [A]
             /   \
          [B]     [C]
         /  \    /  \
       [D]  [E][F]  [G]
운행법 결과 A 위치
전위(Pre) A B D E C F G 맨 앞
중위(In) D B E A F C G 가운데
후위(Post) D E B F G C A 맨 뒤

🔑 암기 전중후위(Root 먼저) · 위(Root 가운데) · 위(Root 나중). 영문 Pre/In/Post = 전/중/후. 🔑 즉답 Pre는 첫 글자가 루트, Post는 끝 글자가 루트, In은 루트가 가운데. 보기 4개 중 3개를 즉시 선소거. 🎯 빈출 '작은 트리 그림 → 운행 결과' 형태가 거의 매회. 보기에 보통 Pre·In·Post·레벨(BFS) 네 결과를 다 깔아 함정.

수식 트리와 후위 표기 ·응용·

[정의] 운행법을 수식(Expression) 표기에 그대로 적용. 같은 수식 트리도 운행법에 따라 표기가 달라진다.

수식 (A + B) * C 의 트리:

텍스트
            [*]
           /   \
         [+]   [C]
        /   \
      [A]   [B]
운행법 결과 표기법
전위(Pre) * + A B C 전위 표기(Polish Notation)
중위(In) A + B * C 중위 표기(평소 쓰는 수식)
후위(Post) A B + C * 후위 표기(Reverse Polish, RPN)

💡 핵심 사람은 중위(A+B)가 익숙하지만 컴퓨터는 후위(AB+) 를 선호 — 후위 표기는 스택을 쓰면 괄호 없이 계산 가능. 컴파일러가 수식 파싱 시 내부적으로 후위로 변환. 앞서 본 스택의 '후위 표기 변환' 사례가 여기서 만난다. 🎯 빈출 '이 수식 트리의 후위 순회 결과는?' 또는 '후위 표기로 변환하면?' 형태. 운행법 추적 그대로 적용.


기출 다지기

[기출 1 출제] 다음 중 스택(Stack)의 특징으로 옳은 것은? (긍정 판단형)

  • ① 자료의 입력과 출력이 같은 쪽에서 이루어진다
  • ② 가장 먼저 입력된 자료가 가장 먼저 출력된다
  • ③ 비선형 자료구조의 일종이다
  • ④ 자료의 출력은 항상 자료의 가운데에서 이루어진다
정답 및 해설 보기

정답 ①

스택은 입출구가 한 곳(top)이라 push·pop이 같은 쪽에서 일어난다.

선지 판정 근거
① 같은 쪽 입출력 정답 top 한 곳에서 push·pop
② 먼저 입력 → 먼저 출력 오답 그건 큐(FIFO) — 스택은 LIFO
③ 비선형 오답 스택은 선형(선비 분류)
④ 가운데 출력 오답 항상 top(맨 위)에서만 출력

🔑 접줄 — '입출력 한 곳' 보이면 스택, '두 곳'이면 큐. ②큐 함정·③선비 함정·④가운데 함정 세 개가 한 번에 깔린 빈출 패턴.

[기출 2 출제] 다음 ( )에 들어갈 가장 적절한 자료구조는? (빈칸형)

운영체제에서 프린터에 출력 요청이 들어오는 순서대로 인쇄 작업을 처리하기 위해 사용하는 자료구조는 ( )이며, First In First Out(FIFO) 방식으로 동작한다.

  • ① 스택(Stack)
  • ② 큐(Queue)
  • ③ 트리(Tree)
  • ④ 그래프(Graph)
정답 및 해설 보기

정답 ②

문장 안의 'First In First Out(FIFO)'이 결정적 단서.

선지 판정 근거
① 스택 오답 LIFO — 나중 작업이 먼저 인쇄돼버림
② 큐 정답 FIFO — 들어온 순서대로 인쇄
③ 트리 오답 비선형 — 순서 처리에 부적합
④ 그래프 오답 비선형 — 순서 처리에 부적합

🔑 'FIFO·선입선출·프린터 큐·메시지 큐' → 큐 즉답. 이름에 'Queue'가 들어가면 99% 큐.

[기출 3 출제] 다음 트리를 전위 순회(Pre-order)한 결과로 옳은 것은? (시각자료형)

텍스트
              [A]
             /   \
            [B]    [C]
           /  \      \
         [D]  [E]    [F]
  • ① A B D E C F
  • ② D B E A C F
  • ③ D E B F C A
  • ④ A B C D E F
정답 및 해설 보기

정답 ①

전위 = Root → Left → Right(Root 먼저). A → B → D → E → C → F.

선지 판정 근거
① A B D E C F 정답 Pre-order 정확
② D B E A C F 오답 중위(In) — A가 가운데
③ D E B F C A 오답 후위(Post) — A가 마지막
④ A B C D E F 오답 레벨 순회(BFS) — 시험 범위 외

🔑 전중후 — Pre는 첫 글자가 루트(A). 첫 글자가 A가 아닌 보기는 선소거.

[기출 4 출제] 다음 트리를 후위 순회(Post-order)한 결과로 옳은 것은? (시각자료형 · 같은 트리)

텍스트
              [A]
             /   \
            [B]    [C]
           /  \      \
         [D]  [E]    [F]
  • ① A B D E C F
  • ② D B E A C F
  • ③ D E B F C A
  • ④ A B C D E F
정답 및 해설 보기

정답 ③

후위 = Left → Right → Root(Root 나중). B부분(D E B) → C부분(F C) → A.

선지 판정 근거
① A B D E C F 오답 전위(Pre) — A가 첫 글자
② D B E A C F 오답 중위(In) — A가 가운데
③ D E B F C A 정답 후위(Post) — Root(A)가 마지막
④ A B C D E F 오답 레벨 순회 — 시험 범위 외

🔑 Post는 끝 글자가 루트(A). 보기 중 마지막 글자가 A인 것은 ③뿐. 보기의 첫 글자·끝 글자만 훑으면 30초 안에 풀린다.

[기출 5 출제] 다음 트리에 대한 설명 중 잘못 짝지어진 것은? (짝짓기 오류형)

텍스트
              [A]
             /   \
            [B]    [C]
           /  \      \
         [D]  [E]    [F]
  • ① 루트 노드: A
  • ② 단말 노드(잎): D, E, F
  • ③ 트리의 차수(Degree): 3
  • ④ 트리의 높이(Height): 3
정답 및 해설 보기

정답 ③

각 노드 차수 — A=2, B=2, C=1, D·E·F=0. 최댓값 2이므로 트리 차수 = 2.

선지 판정 근거
① 루트: A 정확 최상위 노드
② 단말: D, E, F 정확 자식 없는 노드 3개
③ 트리 차수: 3 오류 트리 차수는 2(노드 차수 최댓값)
④ 높이: 3 정확 루트(레벨1) → 잎(레벨3)

🔑 트리 차수 = 자식 총합이 아니라 노드 차수의 최댓값. '자식이 셋이라 차수=3'은 단골 함정.

[기출 6 출제] 자료구조에 대한 설명으로 옳지 않은 것은? (부정형)

  • ① 배열은 인덱스를 이용해 O(1) 시간에 임의 접근이 가능하다
  • ② 연결 리스트는 노드 간 포인터로 연결되어 동적 메모리 할당이 가능하다
  • ③ 연결 리스트는 인덱스로 임의 접근 시 O(1) 시간에 접근 가능하다
  • ④ 이중 연결 리스트는 양방향(앞·뒤) 이동이 가능하다
정답 및 해설 보기

정답 ③

연결 리스트는 인덱스 접근 시 첫 노드부터 따라가야 해 O(n). O(1)은 배열의 특징.

선지 판정 근거
① 배열 O(1) 임의 접근 정확 연속 메모리 + 인덱스
② 연결 리스트 동적 메모리 정확 실행 중 노드 추가·삭제
③ 연결 리스트 O(1) 임의 접근 오류 연결 리스트는 O(n) 순차 접근
④ 이중 연결 리스트 양방향 정확 단이원 중 이중 = 포인터 2개

🔑 배열 = 접근(O(1)) 강자, 연결 리스트 = 삽입·삭제(O(1)) 강자. 둘을 거꾸로 표현한 보기가 정답(틀린 설명).

[기출 7 출제] 다음 자료구조 중 분류가 다른 하나는? (소거형)

  • ① 스택(Stack)
  • ② 큐(Queue)
  • ③ 연결 리스트(Linked List)
  • ④ 트리(Tree)
정답 및 해설 보기

정답 ④

스택·큐·연결 리스트는 선형, 트리만 비선형.

선지 분류 판정
① 스택 선형 오답
② 큐 선형 오답
③ 연결 리스트 선형 오답
④ 트리 비선형 정답

🔑 선비 — 선형 4총사(배열·연결 리스트·스택·큐), 비선형 대표(트리·그래프·해시). 보기에 트리·그래프·해시가 끼면 그게 정답일 확률이 높다.


한 장 요약

영역 핵심 암기팁
대분류 선형(배열·연결 리스트·스택·큐) / 비선형(트리·그래프) 선비
시간복잡도 O(1) 즉답 · O(log n) 반토막 · O(n) 한 바퀴 Big-O 빅쓰리
배열 vs 연결 리스트 접근 O(1) 강자 vs 삽입·삭제 O(1) 강자 (정반대 짝)
연결 리스트 3종 단순·이중·원형 단이원
선형 1순위 핵심 암기팁
스택 LIFO · top 1개 · push/pop · 함수 호출·재귀·Undo
FIFO · front·rear 2개 · enqueue/dequeue · 프린터·메시지 큐
트리 핵심 암기팁
용어 루트·부모·자식·잎·차수·레벨·높이 / 트리 차수 = 노드 차수 최댓값 (잎=단말=터미널)
이진 트리 3종 정(0 또는 2)·완전(왼쪽부터)·편향(한쪽만) (정·완전·편향)
운행법 전위(Root 먼저)·중위(가운데)·후위(나중) 전중후
운행 즉답 Pre는 첫 글자 루트, Post는 끝 글자 루트 (선소거 카드)

🎯 합격 한 끗: 가장 잦은 두 유형 = 트리 운행법(전중후) + 스택/큐 매칭(접줄). 다섯 단어(선비·Big-O 빅쓰리·단이원·접줄·전중후)만 외워두면 10강은 거뜬. 단골 함정 3종 = '트리=선형'(→비선형), '연결 리스트 O(1) 임의 접근'(→O(n)), '트리 차수=자식 총합'(→노드 차수 최댓값).

전체 목록 필기 이론

합격까지

정처기, 혼자 막막하다면

초개인화 학습앱 Klue와 에듀윌 온라인강의로 합격까지 이어가세요.