Devin.KR

기본 · 전체 목차 공개

자료구조 직접 만들기 - 배열부터 해시·트리·힙·그래프까지

파이썬 내장 자료구조 없이 동적 배열·연결 리스트·스택과 큐·해시 테이블·정렬·이진 탐색 트리·AVL·힙·트라이·그래프 탐색·유니온 파인드를 직접 구현하고, 연산 횟수를 세어 시간 복잡도를 확인한 뒤 내장 구현과 비교한다.

이 책을 읽기 전에

Python 기초 문법과 클래스 정의를 읽을 수 있는 정도

공개 12/12장 · 목차 구성 2026-09-12

CONTENTS

목차

읽음 표시는 직접 선택하며 자동 완료되지 않습니다.

  1. 01
    배열과 동적 배열 - 늘어나는 리스트의 비밀

    고정 크기 배열, 용량 두 배 늘리기, 분할 상환 시간, 중간 삽입 비용, 완성 코드는 동적 배열 구현과 복사 횟수 세기

  2. 02
    연결 리스트 - 포인터로 잇기

    단일·이중 연결 리스트, 삽입·삭제·탐색, 더미 노드, 배열과 비교, 완성 코드는 이중 연결 리스트와 LRU 캐시 기초

  3. 03
    스택과 큐 - 되돌리기와 줄 서기

    배열 스택, 원형 큐, 덱, 괄호 검사·실행 취소, 완성 코드는 원형 큐 구현과 괄호 검사기

  4. 04
    해시 테이블 - 딕셔너리는 어떻게 빠른가

    해시 함수, 충돌 처리(체이닝·개방 주소), 적재율과 재해시, 완성 코드는 체이닝 해시 테이블과 충돌·재해시 통계

  5. 05
    정렬 구현 - 삽입·병합·퀵·힙 정렬

    안정성, 비교 횟수 세기, 최악의 경우, 내장 정렬과 비교, 완성 코드는 네 정렬의 비교 횟수 표

  6. 06
    이진 탐색 트리 - 정렬된 채로 넣고 찾기

    삽입·탐색·삭제(자식 둘), 중위 순회, 치우친 트리 문제, 완성 코드는 BST 구현과 입력 순서에 따른 높이 비교

  7. 07
    균형 트리 - AVL 회전으로 높이 지키기

    균형 인수, 네 가지 회전, 데이터베이스 B-트리 개념 소개, 완성 코드는 AVL 삽입과 높이 비교

  8. 08
    힙과 우선순위 큐 - 가장 급한 것부터

    배열로 만든 완전 이진 트리, 올리기·내리기, 힙 만들기, 작업 스케줄러 예, 완성 코드는 최소 힙 구현과 heapq 결과 비교

  9. 09
    트라이 - 자동 완성과 접두사 검색

    노드 구조, 삽입·검색·접두사 목록, 메모리 비용, 완성 코드는 단어 자동 완성기

  10. 10
    그래프 표현과 탐색 - 인접 행렬·리스트, BFS·DFS

    표현 방식 비교, 직접 만든 큐·스택으로 BFS·DFS, 최단 거리(가중치 없음), 완성 코드는 지하철 노선 예제 탐색

  11. 11
    유니온 파인드 - 같은 그룹인가

    부모 배열, 경로 압축, 랭크 합치기, 연결 요소·크루스칼 응용, 완성 코드는 친구 그룹 합치기와 연산 횟수

  12. 12
    자료구조 고르기 - 요구사항에서 구조로

    연산 빈도로 고르는 표, 실무 사례(캐시·랭킹·검색·작업 대기열), 면접 질문 대비, 완성 코드는 앞 장 구현들을 같은 작업량으로 돌려 연산 횟수 비교표 출력

이 책은 Devin.KR 원고를 참조합니다. 원고의 원래 주소와 저작자 표기를 유지하며 같은 글을 다시 등록하지 않습니다. 수정된 원고는 읽기 화면에서 재검수 상태를 확인할 수 있습니다.

이 책·표지의 저작권 및 출처 관련 요청