01/10/2018, 15:51
Tính tổng của cây nhị phân tìm kiếm có điều kiện và không có điều kiện
Hi Anh/Chị !
Em mới học về cây nhị phân tìm kiếm, em muốn hỏi về vấn đề tìm tổng khi có đk và không có điều kiện.
Khi không có điều kiện, em viết như vậy :
int Sum(TREE t)
{
if (t == NULL)
return 0;
int a = Sum(t->left);
int b = Sum(t->right);
return a + b + t->element;
}
Khi có điều kiện như là tổng của các node > 0 và <2018
Em viết như thế này :
int Sum(TREE t)
{
if (t == NULL)
return 0;
int a = Sum(t->left);
int b = Sum(t->right);
if(t->element < 2018 && t->element > 0)
return a + b + t->element;
}
Thì sai ạ, Mà nếu em thêm dòng return a+b vào cuối thì đúng ạ.
int Sum(TREE t)
{
if (t == NULL)
return 0;
int a = Sum(t->left);
int b = Sum(t->right);
if(t->element < 2018 && t->element > 0)
return a + b + t->element;
return a + b;
}
Bài liên quan
Vậy nếu t->element không thỏa thì bạn return gì VS sẽ warn “not all code paths return a value”.
Em biết nó return ra giá trị rác mà thường các giá trị rác có giá trị âm -xxxxxxxxxxxx. Mà lần này em thấy nó ra gía trị rác lớn hơn 0 nên em không biết có lỗi gì không ạ
Khi đã gọi là giá trị rác thì rác nào cũng là rác.
Dạ, em cảm ơn ạ .