1.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
get_count (x)
if x 
return 1+get_count (x.left)+get_count(x.right) ;
------------------------------------------------------------------------------------
//
int get_node_count (TreeNode *node)
{
int count=0;
if (node != NULL)
count = 1 + get_node_count (node->left)+
get_node_count (node->right);
return count;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
get_leaf (T)
if T 
if T.left = NULL and T.right = NULL
then return 1;
else return get_leaf(T.left)+get_leaf(T.right);
---------------------------------------------------------------------------------------
//
int get_leaf_count (TreeNode *node)
{
int count = 0;
if( node != NULL ) {
if( node->left==NULL && node->right==NULL ) return 1;
else count = get_leaf_count(node->left) +
get_leaf_count(node->right);
}
return count;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
get_height (T)
if T 
return 1 + max(get_height (T.left),
get_height (T.right);
------------------------------------------------------------------------------------
//
int get_height (TreeNode *node)
{
int height = 0;
if ( node != NULL )
height = 1 + max(get_height(node->left),
get_height(node->right));
return height;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
이렇게 3가지를 하나로 합쳐서 main 에서 노드의 갯수와 높이등을 출력하게 하라는데.......
하... 살려주세요.
정말 이게 무슨뜻인지 모르겠어요 ㅠㅜ
이렇게 3개 합쳐서 하나의 소스로 만들어 주실수 있으신가요?
과제라 어떻게 하지도 못하고 발만 동동 구르고 있어요... 고수님들 도와주세요~!!!
댓글 0