Soft Ware/자료구조 및 알고리즘 11

트리에서 전위순회, 중위순회, 하위순회

#include #include typedef struct Node { struct Node *Left; struct Node *Right; char Data; }Node; Node * MakeTree(char Data); void deleteTree(Node * Data); void DestroyTree(Node * Data); void ConnectTree(Node * Data); void PreorderPrint(Node *Data); void InorderPirnt(Node *Data); void PostPrint(Node *Data); int main() { Node * A = MakeTree('A'); Node * B = MakeTree('B'); Node * C = MakeTree('C');..

- 트리 - LCRS 원하는 높이 부분만 출력

#include #include typedef char ElementType; typedef struct LCRSNode { struct LCRSNode * LeftChild; struct LCRSNode * RightSibling; ElementType Data; }LCRSNode; LCRSNode* LCRS_CreateNode(ElementType NewData); void LCRS_DestroyNode( LCRSNode* Node ); void LCRS_DestroyTree( LCRSNode* Root ); void LCRS_AddChildNode( LCRSNode * Parent, LCRSNode * Child); void LCRS_PrintTree( LCRSNode * Node, int Dept..

유클리드 호제법을 이용한 최대공약수 구하기

#include int main() { int Data = 0; int Data1 = 0; int m = 0; int n = 0; int result = 0; printf("Data input : "); scanf("%d %d",&Data,&Data1); m = Data; n = Data1; do{ result = m % n; m = n; n = result; }while(result != 0); printf("Data : %d\n",m); return 0; } 기존의 두 데이터 값을 나머지 연산자를 이용하여 나머지를 구합니다. 그다음 기존의 데이터2가 1으로 이동하고 나머지값이 데이터 2로 이동합니다. 이처럼 나머지가 0이 나오면 나눈 인자값이 최대공약수가 됩니다 ㅎㅎ

중위 순위를 후위순위로 바꾸는 소스입니다

#include #include #include enum {FALSE=0,TRUE}; typedef struct Operation_Stack { char Data; struct Operation_Stack * beforeStack; }Operation_Stack; typedef struct Number_Stack { char Data; struct Number_Stack * NextStack; }Number_Stack; typedef struct Top { struct Operation_Stack * OperationTop; struct Number_Stack * NumberHead; }Top; void OperationPop(Top ** top); int NumberPush(Top ** top, cha..

동적할당과 스택 구조를 이용하여 후위 연산해보기!!

#include #include #include typedef struct Stack { int Data; struct Stack * BeforeStack; }Stack; Stack *Top = NULL; int Push(int Data) { Stack * StackData = (Stack *)calloc(1,sizeof(Stack)); if(StackData == NULL) exit(0); StackData->Data = Data; StackData->BeforeStack = NULL; if(Top == NULL) Top = StackData; else { StackData->BeforeStack = Top; Top = StackData; } return 1; } int Pop(void) { int D..