-1
我有一個class
調用Graph
來表示連接的無向圖,我想實現快速排序基於邊上的權重排序邊緣。排序圖中的邊緣
class Graph:
def __init__(self, n):
self.vertices = range(n)
self.edges = set([(random.random(), i, j) for i in xrange(n) for j in xrange(n)])
def qsort(self):
if len(self.edges) <= 1:
return self.edges
else:
return qsort([x for x in self.edges[1:] if x < self.edges[0]]) + [self.edges[0]] + qsort([x for x in self.edges[1:] if x >= self.edges[0]])
graph = Graph(10)
graph.qsort()
當我嘗試運行上述,我得到NameError: global name 'qsort' is not defined
。
有人能告訴我我做錯了什麼嗎?
它看起來像涉及2種不同類型。示例代碼中的self.sort()不接受任何參數。但呼籲失蹤的「全球」qsort()通過一些... – LiMar
良好的通話。我已經解決了這個問題 –
我已經添加了'self.qsort(...)+ ...'。但現在它說:'TypeError:'set'object has no attribute'__getitem __'' – VeilEclipse