اجتياز عقدة الشبكة
سؤال
باستخدام مكتبة Python في NetworkX، قمت بإنشاء بياني غير مباشر لتمثيل شبكة علاقة بين مختلف الأشخاص. مقتطف من التعليمات البرمجية أدناه:
import networkx as nx
def creategraph(filepath):
G=nx.Graph()
#All the various nodes and edges are added in this stretch of code.
return G
من ما أفهمه، كل عقدة هي في الأساس في القاموس. المشكلة التي تقدمها هي أنني أريد إجراء نوع مختلف من خوارزمية المشي العشوائية. الآن قبل أن تقفزني وتخبرني باستخدام إحدى الوظائف القياسية لمكتبة NetworkX، أريد أن أشير إلى أنها خوارزمية مخصصة. افترض أنني قمت بتشغيل دالة Creategraph، ويتم إرجاع كائن G وتخزينه في كائن آخر (دعونا نسميها x). أريد أن أبدأ في عقدة تسمى "بوب". بوب متصل أليس وجو. الآن، أريد إعادة تعيين Y للإشارة إلى أليس أو بوب عشوائيا (مع البيانات التي أتعامل معها، يمكن أن تحتوي عقدة معينة على مئات الحواف التي تتركها). كيف أذهب عن القيام بذلك؟ أيضا، كيف يمكنني التعامل مع إدخالات Unicode في Dict عقدة معينة (مثل كيف يتم سرد أليس وجو أدناه؟)
X = creategraph("filename")
Y=X['Bob']
print Y
>> {u'Alice': {}, u'Joe': {}}
المحلول