list1 = [ 4, 7, 7, 3, 3, 3, 2, 1 ]
list2 = [ 5, 4, 3, 3, 2, 2, 2, 1, 1, 1 ]
def havel_hakimi_algo( degree_list ):
degree_list.sort( reverse = True )
print degree_list
for degree in degree_list:
if degree < 0:
return False
if degree != 0:
remove_val = degree_list.pop( 0 )
for index in range( remove_val ):
degree_list[index] -= 1
havel_hakimi_algo( degree_list )
return True
print havel_hakimi_algo( list1 )
print havel_hakimi_algo( list2 )
Havel--Hakimi定理判断可图化 python,布布扣,bubuko.com
Havel--Hakimi定理判断可图化 python