반응형
참고자료
https://jung-story.tistory.com/28
개요
이번에는 이진트리의 각각 노드마다 크기를 구현 해 보도록 하겠습니다.
이진트리 노드사이즈 구현
#include <stdio.h>
typedef struct treeNode {
int size;
struct treeNode* lchild;
struct treeNode* rchild;
}treeNode;
treeNode* makeNode(int size, treeNode* lchildeNode, treeNode* rchildNode) {
treeNode* Node = (treeNode*)malloc(sizeof(treeNode));
Node->size = size;
Node->lchild = lchildeNode;
Node->rchild = rchildNode;
return Node;
}
int FolderSizeLRD(treeNode* Node) {
int LSize = 0, RSize = 0;
if (Node) {
LSize = FolderSizeLRD(Node->lchild);
RSize = FolderSizeLRD(Node->rchild);
return (Node->size + LSize + RSize);
}
else {
return 0;
}
}
int main(void) {
treeNode* n7 = makeNode(120, NULL, NULL);
treeNode* n6 = makeNode(30, NULL, n7);
treeNode* n5 = makeNode(50, NULL, NULL);
treeNode* n4 = makeNode(70, NULL, NULL);
treeNode* n3 = makeNode(55, NULL, n6);
treeNode* n2 = makeNode(80, n4, n5);
treeNode* n1 = makeNode(120, n2, n3);
printf("%d", FolderSizeLRD(n1));
return 0;
}
실행화면
반응형
'알고리즘 & 자료구조 > 자료구조' 카테고리의 다른 글
자료구조 (이진트리 Binary Tree 순회 , 이진순회) (0) | 2019.12.02 |
---|---|
자료구조 (이진트리 Binary Tree 검색 삽입) (0) | 2019.12.02 |
자료구조 (이진트리) (binary tree) (0) | 2019.12.02 |
자료구조 (데크) (0) | 2019.12.02 |
자료구조 (연결 큐) (0) | 2019.12.02 |