자료구조9 자료구조 - 트리와 이진트리 트리 (이진트리, 순회, 자료구조)스택과 큐가 1차원 자료구조였다면, 트리는 한 단계 더 추상화된 계층 구조(hierarchical structure) 자료구조이다. 파일 시스템의 디렉터리, HTML DOM, 회사 조직도, 컴퓨터 게임의 의사 결정 흐름, 운영체제의 프로세스 트리까지 — 실세계의 거의 모든 "포함 관계"가 사실상 트리로 표현되며, 그 위에 정렬·탐색·압축 같은 거의 모든 고급 알고리즘이 얹어진다. 본 글은 정보처리기사 시험 출제 범위와 학교 자료구조 수업 입문 영역을 모두 닿도록 트리 일반·이진 트리·순회 알고리즘을 세심하게 정리한다(출처: 위키백과 — Tree (data structure)). 제가 학교 자료구조 시험에서 가장 자주 틀린 영역이 트리 순회의 결과 추적이었는데, 작은 트리.. 2026. 5. 15. 자료구조 - 스택과 큐 스택과 큐 (LIFO, FIFO, 자료구조)배열과 연결리스트가 데이터를 메모리에 어떻게 배치할지를 결정하는 가장 원시적인 자료구조라면, 스택과 큐는 그 위에 "어떤 순서로 들어가고 나오느냐"라는 규칙을 얹은 첫 추상 자료형(ADT, Abstract Data Type)이다. 두 구조는 자료구조 시험뿐 아니라 함수 호출 구조, BFS·DFS 같은 그래프 탐색, 메시지 큐 같은 분산 시스템의 핵심에까지 깊숙이 들어와 있어, 이 두 구조를 정확히 이해하면 이후 등장하는 거의 모든 알고리즘의 골격이 손에 잡힌다(출처: 위키백과 — Stack and queue). 본 글은 스택과 큐의 정의·구현·시간복잡도·실전 활용을 세심하게 정리한다. 제가 학교 자료구조 수업에서 처음 함수 호출 스택을 디버거로 직접 들여다본 후.. 2026. 5. 14. 자료구조 - 배열과 연결리스트 자료구조 (배열, 연결리스트, 시간복잡도)컴퓨터 과학에서 가장 먼저 배우는 두 자료구조가 배열과 연결리스트다. 두 구조는 데이터를 메모리에 어떻게 늘어놓을 것인가에 대한 가장 본질적인 두 답이며, 이후 등장하는 모든 고급 자료구조(스택·큐·트리·해시·그래프)가 이 둘의 변형이거나 조합이라고 해도 과언이 아니다. 본 글은 정보처리기사 시험 출제 범위와 학교 자료구조 수업 입문 영역을 모두 닿도록 배열과 연결리스트의 메모리 구조, 시간복잡도, 실전 선택 기준을 정리한다(출처: Python 공식 자료구조 문서). 제가 학교 자료구조 수업에서 처음 두 구조의 시간복잡도 표를 봤을 때 솔직히 "그래서 무엇을 언제 쓰라는 거지?" 한 줄로 정리되지 않아 한참 헤맸는데, 직접 두 구조로 같은 알고리즘을 짜고 실행 시.. 2026. 5. 14. 이전 1 2 다음