如何解决使用回溯的图着色的平均复杂度
def neighbors(G,k): # return the list of the neighbors of k in G
neigh = []
for i in range(shape(G)[0]):
if G[k][i]:
neigh.append(i)
return neigh
def backtrack_color(G,colors,k=0,max_col=6):
if k == shape(G)[0]:
return True,colors
for i in range(max_col):
colors[k] = i
if not i in [colors[n] for n in neighbors(G,k)]:
if backtrack_color(G,k + 1,max_col)[0]:
return True,colors
colors[k] = -1
return False,colors
我找到了最坏情况下的时间复杂度(O(m^n),其中 m 是 max_col,n 是 G 的顶点数)但我需要 平均情况 时间复杂度,但我找不到它.
有人可以帮忙吗?
也是第一次发帖,如有错误请见谅
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。