بکندباز

ما دو لیست _N و _P داریم که _N مقادیر گره‌ها در یک درخت دودویی را نشان می‌دهد و _P والدین گره‌های _N را نشان می‌دهد.

N P
7 3
3 5
9 8
4 8
8 5
5 -1

تابعی بنویسید که نوع گره درخت دودویی را برای یک گره مشخص پیدا کند. خروجی باید یکی از موارد زیر باشد:

  • “Root”: اگر گره، گره ریشه باشد.
  • “Leaf”: اگر گره، گره برگ باشد.
  • “Inner”: اگر گره، نه ریشه و نه برگ باشد.
  • “Not exist”: اگر گره وجود نداشته باشد.

نکات:

  • همه مقادیر لیست _N منحصر به فرد هستند.
EXPECT_EQ(NodeType({1, 3, 6, 9, 2, 8, 5}, {2, 2, 8, 8, 5, 5, -1}, 5), "Root");
EXPECT_EQ(NodeType({1, 3, 6, 9, 2, 8, 5}, {2, 2, 8, 8, 5, 5, -1}, 6), "Leaf");
EXPECT_EQ(NodeType({1, 3, 6, 9, 2, 8, 5}, {2, 2, 8, 8, 5, 5, -1}, 2), "Inner");
EXPECT_EQ(NodeType({1, 3, 6, 9, 2, 8, 5}, {2, 2, 8, 8, 5, 5, -1}, 10), "Not exist");
EXPECT_EQ(NodeType({6, 3, 1, 2, 5, 7, 4, 6, 8}, {3, 1, 6, 1, 2, 3, 8, -1, 6}, 8), "Inner");
EXPECT_EQ(NodeType({5, 6, 8, 7, 1, 9, 4, 11, 10, 2}, {8, 8, -1, 8, 7, 4, 5, 4, 1, 1}, 11), "Leaf");
EXPECT_EQ(NodeType({3, 2, 4, 9, 11, 10, 8, 5, 6, 7}, {-1, 3, 3, 2, 3, 4, 4, 9, 10, 8}, 3), "Root");
EXPECT_EQ(NodeType({5, 6, 8, 7, 1, 9, 4, 11, 10, 2}, {8, 8, -1, 8, 7, 4, 5, 4, 1, 1}, 4), "Inner");
EXPECT_EQ(NodeType({3, 2, 4, 9, 11, 10, 8, 5, 6, 7}, {-1, 3, 3, 2, 3, 4, 4, 9, 10, 8}, 6), "Leaf");
EXPECT_EQ(NodeType({5, 6, 8, 7, 1, 9, 4, 11, 10, 2}, {8, 8, -1, 8, 7, 4, 5, 4, 1, 1}, 8), "Root");

هنوز پاسخی برای این تمرین ثبت نشده است

نظرات

*
*

تمرینات مرتبط