- Queue
- regexp
- Django
- Article & User
- Vue
- 그리디
- outer join
- update
- 완전검색
- 통계학
- 큐
- DB
- delete
- migrations
- create
- 이진트리
- M:N
- SQL
- 백트래킹
- 스택
- 뷰
- N:1
- distinct
- stack
- ORM
- drf
- Tree
- 쟝고
- 트리
- count
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
목록데이터 사이언스/자료구조 (7)
데이터 분석 기술 블로그

해시 테이블 (비선형)키를 해시 함수에 의해 해시 값으로 변환하여 저장하는 자료 구조삽입 / 삭제 / 탐색이 O(1)서로 다른 키가 같은 인덱스로 해싱되는 경우 충돌 해결이 필요하다.Chaining: 같은 인덱스에 연결 리스트로 여러 개의 값을 저장개방 주소법: 충돌 시 다른 빈 공간을 찾아 저장중복 없는 데이터 저장 (set 구현 가능), API 요청 결과를 저장하여 반복적인 요청을 줄이는 캐싱과 메모이제이션에 활용 가능

그래프 (비선형)정점(Vertex)과 간선으로 구성된 자료 구조무방향 그래프유방향 그래프가중 그래프비가중 그래프완전 그래프트리순환 그래프DFS(깊이 우선 탐색): 스택 사용, 백트래킹에 활용BFS(너비 우선 탐색): 큐 사용, 최단 경로 탐색

트리 (비선형)노드와 간선으로 구성된 계층적 자료 구조이진트리: 각 노드가 최대 두 개의 자식을 가짐이진 탐색 트리: 왼쪽 자식은 부모보다 작고, 오른쪽 자식은 부모보다 큼힙: 최소값 / 최댓값을 빠르게 찾기 위한 완전 이진트리 (게임 리더보드)삽입 / 삭제 → O(log n)탐색 → BST는 O(log n) 일반 트리는 O(n)

큐 (선형)FIFO방식으로 작동하는 선입 선출 자료구조enqueue() → 요소 삽입 O(1)dequeue() → 요소 제거 O(1)front() → 맨 앞 요소 확인 O(1)원형 큐: 배열을 재사용하여 메모리 낭비 방지 (프린트 대기열)우선순위 큐: 값의 우선순위에 따라 요소가 정렬됨( 응급실 환자 대기열)덱: 앞뒤로 삽입 / 삭제 가능 (캐시 구현)

스택 (선형)LIFO방식으로 작동하는 후입 선출 자료구조push() → 요소 삽입 O(1)pop() → 요소 제거 O(1)peek() → 가장 위의 요소 확인 O(1)재귀 함수 호출 스택, 괄호 검사 등에 활용사용 예제: 웹 뒤로 가기 / 앞으로 가기

연결 리스트 (선형)각 노드가 데이터와 다음 노드를 가리키는 포인터를 포함하는 자료구조종류로 단일 연결 리스트, 이중 연결 리스트, 원형 연결 리스트배열보다 메모리 낭비가 없고 크기 변경이 용이포인터 변경만 하면 되므로 삽입 / 삭제가 빠름 → O(1)특정 인덱스 접근이 느림 → O(n)사용 예제: 텍스트 편집