[자료구조] 자료구조란
자료구조란
자료구조란 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미.
데이터 값의 모임, 또 데이터 간의 관계, 데이터에 적용할 수 있는 함수나 명령을 의미.
효과적으로 설계된 자료구조는 실행시간 혹은 메모리 용량과 같은 자원을 최소한으로 사용하면서 연산을 수행하도록 함.
자료구조 분류
공부 목차
- 데이터의 표현 (배열)
- 데이터의 표현 (연결리스트)
- Queue
- Stack
- 트리
- 그래프
- 정렬
백준 알고리즘 정기 강의 커리큘럼 참조
- 알고리즘과 입/출력
- 자료구조 1
- 큐/스택/데크
- 문자열
- 다이나믹 프로그래밍 1
- 알고리즘 수학 1
- GCD/LCM
- 소수
- 정렬
- 그래프 1
- 정의와 표현방법
- 탐색 (DFS/BFS)
- 모델링
- 트리 1
- 순회
- 저장
- 트리와 관련한 알고리즘
- 그리디
- 분할 정복
- 이분 탐색
- 머지 소트/퀵 소트
- 가장 가까운 두 점
- 완전 탐색
- 비트마스크
- 순열
- 부르트 포스
- 백트래킹
- 자료구조 2
- 스택 2
- 서로소 집합(Disjoint-Set)
- 힙과 힙 소트
- 이진 탐색 트리 (BST)
- 다이나믹 프로그래밍 2
- 수학 2
- 분할 정복
- 이항 계수
- 카탈란 수
- 오일러 피 함수
- 확장 유클리드 알고리즘
- 그래프 2
- 위상 정렬
- 최소 스패닝 트리 (MST)
- 최단 경로 알고리즘 (벨만/다익스트라/플로이드와샬)
- 트리 2
- 최소 공통 조상 (LCA)
- 완전 탐색 2
- 구간 트리
- 다이나믹 프로그래밍 3
- 네트워크 플로우
- 최대 유량
- 이분 매칭, 민 컷, 최소 버텍스 커버, 최대 독립 집합
- 모델링
- 최소 비용 최대 유량 (MCMF)
- 구간 트리 활용
- 그래프 3
- 강연결 요소 (SCC)
- 단절점과 단절선
- 2-SAT
- 다이나믹 프로그래밍 4
- 문자열 매칭
- KMP, 트라이, 아호코라식, Suffix Array
- 기하
- CCW, 선분 교차 판별
- 볼록 껍질(컨벡스 헐; Convex Hull)
- 라인 스위핑
- 알고리즘 게임
- 돌 게임, 님 게임 등
- 다이나믹 프로그래밍 5