freeCodeCamp/guide/arabic/computer-science/data-structures/graphs/index.md

47 lines
3.1 KiB
Markdown
Raw Normal View History

---
title: Graphs
localeTitle: الرسوم البيانية
---
## الرسوم البيانية
الرسم البياني هو بنية بيانات يمكنك استخدامها لحل مشكلات التوجيه ، مثل "هل هذان المكونان متصلين؟" و "ما هو أقصر مسار من النقطة أ إلى ب؟"
يتكون الرسم البياني من العقد والحواف. العقدة (أي قمة الرأس) هي كائن في الرسم البياني الخاص بك. يمكن أن تحتوي العقدة على معلومات مثل اسم العقدة والحواف المرتبطة بها. الحافة هي وصلة تربط بين نقطتين. يمكن أن تحتوي الحافة على معلومات مثل وزن الحافة. إذا تم توصيل عقدتين عن طريق حافة ، فهما جاران (أي مجاوران).
اعتمادًا على المشكلة ، يمكنك استخدام حواف ثنائية الاتجاه (غير موجهة) أو أحادية الاتجاه (موجّهة). إذا كان لديك حافة غير موجهة من a إلى b ، فهناك أيضًا طريقة من b إلى a. إذا كان لديك حافة موجهة من a إلى b ، فلا توجد بالضرورة حافة من b إلى a.
يمكنك استخدام الرسوم البيانية لصياغة مواقف مثل:
* الخرائط الجغرافية
* كل مدينة في بلدك هي عقدة
* إذا كانت مدينتان متصلتان بواسطة طريق ، فهناك حافة بينهما \* يمكن للطرق أن تكون واحدة أو ثنائية الاتجاه (كل من الحواف الموجّهة وغير الموجهة) \* الوزن يمكن أن يكون طول الطريق
* تدفق الماء
* كل بوابة من الفيضانات هي عقدة
* كل قناة هي حافة
* سوف يتدفق الماء فقط في اتجاه واحد حتى يتم توجيه الحواف
* يمكن أن يكون الوزن أقصى سعة مائية للتدفق
مثال: رسم بياني يحتوي على عُقد في بلدان الشمال الأوروبي ، وباعتباره (غير موجه) يحرك مسافة القيادة إلى المدن المتصلة بالطريق المباشر.
`. +---------+
. |Reykjavik|
. +---------+
.
.
. 529 km +---------+ 1760 km +--------+
. +------------+|Stockholm|+---------+|Helsinki|
. | +---------+ +--------+
. + +
. +----+ 1991 km |
. |Oslo|+-------------------------------------+
. +----+
. +----------+
. |Copenhagen|
. +----------+
`
#### معلومات اكثر:
[نطاق البحث الأول (BFS)](https://github.com/freecodecamp/guides/tree/master/src/pages/algorithms/graph-algorithms/breadth-first-search/index.md)
[عمق البحث الأول (DFS)](https://github.com/freecodecamp/guides/tree/master/src/pages/algorithms/graph-algorithms/depth-first-search/index.md)