You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于NetworkX的带权有向图节点排序优化方案咨询(Python)

问题:基于有向边权重的节点全局排序方案

背景与数据

  • 我正在使用Python的NetworkX包处理带权有向图,同时有一个存储边权重信息的DataFrame。
  • 样本DataFrame示例:
from    to     count
v0      v1     0.1
v0      v2     0.15
v0      v3     0.15
v0      v4     0.25
v0      v5     0.15
...
  • 我的实际DataFrame数据如下:
{'grad': {0: 'CUHK', 1: 'CUHK', 2: 'CUHK', 3: 'CUHK', 4: 'CUHK', 5: 'CityU', 6: 'CityU', 7: 'CityU', 8: 'CityU', 9: 'HKU', 10: 'HKU', 11: 'HKU', 12: 'HKUST', 13: 'HKUST', 14: 'HKUST', 15: 'HKUST', 16: 'HKUST', 17: 'HKUST', 18: 'Low Frequency', 19: 'Low Frequency', 20: 'Low Frequency', 21: 'Low Frequency', 22: 'Low Frequency', 23: 'Low Frequency', 24: 'PolyU', 25: 'PolyU', 26: 'PolyU', 27: 'PolyU'}, 'to': {0: 'CUHK', 1: 'CityU', 2: 'HKU', 3: 'LingU', 4: 'PolyU', 5: 'CityU', 6: 'HKU', 7: 'LingU', 8: 'PolyU', 9: 'CityU', 10: 'HKU', 11: 'PolyU', 12: 'CUHK', 13: 'CityU', 14: 'HKU', 15: 'HKUST', 16: 'LingU', 17: 'PolyU', 18: 'CUHK', 19: 'CityU', 20: 'HKU', 21: 'HKUST', 22: 'LingU', 23: 'PolyU', 24: 'CityU', 25: 'HKU', 26: 'LingU', 27: 'PolyU'}, 'count': {0: 9, 1: 5, 2: 3, 3: 2, 4: 3, 5: 3, 6: 2, 7: 2, 8: 3, 9: 3, 10: 9, 11: 4, 12: 2, 13: 1, 14: 2, 15: 1, 16: 4, 17: 4, 18: 49, 19: 34, 20: 29, 21: 34, 22: 3, 23: 36, 24: 1, 25: 1, 26: 1, 27: 11}}

排序规则

若节点Vx指向Vy的边权重大于Vy指向Vx的权重,则Vx的排名高于Vy。例如:V0→V5的权重为0.2,V5→V0的权重为0.5,则V5排名更高。

当前实现与需求

目前我采用暴力法,遍历检查所有节点对关系,满足条件时调整列表顺序。现有节点集合为{V0,V1,V2,V3,V4,V5,V6,V7}。
我希望获得更优雅的节点排序方案,比如通过V5>V0、V0>V1这类偏序关系生成全局排序V5>V0>V1。请问是否存在比暴力法更优的方法?该问题是否属于经典算法问题?

内容的提问来源于stack exchange,提问作者kenny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 05:55:15