ما دو لیست _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منحصر به فرد هستند. 
self.assertEqual(node_type([1, 3, 6, 9, 2, 8, 5], [2, 2, 8, 8, 5, 5, -1], 5), "Root") self.assertEqual(node_type([1, 3, 6, 9, 2, 8, 5], [2, 2, 8, 8, 5, 5, -1], 6), "Leaf") self.assertEqual(node_type([1, 3, 6, 9, 2, 8, 5], [2, 2, 8, 8, 5, 5, -1], 2), "Inner") self.assertEqual(node_type([1, 3, 6, 9, 2, 8, 5], [2, 2, 8, 8, 5, 5, -1], 10), "Not exist") self.assertEqual(node_type([6, 3, 1, 2, 5, 7, 4, 6, 8], [3, 1, 6, 1, 2, 3, 8, -1, 6], 8), "Inner") self.assertEqual(node_type([5, 6, 8, 7, 1, 9, 4, 11, 10, 2], [8, 8, -1, 8, 7, 4, 5, 4, 1, 1], 11), "Leaf") self.assertEqual(node_type([3, 2, 4, 9, 11, 10, 8, 5, 6, 7], [-1, 3, 3, 2, 3, 4, 4, 9, 10, 8], 3), "Root") self.assertEqual(node_type([5, 6, 8, 7, 1, 9, 4, 11, 10, 2], [8, 8, -1, 8, 7, 4, 5, 4, 1, 1], 4), "Inner") self.assertEqual(node_type([3, 2, 4, 9, 11, 10, 8, 5, 6, 7], [-1, 3, 3, 2, 3, 4, 4, 9, 10, 8], 6), "Leaf") self.assertEqual(node_type([5, 6, 8, 7, 1, 9, 4, 11, 10, 2], [8, 8, -1, 8, 7, 4, 5, 4, 1, 1], 8), "Root")
پاسخ های کاربران به این تمرین
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
                                            
نظرات