반복문 (Looping) 과 재귀함수 (Recursion)

ORCASUIT·2023년 10월 23일
0

반복문 (Looping)

C

  • C에서는 for, while, do-while과 같은 구문을 사용하여 반복문을 작성합니다.
  • C는 보통 더 낮은 수준의 메모리 제어가 가능하기 때문에, 반복문을 통한 최적화가 더 유연할 수 있습니다.
// for loop
for(int i = 0; i < 5; i++) {
    printf("%d ", i);
}

// while loop
int i = 0;
while(i < 5) {
    printf("%d ", i);
    i++;
}

// do-while loop
int i = 0;
do {
    printf("%d ", i);
    i++;
} while(i < 5);

Python

  • Python에서는 forwhile을 사용하여 반복문을 작성할 수 있습니다.
  • Python의 for 반복문은 C보다 더 고차원적인 작업을 수행할 수 있습니다. 예를 들어, 리스트나 딕셔너리 같은 복잡한 자료구조를 쉽게 순회할 수 있습니다.
# for loop
for i in range(5):
    print(i, end=' ')

# while loop
i = 0
while i < 5:
    print(i, end=' ')
    i += 1

재귀 함수 (Recursion)

C

  • C에서는 함수 내부에서 자기 자신을 호출하여 재귀 함수를 구현할 수 있습니다.
  • 탈출 조건을 명시적으로 정의해야 합니다.
  • 스택 오버플로우의 위험이 있습니다.
int factorial(int n) {
    if (n == 0) return 1;
    return n * factorial(n - 1);
}

Python

  • Python에서도 함수 내부에서 자기 자신을 호출하여 재귀 함수를 구현할 수 있습니다.
  • 탈출 조건을 명시적으로 정의해야 하며, Python도 스택 오버플로우의 위험이 있습니다.
  • 데코레이터를 사용하여 메모이제이션을 쉽게 구현할 수 있습니다.
def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n - 1)

요약

  • C와 Python 모두 반복문과 재귀 함수를 지원하지만, 사용하는 문법과 가능한 작업의 범위에 차이가 있습니다.
  • Python은 더 높은 수준의 추상화와 편의성을 제공하지만, C는 더 낮은 수준의 메모리 제어와 최적화가 가능합니다.

0개의 댓글