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

问题描述

我为彩色图编写了一个回溯算法,这是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 (将#修改为@)