[재귀함수] 재귀함수 구현할 때 염두에 두면 좋은 것들 포스팅 썸네일 이미지

Coding_Algorithm/C_C++

[재귀함수] 재귀함수 구현할 때 염두에 두면 좋은 것들

작년에 c언어를 처음 배울 때도 재귀함수에 대해서 배웠는데 너무 어려워서 그냥 무시한 적이 있었는데 물론 그랬다가 지금 충분히 고통을 받을 수 있었습니다. 그래서 재귀함수와 함께 지지고 볶고 하다가 결국 여러가지를 깨달을 수 있었습니다.. 아직 저도 제대로 아는건 아니지만 발상하는 방법 자체를 정리하면 좋을 것 같네요! 발상에 도움되는 것 일단 재귀함수를 어려워하는 사람들의 특징은(나도그랬고) 재귀가 일어나는 안쪽에서 어떻게 진행이 되는가 에 대해서 궁금해한다는 것입니다.. 물론 알면 좋겠지만, 재귀가 3중, 4중으로 겹겹이 진행되면 머리가 슬슬 아파오고, 포기를 하게 됩니다. 그러나 재귀함수에서 진짜 핵심은 재귀함수를 사용함으로써 재귀함수가 하는 역할 을 파악하는 것입니다. 우리가 굳이 재귀함수를 다 ..

2020.05.02 게시됨

[C로 쓴 자료구조론] 1장 연습문제-3번(Boolean출력) 풀이 포스팅 썸네일 이미지

Coding_Algorithm/DS_Algorithm

[C로 쓴 자료구조론] 1장 연습문제-3번(Boolean출력) 풀이

1장 연습문제-3번(Boolean출력) 풀이입니다. 3. n개의 Boolean 변수 x1, x2, x3, ... ,xn이 주어졌을 때, 이 변수들이 가질 수 있는 가능한 모든 진리 값의 조합을 구하고자 한다. 예를 들어 n=2이면 , , , 와 같은 네 가지 경우가 존재한다. 이를 구하는 C프로그램을 작성하여라. 정말 '이 문제를 어떻게 풀면 좋을까'를 조금 생각해보면 Boolean은 true혹은 false의 값만 가능하기 때문에 전체 경우의 수는 2^n개입니다. 이 경우들을 어떻게 출력하면 좋을까 생각했는데, 수형도를 이용하는 방법으로 구현을 해보았습니다. 일단 위 경우는 n=3일때 가능한 수형도입니다. 첫 번째 경우의 수부터 여덟번째 경우의 수까지 순서대로 출력하면 될 것 같네요! 이런 수형도의 꼴을..

2020.05.01 게시됨

[C로 쓴 자료구조론] 1장 연습문제-2번(Horner법칙) 풀이 포스팅 썸네일 이미지

Coding_Algorithm/DS_Algorithm

[C로 쓴 자료구조론] 1장 연습문제-2번(Horner법칙) 풀이

문제 우선 Horner의 법칙을 간단하게 알아봅시다. https://jackpot53.tistory.com/119 그냥 여기 보고 옵시다. 여기가 설명 제일 잘되어있는듯 한줄정리를 하자면 한 항씩 계산을 하자니 효율성이 떨어져서 다른 계산했던 값들을 다시 가져다 쓰는 방법입니다. 그냥 코드로 하나하나 설명하는 방법이 훨신 나을 것 같네요 #include #define MAX_SIZE 101 double horner(int *coeff, int n, int x); int main() { int coeff[MAX_SIZE] = { 1, 2, 3, 4, 5 };// 1 + 2x + 3x^2 + 4x^3 + 5x^4 int n=5;//몇차다항식인지 알려주는 상수 double result, x; printf("x..

2020.04.30 게시됨