평가점수D

산술식을 트리로 구성하고 infix, prefix, postfix 방식으로 접근

등록일 2005.05.17 한글파일한컴오피스 (hwp) | 7페이지 | 가격 500원
다운로드
장바구니관심자료
상세신규 배너

소개글

산술식을 트리로 구성하고 infix(전위형), prefix(중위형), postfix(후위형) 방식으로 접근하는 프로그램, 자세한 주석이 달려있으며 같은 입력으로 세가지 결과를 모두 볼 수 있습니다.

컴파일 실행환경

GCC/비쥬얼스튜디오/C언어

본문내용

1) 해결방법
: 우선 한 개의 다항식을 입력받아 배열에 넣고 앞에서부터 순차적으로 검색하며 배열에 push함과 동시에 트리를 구성한다.
이 때 사용되는 배열은 연산자 배열과 피연산자 배열로 연산자 배열에는 char형의 값이 들어가며 피연산자 배열에는 그때 그때 생성된 피연산자 노드의 주소값이 들어간다. 이때의 자료형은 정의된 구조체의 포인터 형이다.

다항식을 배열에 push 할 때의 판단 기준은 피연산자는 조건없이 순차적으로 push 되며, 연산자의 경우는 연산자의 우선순위를 따져 이전에 넣은 연산자의 우선순위가 지금 넣으려는 연산자의 우선순위보다 높거나 같으면 이전에 넣은 연산자의 계산을 선행하는 동시에 배열에서 제거(pop)해 준 후 새로운 연산자를 push 한다. 이때 이전에 넣은 연산자의 계산을 선행한다는 것은 해당 연산자에 대한 한 개의 루트와 두 개의 차일드를 가지는 트리를 구성하여 결과를 나타낸다고 생각하고 피연산자의 배열에 push 한다. 이 때 연산자 우선순위를 판단하는 과정은 각 연산자에 레벨을 부여하는 방법을 사용하였다. 그리고 괄호연산의 경우는 괄호 안에서의 계산 과정도 밖에서의 과정과 같으나 연산자 우선순위에 관계없이 괄호 안의 연산자에 대한 트리 생성을 선행해 줌으로서 해결해 주었다.

그리고 다항식의 배열로의 적용이 끝났다 하더라도 트리 생성이 끝난 것이 아니다. 단지 연산자 우선순위에 따라 먼저 해주어야 하는 계산은 먼저 해주어 결국에는 우선순위가 낮은 연산자부터 높은 연산자로 배열되도록 하는 과정이었고, 다항식의 배열에 대입이 끝난 후에는 가장 오른쪽에 있는 연산자부터 트리를 생성해 주면 된다. 이때 새로 생성된 트리는 계속 위로 붙어 누적되므로 트리를 가리키던 헤더 값도 계속 변하게 된다.

infix, prefix, postfix로의 접근은 재귀함수를 사용하여 노드의 주소값을 찾아 들어가며 leaf노드의 링크값은 모두 NULL인것 을 참고하여 종료조건을 만들어 줌으로서 재귀함수가 가능해 진다.

참고 자료

없음

구매평가

판매자에게 문의하기 최근 구매한 회원 학교정보 보기

ㆍ다운로드가 되지 않는 등 서비스 불편사항은 고객센터 1:1 문의하기를 이용해주세요.
ㆍ이 자료에 대해 궁금한 점을 판매자에게 직접 문의 하실 수 있습니다.
ㆍ상업성 광고글, 욕설, 비방글, 내용 없는 글 등은 운영 방침에 따라 예고 없이 삭제될 수 있습니다.

문의하기

판매자 정보

위 정보 및 게시물 내용의 진실성에 대하여 해피캠퍼스는 보증하지 아니하며,
해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
위 정보 및 게시물 내용의 불법적 이용, 무단 전재·배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁요소 발견시 고객센터의 저작권침해 저작권침해 신고센터를 이용해 주시기 바랍니다.

상세하단 배너
우수 콘텐츠 서비스 품질인증 획득
최근 본 자료더보기
상세우측 배너
산술식을 트리로 구성하고 infix, prefix, postfix 방식으로 접근
페이지
만족도 조사

페이지 사용에 불편하신 점이 있으십니까?

의견 보내기