(다항식 계산) 범용리스트
- 최초 등록일
- 2011.02.22
- 최종 저작일
- 2010.07
- 17페이지/ 압축파일
- 가격 1,500원
소개글
□ 문제개요
○ 다항식을 범용 링크드 리스트를 이용하여 구현한다.
- 범용 리스트 A는 n≥0 개 원소의 유한 순차 즉, a0, ...,an-1
a. ai (0≤i ≤ n-1)는 원자(atom) 또는 리스트 원소
- 원자가 아닌 원소는 A의 서브리스트
a. cf: Linear list-> ai = atom
[다항식 노드의 예]
○ 다음의 다항식에 대하여 노드를 미리 셋팅 해 놓는다.(교수님 지시)
P(x,y) = (2x^1 + 3x^2)*y^1 + (2x^2 + 4x^1)*y^2
○ 사용자가 x 와 y 값을 입력 하였을 때 특정 규칙에 따라 노드를 계산하여 최종 결과를
출력하도록 한다.
목차
□ 문제의 개요
□ 문제 분석 및 알고리즘
□ 소스 및 주석
□ 실행 화면 CAPTURE
□ 느낀점
본문내용
□ 문제개요
○ 다항식을 범용 링크드 리스트를 이용하여 구현한다.
- 범용 리스트 A는 n≥0 개 원소의 유한 순차 즉, a0, ...,an-1
a. ai (0≤i ≤ n-1)는 원자(atom) 또는 리스트 원소
- 원자가 아닌 원소는 A의 서브리스트
a. cf: Linear list-> ai = atom
[다항식 노드의 예]
○ 다음의 다항식에 대하여 노드를 미리 셋팅 해 놓는다.(교수님 지시)
P(x,y) = (2x^1 + 3x^2)*y^1 + (2x^2 + 4x^1)*y^2
○ 사용자가 x 와 y 값을 입력 하였을 때 특정 규칙에 따라 노드를 계산하여 최종 결과를
출력하도록 한다.
□ 분석 및 알고리즘
○ 문제분석
- 어떠한 모양의 다항식 노드가 생성되더라도 결과값을 산출해 낼 수 있어야한다.
- 시작 포인터가 first 하나이므로 특정 vertex 위치를 기억 할 수 있는 Stack 자료구조가
필요할 것이다.
- 다항식의 가장 안쪽 괄호가 노드의 깊이가 가장 깊은 것이므로 최우선으로 계산 되어야
할 것이다.
- 가장 아래에서부터 노드 레벨 의 윗 단계로 올라가며 계산해 나간다.
○ 알고리즘
- 다음의 리스트들을 스택으로 이용한다.
a. list down_list : ptr노드를 저장하는 리스트
b. list char_list : 변수를 저장하는 리스트
c. list accumulater : 계산된 값들을 저장하는 리스트
d. list no_cnt_list : depth 별로 no 노드의 수를 저장하는 리스트
e. list ptr_cnt_list : depth 별로 ptr 노드의 수를 저장하는 리스트
.
.
.
참고 자료
없음
압축파일 내 파일목록
멀티다항식(링크드리스트).hwp
Controller.h
main.cpp
PolyNode.h