微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用回溯的图着色的平均复杂度

如何解决使用回溯的图着色的平均复杂度

我为彩色图编写了一个回溯算法,这是python中的代码

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 举报,一经查实,本站将立刻删除。