자료구조 - 순환 요약 및 소스 분석, 코드 개선 과제
- 최초 등록일
- 2020.09.01
- 최종 저작일
- 2020.04
- 5페이지/ 한컴오피스
- 가격 1,500원
소개글
자료구조 강의의 2주차 강의인 순환에 대한 분석 및 프로그램 소스 분석(역코딩), 코드개선(순코딩), 디버깅을 담은 레포트
목차
1. 2장 순환
2. 분석&설계(역공학) - 디버깅내용(손분석, 화면캡쳐)
3. 구현&개선(순공학) - 개선코드(구현된 코드를 개선한 코드를 구현하고 주석달기)
본문내용
1-1 2장 순환
1. 순환
1.1. 알고리즘이나 함수가 수행 도중에 자기 자신을 다시 호출하여 문제를 해결하는 기법
1.2. 정의자체가 순환적으로 되어 있는 경우에 적합한 방법
1.3. 순환방법이 편한 프로그램에 한해서, 실제 수행속도가 상당히 줄어들음
2. 순환방법이 편한 프로그램
2.1. 팩토리얼
2.2. 거듭제곱
1-2 분석&설계(역공학) - 디버깅내용(손분석, 화면캡쳐)
1. 분석내용1
1.1. factorial.c
1. n을 인수로 하는 factorial 함수 선언
5. n값을 받아 n이 1이되기 전까지 함수 자신을 호출
< n * factorial(n-1) = n * (n-1) * factorial(n-2) >
* n! = n*(n-1)! 이 성립될 수 있는 방법
1.2. factorial_iter.c (순환방법이 아닌 반복문)
1. n을 인수로 하는 factorial 함수 선언
4~5. 반복문 for문을 이용해서 n까지 1부터 ++해가며 곱해감
* n! = 1*2*.....(n-1)*n 의 방법으로 수행되는 방법
2. 분석내용2
2.1. fib.c
1. n을 인수로 하는 fib 함수 선언
<. 1,2,3,5,8,13,21 의 피보나치 수열을 계산하기 위한 순환 프로그램>
6. return값에서 반복해서 함수 자신 호출
n이 0이나 1일 때 함수를 중단시킨다.
* 이 방법은 계속해서 재귀함수를 호출시키면서 반복한다. 이 함수의 호출은 ‘트리’형식으로 반복구현 될 것이고, 연산속도를 느려지게 할 뿐이다. (시간복잡도)
2.2. fib_iter.c (순환방법이 아닌 반복문)
1. n을 인수로 하는 함수 fib_iter.c 선언
10~14. 반복문 for문을 이용, p, pp, result 변수를 이용하여 더하는 방법
*If (n==9) 는 피보나치 수열의 9번째 항을 구하는 것
참고 자료
없음