اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

نعم يمكنك تطبيق خوارزمية البحث في العمق في لغة Python بسهولة، سـأحاول كتابة مثال بسيط لتطبيق DFS :

# تعريف الرسم البياني على شكل قائمة مجاورة
graph = {
    'A': ['B', 'C'],
    'B': ['D', 'E'],
    'C': ['F'],
    'D': [],
    'E': ['F'],
    'F': []
}

# تطبيق البحث في العمق
def dfs(graph, start, visited=None):
    if visited is None:
        visited = set()
    visited.add(start)
    print(start)  

    for neighbor in graph[start]:
        if neighbor not in visited:
            dfs(graph, neighbor, visited)

# بدء البحث من النقطة A
dfs(graph, 'A')

تذكر أن البحث في العمق قد يؤدي إلى تحديد مسارات طويلة بشكل لا نهائي في الرسم البياني إذا كان هناك دورة، لذا يجب استخدام مجموعة visited لتتبع النقاط التي تم زيارتها بالفعل وتجنب الحلقات.

يمكنك أن تطلع أيضا على شرح هذه الخوازرميات لتأخذ فكرة عليها بشكل أفضل من خلال هذه المقالات:

 

  • 0
نشر
بتاريخ 2 دقائق مضت قال Chihab Hedidi:

نعم يمكنك تطبيق خوارزمية البحث في العمق في لغة Python بسهولة، سـأحاول كتابة مثال بسيط لتطبيق DFS :

# تعريف الرسم البياني على شكل قائمة مجاورة
graph = {
    'A': ['B', 'C'],
    'B': ['D', 'E'],
    'C': ['F'],
    'D': [],
    'E': ['F'],
    'F': []
}

# تطبيق البحث في العمق
def dfs(graph, start, visited=None):
    if visited is None:
        visited = set()
    visited.add(start)
    print(start)  

    for neighbor in graph[start]:
        if neighbor not in visited:
            dfs(graph, neighbor, visited)

# بدء البحث من النقطة A
dfs(graph, 'A')

تذكر أن البحث في العمق قد يؤدي إلى تحديد مسارات طويلة بشكل لا نهائي في الرسم البياني إذا كان هناك دورة، لذا يجب استخدام مجموعة visited لتتبع النقاط التي تم زيارتها بالفعل وتجنب الحلقات.

يمكنك أن تطلع أيضا على شرح هذه الخوازرميات لتأخذ فكرة عليها بشكل أفضل من خلال هذه المقالات:

 

شكرااا جدا لحضرتك والله

بس سوال كمان لوسمحت هي ده خورزميه ام هياكل بيانات

عشان في ناس بنقول انها هياكل بيانات

  • 0
نشر
بتاريخ 5 دقائق مضت قال Ail Ahmed:

شكرااا جدا لحضرتك والله

بس سوال كمان لوسمحت هي ده خورزميه ام هياكل بيانات

هي خوارزمية وليست بنية بيانات.

يتم استخدام البنيات البيانية لتخزين البيانات وتمثيل العلاقات بينها، في حين يتم استخدام الخوارزميات لتنفيذ العمليات أو الحسابات على هذه البيانات. في هذا السياق، DFS هي خوارزمية تستخدم للتنقل والبحث في الرسوم البيانية.

بالنسبة لهياكل البيانات يمكنك الإطلاع عليها من هنا:
 

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...