Professional Documents
Culture Documents
5 - DS&A 2nd Year 2019 - Tree L01
5 - DS&A 2nd Year 2019 - Tree L01
)Data Structure and Algorithms - 2019 Dr. Aghiad Kh. (aghiad_kh@hotmail.com 2
املصطلحات الرئيسية
: وهي،تأتي من شجرة العائلة
)؛descendant) " و"السليل،)ancestor) " و"السلف،)Child) " و"اإلبن،)parent) ""األب
العقدة األب
أشقاء
حافة
العقدة اإلبن
(الخلف) مسار
عُقد خارجية
(أوراق)
)Data Structure and Algorithms - 2019 Dr. Aghiad Kh. (aghiad_kh@hotmail.com 4
أمثلة عن األشجار
)Data Structure and Algorithms - 2019 Dr. Aghiad Kh. (aghiad_kh@hotmail.com 6
2 بنية البيانات «األشجار» ()Trees Data Structure
ُ ُ
جية ( )external nodeإذا لم يكن لها عقد
ً ر الخا بالعقدة ) v( العقدة دعى ت (4
ر ُ
أبناء ،وتسمى العقد الخارجية أيضا باألو اق (.)leaves
ُ
العقد األبناء فتدعى عقدة داخليةالعقد التي لديها واحد أو أكثر من ُ
ُ (5
(.)Internal node
تكون العقدة ( )vسلف للعقدة ( )uإذا كان: (6
▪ ( )v=uأو
▪ ( )vهي سلف العقدة األب للعقدة (.)u
ً
▪ وبالعكس تكون العقدة ( )vنسل العقدة ( )uإذا كانت العقدة ( )uسلفا للعقدة (.)v
)Data Structure and Algorithms - 2019 Dr. Aghiad Kh. (aghiad_kh@hotmail.com 7
3 بنية البيانات «األشجار» ()Trees Data Structure
الحافة ( )edgeمن الشجرة ( )Tهي زوج من العقد ( )u , vحيث أن العقدة (7
( )uهي أب للعقدة (.)v
املسار( )pathمن الشجرة ( )Tهوسلسلة من العقد املتتالية ،حيث كل (8
عقدتين متتاليتين من السلسلة تشكالن حافة.
الشجرة املرتبة ( :)Ordered Treeنقول أن الشجرة مرتبة إذا كان هناك (9
ترتيب خطي ما محدد ألبناء كل عقدة.
❑ الترتيب يعبر عن عالقة خطية بين ُ
العقد األبناء بحيث يمكن وضعهم ضمن
سلسلة مرتبة.
)Data Structure and Algorithms - 2019 Dr. Aghiad Kh. (aghiad_kh@hotmail.com 8
ُ
»مثال هيكلية الكتاب «شجرة مرتبة
Book
𝒑 وليكن (𝒑𝑪) يرمز لعدد العقد األبناء للعقدة ( )pمن الشجرة ()T؛ عندئذ: ✓
)Data Structure and Algorithms - 2019 Dr. Aghiad Kh. (aghiad_kh@hotmail.com 11
)Binary Tree( الشجرة الثنائية
)Data Structure and Algorithms - 2019 Dr. Aghiad Kh. (aghiad_kh@hotmail.com 13
الجذر()Root عقدة داخلية
عقدة خارجية (ورقة)
العقد
الداخلية
والخارجية
(األوراق)
لشجرة
ثنائية.
عدد األوراق هو امليزة الهامة لألشجار
الثنائية ،والذي ُيستخدم في تقييم
كفاءة أداء خوارزميات الفرز.
)Data Structure and Algorithms - 2019 Dr. Aghiad Kh. (aghiad_kh@hotmail.com 14
المستوى ()0
شجرة
ثنائية
المستوى ()1
كاملة
المستوى ()2
بالعمق
من
المستوى ()3 املستوى
المستوى ()4
الرابع
)Data Structure and Algorithms - 2019 Dr. Aghiad Kh. (aghiad_kh@hotmail.com 15
الشجرة الثنائية الكاملة
❑ مستوى العقدة الجذر يساوي الصفر.
❑ مستوى العقدة ( )pمن الشجرة ( = )Tواحد +مستوى العقدة األب للعقدة (.)p
ً
❑ لكل عقدة (ليست من األوراق) منها عقديتين أبناء تماما،
❑ جميع األوراق في الشجرة الثنائية الكاملة تقع في نفس املستوى.
❑ عدد األوراق ألي شجرة ثنائية كاملة = عدد العقد الداخلية +واحد
❑ عدد العقد في كل مستوى ( 𝒊 ) من الشجرة الثنائية الكاملة ُيعطى بالعالقة𝒊 :
𝟐
)Data Structure and Algorithms - 2019 Dr. Aghiad Kh. (aghiad_kh@hotmail.com 16
الشجرة الثنائية الكاملة – إحصائيات رقمية
10 9 8 7 6 5 4 3 2 1 0 املستوى ( 𝒊 )
1024 512 256 128 64 32 16 8 4 2 1 عدد العقد في املستوى
2047 1023 511 255 127 63 31 15 7 3 1 عدد العقد الكلي للشجرة
1023 511 255 127 63 31 15 7 3 1 0 عدد العقد غيراألوراق
1024 512 256 128 64 32 16 8 4 2 1 عدد العقد األوراق
)Data Structure and Algorithms - 2019 Dr. Aghiad Kh. (aghiad_kh@hotmail.com 17
أمثلة عن استخدام الشجرة الثنائية
)Data Structure and Algorithms - 2019 Dr. Aghiad Kh. (aghiad_kh@hotmail.com 19
1 - )XOR( الشجرة الثنائية للدالة:مثال
XOR - truth table
A 1 1 1 1 0 0 0 0
B 1 1 0 0 1 1 0 0
C 1 0 1 0 1 0 1 0
(A xor B) xor C 1 0 0 1 0 1 1 0
A =1
B
=1 The decision
C
B B
1 0 1 0
C C C C
1 0 1 0 1 0 1 0
)Data Structure and Algorithms - 2019 Dr. Aghiad Kh. (aghiad_kh@hotmail.com 22
Engine Type
Jet Propeller
شجرة القرار
Wing Position C130
إلتخاذ قرارعن
Low High نوع طائرة وفقا
B747 Bulges
لقواعد
None Aft Wing
)if …. then …..(
C5A C141
)Data Structure and Algorithms - 2019 Dr. Aghiad Kh. (aghiad_kh@hotmail.com 24
{[((3+1)×3)/((9−5)+2)]−[(3×(7−4))+6]} تمثيل التعبيرالرياض ي
((((3+1)×3)/((9−5)+2))−((3×(7−4))+6)) -
((3+1)×3)/((9−5)+2) / (3×(7−4))+6) +
3 1 9 5 7 4
7 33
B N
1 8 26 78
F R
41 85 P
❑ يتم استخدام الفئة األولى ضمن األعضاء الدالية للفئة الثانية أي فئة الشجرة.
)Data Structure and Algorithms - 2019 Dr. Aghiad Kh. (aghiad_kh@hotmail.com 31
1
توصيفا مختصرا للعمليات األساسية التي تعمل على الشجرة.
اإلعادة املعلومات التي يحتاجها عمله العضوالدالي
)Data Structure and Algorithms - 2019 Dr. Aghiad Kh. (aghiad_kh@hotmail.com 33
3
توصيفا مختصرا للعمليات األساسية التي تعمل على الشجرة.
اإلعادة املعلومات التي يحتاجها عمله العضوالدالي
)Data Structure and Algorithms - 2019 Dr. Aghiad Kh. (aghiad_kh@hotmail.com 34
class BST
{
protected:
root تعريف
BSTNode* root;
public:
NULL الفئة
BST() { root = 0; }
void clear(); )BST(
bool isEmpty() const;
bool search( const ) const; والتي تمثل
فئة
void breadthFirst();
void depthFirst();
void insert( const );
void delete ( BSTNode* );
void balance( BST* , int , int );
.الشجرة
};