데이터 분석 기술 블로그

Stack Overflow 본문

데이터 사이언스/알고리즘

Stack Overflow

데이터분석가 이채은 2025. 2. 14. 19:36

스택(Stack) 메모리 개념

컴퓨터의 메모리는 "스택(Stack)과 힙(Heap)" 두 영역으로 나뉜다.

메모리 구조 설명
스택(Stack) 메모리 함수 호출 시 지역 변수, 매개변수가 저장됨 (작은 용량, LIFO 구조)
힙(Heap) 메모리 동적 할당된 데이터가 저장됨 (크기가 크지만, 관리 필요)

 

  • 스택 메모리는 한정적이며, 너무 많이 사용하면 Stack Overflow 발생

2025.01.20 - [데이터 사이언스/알고리즘] - Heap Overflow


Stack Overflow 발생 원인

  1. 무한 재귀(Recursive Function)
    • 재귀 호출이 계속 발생하면서 스택이 꽉 참
  2. 너무 깊은 재귀 호출
    • 너무 깊이 호출하면 스택 메모리가 초과됨
  3. 비효율적인 재귀 알고리즘 (예: 피보나치)
    • 중복된 계산이 많아 스택을 과도하게 사용 → 메모이제이션(DP) 필요

Stack Overflow 해결 방법

  1. 재귀 호출 대신 반복문 사용
    • 재귀 대신 for 문을 사용하면 스택 사용 없이 해결 가능
  2. 메모이제이션(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