72 lines
4.0 KiB
Markdown
72 lines
4.0 KiB
Markdown
|
---
|
||
|
title: Trees
|
||
|
localeTitle: الأشجار
|
||
|
---
|
||
|
# الأشجار
|
||
|
|
||
|
يمكن تعريف بنية بيانات الأشجار بشكل متكرر (محلي) كمجموعة من العقد (تبدأ من عقدة جذر) ، حيث تكون كل عقدة عبارة عن بنية بيانات تتكون من قيمة ، مع قائمة مراجع للعقد ("الأطفال") ، مع القيود التي لا تتكرر أي إشارة ، ولا شيء يشير إلى الجذر. تسمى الشجرة بدون العقد بالشجرة الخالية أو الفارغة.
|
||
|
|
||
|
الشجرة الثنائية هي بنية بيانات غير خطية تتكون من العقد ، حيث تحتوي كل عقدة على المكونات الثلاثة التالية:
|
||
|
|
||
|
**عنصر البيانات** : يخزن أي نوع من البيانات في العقدة **مؤشر يسار** : **يشير** إلى الشجرة الفرعية على الجانب الأيسر من العقدة **المؤشر الأيمن** : **يشير** إلى الشجرة الفرعية على الجانب الأيمن من العقدة كما يوحي الاسم ، يخزن عنصر البيانات أي نوع من البيانات في العقدة. تشير مؤشرات اليسار واليمين إلى الأشجار الثنائية على الجانب الأيمن والأيسر من العقدة على التوالي.
|
||
|
|
||
|
إذا كانت الشجرة فارغة ، يتم تمثيلها بمؤشر فارغ.
|
||
|
|
||
|
## المصطلحات المستخدمة في الأشجار:
|
||
|
|
||
|
**الجذر** : العقدة العليا في شجرة.
|
||
|
|
||
|
**الطفل** : عقدة متصلة مباشرة بعقدة أخرى عند الانتقال بعيدًا عن الجذر.
|
||
|
|
||
|
**الوالد** : الفكرة العكسية للطفل.
|
||
|
|
||
|
**الأشقاء** : مجموعة من العقد مع نفس الوالد.
|
||
|
|
||
|
**السليل** : يمكن الوصول إلى العقدة من خلال إجراء متكرر من الوالد إلى الطفل.
|
||
|
|
||
|
**السلف** : يمكن الوصول إلى العقدة من خلال إجراء متكرر من الطفل إلى الوالد.
|
||
|
|
||
|
**الفرع** (العقدة الداخلية): عقدة لشجرة لها عقد فرعية.
|
||
|
|
||
|
**ورقة** (أقل شيوعا تسمى العقدة الخارجية): عقدة بدون أطفال.
|
||
|
|
||
|
**الدرجة العلمية** : عدد الألواح الفرعية لعقدة.
|
||
|
|
||
|
**الحافة** : الاتصال بين عقدة واحدة وأخرى.
|
||
|
|
||
|
**المسار** : تسلسل من العقد والحواف التي تربط العقدة مع سليل.
|
||
|
|
||
|
**المستوى** : يتم تعريف مستوى العقدة بواسطة 1 + (عدد الاتصالات بين العقدة والجذر).
|
||
|
|
||
|
**ارتفاع الشجرة** : ارتفاع الشجرة هو ارتفاع العقدة الجذرية الخاصة بها.
|
||
|
|
||
|
**العمق** : عمق العقدة هو عدد الحواف من العقدة الجذرية للشجرة إلى العقدة.
|
||
|
|
||
|
**غابة** : الغابة هي مجموعة من الأشجار المنفصلة n ≥ 0.
|
||
|
|
||
|
### بعض أنواع الأشجار الشائعة:
|
||
|
|
||
|
* شجرة ثنائية
|
||
|
* شجرة البحث الثنائية
|
||
|
* شجرة AVL
|
||
|
* أحمر أسود شجرة
|
||
|
* شجرة Splay
|
||
|
* شجرة هوفمان
|
||
|
|
||
|
### الاستخدامات الشائعة
|
||
|
|
||
|
* تمثل البيانات الهرمية
|
||
|
* تخزين البيانات بطريقة تجعلها سهلة البحث
|
||
|
* تمثل قوائم مرتبة من البيانات
|
||
|
* خوارزميات التوجيه
|
||
|
|
||
|
### رمز عقدة شجرة
|
||
|
|
||
|
\`\` \`c\_cpp العقدة الهيكلية { بيانات int؛ // عنصر البيانات العقدة الهيكلية \* اليسار ؛ // المؤشر إلى العقدة اليسرى العقدة الهيكلية \* // المؤشر إلى العقدة اليمنى }؛
|
||
|
|
||
|
\`\` \`
|
||
|
|
||
|
#### معلومات اكثر:
|
||
|
|
||
|
* [ملاحظات CMU الدرس](http://www.cs.cmu.edu/~clo/www/CMU/DataStructures/Lessons/lesson4_1.htm)
|
||
|
* [ويكيبيديا](https://en.wikipedia.org/wiki/Tree_(data_structure))
|