본문 바로가기
728x90

재귀함수2

[PYTHON] yield from 구문이 재귀적 제너레이터 구조에서 해결하는 3가지 복잡성 문제와 최적화 방법 파이썬의 비동기 프로그래밍과 데이터 스트리밍 처리에서 제너레이터(Generator)는 핵심적인 역할을 수행합니다. 특히 복잡한 트리 구조나 중첩된 리스트를 탐색할 때 재귀적 제너레이터는 매우 강력한 도구가 됩니다. 하지만 파이썬 3.3 이전에는 중첩된 반복문을 처리하기 위해 불필요한 코드가 반복되는 문제가 있었습니다. 본 글에서는 전문가의 시점에서 yield from 구문이 재귀적 구조에서 발생하는 통신 및 성능 문제를 어떻게 해결하는지 심층적으로 분석합니다.1. 기존 방식의 한계: 중첩 루프의 오버헤드과거 파이썬에서 하위 제너레이터(Sub-generator)의 값을 상위로 전달하기 위해서는 명시적으로 for 루프를 사용해야 했습니다. 이는 단순히 코드가 길어지는 문제뿐만 아니라, 양방향 데이터 전달(s.. 2026. 3. 2.
[PYTHON] 재귀 함수(Recursive Function)의 마법 : 원리와 실전 설계 전략 단순 반복문을 넘어 논리적 우아함을 구현하는 재귀적 사고방식(Recursive Thinking)의 모든 것1. 재귀 함수란 무엇인가? (The Essence of Recursion)프로그래밍의 세계에서 재귀(Recursion)는 함수가 자기 자신을 다시 호출하여 문제를 해결하는 기법을 말합니다. 이는 마치 거울 두 개를 마주 보게 놓았을 때 끝없이 펼쳐지는 이미지나, 러시아의 인형 '마트료시카'와 같습니다. 커다란 인형을 열면 똑같이 생긴 조금 더 작은 인형이 나오고, 그 안에 또 작은 인형이 들어있는 구조와 매우 흡사합니다. 재귀는 복잡한 문제를 동일한 형태의 더 작은 하위 문제(Sub-problems)로 쪼개어 해결할 때 매우 강력한 위력을 발휘합니다. 특히 자료구조의 트리(Tree)나 그래프(Gra.. 2026. 2. 13.
728x90