자료구조 C로 구현한 트리와 스택. 이를 응용한 산술식의 연산
본 자료는 미리보기를 지원하지 않습니다.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
해당 자료는 5페이지 까지만 미리보기를 제공합니다.
5페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

자료구조 C로 구현한 트리와 스택. 이를 응용한 산술식의 연산에 대한 보고서 자료입니다.

목차

(1)트리의 구성
(2)스택의 구성
(3)산술식의 구성(트리)
(4)트리와 스택을 이용한 산술식의 연산

각 구현부는
(1)헤더파일
(2)함수구현 파일
(3)테스트파일
(4)실행결과파일
(5)실행파일
로 구성되어 있습니다.

본문내용

(1)전체 구성과 함수의 원형

/* header.h */
// 구조체와 함수 prototype

/* Binary Tree 구조체 정의 */
typedef struct treenode treeNode;
struct treenode
{
int id;
float value;
char op;

treeNode * Left;
treeNode * Right;
};

/* Stack 구조체 정의 */
typedef struct stacknode stackNode;
struct stacknode
{
treeNode * data;
stackNode * next;
};

/* BinaryTreeCreate.c */
treeNode * CreateTree(char * str);
treeNode * NewNode(int id, float value, char op);
void makesubTree(stackNode * s1, stackNode * s2);
treeNode * popNode(stackNode * stack);

/* treeStack.c */
stackNode * CreateStack();
int isEmpty(stackNode * List);
void push(stackNode * List, treeNode * data);
treeNode * get_FirstItem(stackNode * List);
void Delete_FirstItem(stackNode * List);
void Make_ListEmpty(stackNode * List);
void Delete_List(stackNode * List);
void ListDisplay(stackNode * List, char * str);

/* BinaryTree_order.c */
void inOrder(treeNode * tree);
void postOrder(treeNode * tree);
void postOrder2(treeNode * tree);
void preOrder(treeNode * tree);
void deleteTree(treeNode * tree);
void visit_print(treeNode * tree);
void visit_show(treeNode * tree);
void visit_delete(treeNode * tree);

/* BinaryTree_Operation.c */
float Operation(treeNode * tree, stackNode * stack);
void postSearch(treeNode * tree, stackNode * stack);
void visit_operation(treeNode * tree, stackNode * stack);
float get_operate(treeNode * t2, treeNode * t1, char c);
void StackShow(stackNode * stack, char c, char * str);


(2) 실행결과 화면


[트리생성시작] - A*B+C/(D-(E-F*G))/H-I*J
스택의 변화 - 왼쪽부터 최근에 push된 자료임
[Operand Stack] : A
[Operator Stack] :

[Operand Stack] : A
[Operator Stack] : *

[Operand Stack] : B A
[Operator Stack] : *

[Operand Stack] : *
[Operator Stack] : +

[Operand Stack] : C *
[Operator Stack] : +

[Operand Stack] : C *
[Operator Stack] : / +

[Operand Stack] : C *
[Operator Stack] : ( / +

[Operand Stack] : D C *
[Operator Stack] : ( / +

[Operand Stack] : D C *
[Operator Stack] : - ( / +

[Operand Stack] : D C *
[Operator Stack] : ( - ( / +

[Operand Stack] : E D C *
[Operator Stack] : ( - ( / +

[Operand Stack] : E D C *
[Operator Stack] : - ( - ( / +

[Operand Stack] : F E D C *
[Operator Stack] : - ( - ( / +

[Operand Stack] : F E D C *
[Operator Stack] : * - ( - ( / +

[Operand Stack] : G F E D C *
[Operator Stack] : * - ( - ( / +

[Operand Stack] : - D C *
[Operator Stack] : - ( / +

[Operand Stack] : - C *
[Operator Stack] : / +

[Operand Stack] : / *
[Operator Stack] : / +

[Operand Stack] : H / *
[Operator Stack] : / +

[Operand Stack] : / *
[Operator Stack] : - +

[Operand Stack] : I / *
[Operator Stack] : - +

[Operand Stack] : I / *
[Operator Stack] : * - +

[Operand Stack] : J I / *
[Operator Stack] : * - +

[Operand Stack] : * / *
[Operator Stack] : - +

[Operand Stack] : - *
[Operator Stack] : +

[Operand Stack] : +
[Operator Stack] :

[트리생성완료]

[수식의 표현]
Tree - Original : A * B + C / ( D - ( E - F * G ) ) / H - I * J
Tree - infix : A * B + C / D - E - F * G / H - I * J
Tree - postfix : A B * C D E F G * - - / H / I J * - +
Tree - prefix : + * A B - / / C - D - E * F G H * I J

[산술식의 계산]
Ready : A B * C D E F G * - - / H / I J * - +
Ready : 10 9 * 8 7 6 5 4 * - - / 3 / 2 1 * - +

[Stack] : 10 ... A
[Stack] : 9 10 ... B
[Stack] : 90 ... *
[Stack] : 8 90 ... C
[Stack] : 7 8 90 ... D
[Stack] : 6 7 8 90 ... E
[Stack] : 5 6 7 8 90 ... F
[Stack] : 4 5 6 7 8 90 ... G
[Stack] : 20 6 7 8 90 ... *
[Stack] : -14 7 8 90 ... -
[Stack] : 21 8 90 ... -
[Stack] : 0 90 ... /
[Stack] : 3 0 90 ... H
[Stack] : 0 90 ... /
[Stack] : 2 0 90 ... I
[Stack] : 1 2

키워드

트리,   스택,   산술식,   연산,   C,   C++,   자료구조,   링크
  • 가격2,000
  • 페이지수15페이지
  • 등록일2005.01.18
  • 저작시기2004.11
  • 파일형식압축파일(zip)
  • 자료번호#273853
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니