Tags
- 쟝고
- Article & User
- M:N
- 큐
- Vue
- delete
- migrations
- SQL
- drf
- Tree
- Django
- 그리디
- 이진트리
- outer join
- 백트래킹
- stack
- 완전검색
- distinct
- ORM
- 뷰
- update
- N:1
- DB
- 통계학
- 스택
- regexp
- Queue
- count
- 트리
- create
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Notice
Recent Posts
Link
데이터 분석 기술 블로그
Stack Overflow 본문
스택(Stack) 메모리 개념
컴퓨터의 메모리는 "스택(Stack)과 힙(Heap)" 두 영역으로 나뉜다.
메모리 구조 | 설명 |
스택(Stack) 메모리 | 함수 호출 시 지역 변수, 매개변수가 저장됨 (작은 용량, LIFO 구조) |
힙(Heap) 메모리 | 동적 할당된 데이터가 저장됨 (크기가 크지만, 관리 필요) |
- 스택 메모리는 한정적이며, 너무 많이 사용하면 Stack Overflow 발생
2025.01.20 - [데이터 사이언스/알고리즘] - Heap Overflow
Stack Overflow 발생 원인
- 무한 재귀(Recursive Function)
- 재귀 호출이 계속 발생하면서 스택이 꽉 참
- 너무 깊은 재귀 호출
- 너무 깊이 호출하면 스택 메모리가 초과됨
- 비효율적인 재귀 알고리즘 (예: 피보나치)
- 중복된 계산이 많아 스택을 과도하게 사용 → 메모이제이션(DP) 필요
Stack Overflow 해결 방법
- 재귀 호출 대신 반복문 사용
- 재귀 대신 for 문을 사용하면 스택 사용 없이 해결 가능
- 메모이제이션(DP) 활용
- 이전 값을 저장하여 중복 계산을 방지 → 스택 낭비 줄이기
'데이터 사이언스 > 알고리즘' 카테고리의 다른 글
병합 정렬 (Merge Sort) (0) | 2025.02.16 |
---|---|
Heap Overflow (0) | 2025.02.15 |
퀵 정렬 (Quick Sort) (0) | 2025.02.13 |
삽입 정렬 (Insertion Sort) (0) | 2025.02.12 |
선택 정렬 (Selection Sort) (0) | 2025.02.11 |