المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : Binary Search Tree(BST)



shining19931
30-11-2012, 12:18
السلام عليكم ورحمة الله وبركاته
أود أن أسأل المبرمجين سؤال في تراكيب البيانات باستخدام الجافا
السؤال هو أنني احتاج كود باستخدام الـ Binary Search Tree ويكون في هذا الكود الميثودات التالية:-
1). ميثود يجد أعداد النودات في الـ Tree
---public static int size()
2). ميثود يجد أعداد الـ internal nodes
---public static int Internal_ size()
3). ميثود يجد أعداد لـ external nodes
---public static int External_ size()
4). ميثود يجد أعداد الـ nodes التي لها two children
---public static twoChildren_ size()
5). ميثود تجد أعداد الـ nodes لتي لها one children
---public static oneChildren_ size()
6). ميثود أمرر لها رقمين يطبعهما ويطبع الأرقام يللي بينهم
public static void PrintRange(int x, int y)
7). ميثود أمرر له رقم ويرجع لي ان هذا الرقع في مستوي كذا.
على سبيل المثال مررت للميثود رقم 65 فالبرنامج يرجع لي ان هذا الررقم في المستوى الثاني
public static int nodeLevel(int x)
8). ميثود أمرر له رقمين ويرجع لي الـ paht length يللي بينهم
على سبيل المثال مررت الرقم 87 والرقم 55 فمثلاً المسافة بين الرقمين 5 خطوات فيطبع لي 5
public static void Printpath(int x, int y)
9). ميثود يطبع لي أمرر له رقمين يطبع لي أقرب أب يلتقوا فيه الرقمين --------->Lowest Common Ancestor(LCA)l
على سبيل المثال مررت 87 والرقم 77 فإن أقرب أب يلتقون فيه هو الرقم 80 فيطبع لي الرقم 80
public static void Printpath(int x, int y)


ملاحظة :- هذا البرنامج يدرج الـ nodes في الـ main program
البرنامج يقرأ مجموعة من الـ nodes من ملف
تنسيق الملف كما يلي:-
1
30
10
15
7
.
.
.
.
5
115
99
8