У меня есть график NetworkX, подобный следующему.
g = nx.DiGraph()
g.add_edge('a', 'b')
g.add_edge('b', 'c')
g.add_edge('b', 'd')
g.add_edge('b', 'e')
g.add_edge('e', 'f')
У меня есть функция Python с именем getHop
, и она принимает два параметра. Один - node
, а другой - hop
.
getHop(node, hop):
Если узел f
, а прыжок 1
, тогда getHop
должен вернуть родительский узел (узлы) f
. В этом случае это e
.
Если узел f
, а прыжок 2
, тогда getHop
должен вернуть старший родительский узел (узлы) f
. В этом случае это b
.
Если узел равен f
, а прыжок равен 3
, тогда getHop
должен возвращать прародительский узел (узлы) f
. В этом случае это a
.
Как я могу реализовать вышеупомянутый сценарий в NetworkX. Пожалуйста, дайте мне знать. Заранее спасибо.