r잡초처럼
바른 프로그래밍
r잡초처럼
전체 방문자
오늘
어제
  • 분류 전체보기 (124)
    • FastAPI (7)
    • 끄적끄적 (2)
    • Python (17)
    • Django (31)
    • Database (2)
    • Docker (7)
    • 디자인패턴 (2)
    • CS 공부 (12)
      • 알고리즘 (2)
      • 자료 구조 (1)
      • 네트워크 (7)
      • IT 지식 (1)
      • 운영체제 (1)
    • 기타 팁들 (10)
    • Aws (2)
    • 독서 (1)
    • 코딩테스트 공부 (1)
      • 백준 (0)
      • 프로그래머스 (1)
    • DevOps (13)
    • TIL (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • query param
  • poetry
  • 상속과 컴포지션
  • 물리 계층
  • 모두의 네트워크
  • docker
  • 7장
  • 케이블의 종류
  • 완벽한 IT 인프라 구축을 위한 Docker
  • validate
  • dotenv
  • cp949
  • 상속 안티 패턴
  • 6장
  • fastapi
  • 책 리뷰
  • encoding
  • CS 지식
  • Batch
  • 컴퓨터 기본 지식
  • 랜 카드
  • pytest
  • 네트워크
  • 전기 신호
  • depends
  • pycharm
  • 5장 회사에서 하는 랜 구성
  • preonboarding
  • 파이썬 클린 코드
  • 랜과 왠

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
r잡초처럼

바른 프로그래밍

Python

파이썬으로 배우는 자료구조 핵심 원리

2023. 1. 30. 20:12

파이썬으로 배우는 자료구조 핵심원리

스택프레임

  1. 함수가 호출되면 메모리에는 스택 프레임이라는 공간이 생긴다. 여기에는 함수 실행에 필요한 지역 변수들이 할당된다.
  2. 스택 프레임의 생성 시기는 함수를 호출했을 때고, 소멸 시기는 함수 실행이 종료되었을 떄이다.
  3. 스택 프레임은 메모리에 생성되는데 생성될 수 있는 크기에 한계가 있다. 그러므로 계속 쌓인다면 언젠가는 최대 한계치에 도달할 수밖에 없다. 이 때 발생하는 에러가 Recursion Depth 에러이다.
  4. 재귀 함수를 스택 프레임의 관점에서 바라보면 상태 정보를 가지고 있는 지역 변수는 서로 다른 스택프레임에 저장된다. 실행 결과는 서로 다른 스택 프레임에 있는 지역 변수에 저장된다. 이때 기저 사례를 두지 않으면 계속 호출이 일어나고 스택프레임이 저장되는 메모리가 한정적이기 때문에 언젠가는 오류가 발생한다.
  5. 메모리 공간이 모자라게 되는 에러를 스택 오버 플로라고 한다.

재귀 함수

  • 재귀 함수를 설계할 때는 두 가지를 고려해야 한다.
    1. 언제 어떤 인수를 전달하여 호출할 것인가
    2. 재귀 호출을 멈추는 조건인 기저 사례를 정하는 것

'Python' 카테고리의 다른 글

Pytest - 2. Fixture 알아보기  (0) 2023.02.01
Pytest 사용하기 - 1. 간단한 예제  (0) 2023.01.31
Python 3.10 변경점 알아보기 - 1. Parenthesized context managers, Better error messages  (0) 2023.01.28
WSL2 환경에서 Poetry 사용하기  (0) 2023.01.16
[Python] GIL이 뭐죠?  (0) 2022.12.21
    'Python' 카테고리의 다른 글
    • Pytest - 2. Fixture 알아보기
    • Pytest 사용하기 - 1. 간단한 예제
    • Python 3.10 변경점 알아보기 - 1. Parenthesized context managers, Better error messages
    • WSL2 환경에서 Poetry 사용하기
    r잡초처럼
    r잡초처럼
    오늘보다 내일 더 나은 개발자가 되기 위한 노력을 기록하는 블로그 입니다.

    티스토리툴바