问题描述:
图的度序列是指图中所有顶点的度(与顶点关联的边的条数,允许图有自环边,也就是以同一个顶点作为出发点和终点的边)按非递增顺序排列得到的序列。如果一个包含若干非负整数的非递增序列可以作为某个图的度序列,则称这个序列可图化,为可图化序列。容易得知,包含负数的序列一定是不可图化的,全0序列是可图化的。
已知,非递增序列[a[0], a[1], a[2], ..., a[n]]是否为可图化序列,等价于序列[a[1]-1, a[2]-1, a[3]-1, ...a[a[0]]-1, a[a[0] 1], a[a[0] 2], ..., a[n]]中的整数非递增排列后得到的序列是否为可图化序列。
下面的函数func1()和func2()分别使用非递归算法和递归算法判断一个序列是否可图化,函数接收一个包含若干非负整数且按非递增顺序排列的元组seq作为参数,要求判断seq是否为可图化序列,是则返回True,否则返回False。
参考代码:
运行结果: