哈韦尔-哈基米算法

来自testwiki
imported>Yumeto2021年9月15日 (三) 09:59的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

哈韦尔-哈基米算法是一种图论算法,由Template:HarvtxtTemplate:Harvtxt先后发表,解决了Template:Tsl。这个问题是指给定一串有限多个非负整数组成的序列,是否存在一个简单图使得其Template:Tsl恰为这个序列。我们称满足条件的序列为可简单图化的。如果一个序列可简单图化,这个算法能够构造一个特解;否则算法指出序列不可简单图化。该算法是一个递归算法

算法

哈韦尔-哈基米算法基于以下定理。

S=(d1,,dn)为有限多个非负整数组成的非递增序列S可简单图化当且仅当有穷序列S=(d21,d31,,dd1+11,dd1+2,,dn)只含有非负整数且是可简单图化的。

如果给定的序列 S 是可简单图化的,那么算法最多运行n1次赋值S:=S。注意每次赋值后可能需要重新对序列排序。当S全部为零时,算法停止。在每一步中,如果序列可简单图化,就从v1v2,,vn各引出一条边,即{v1,v2},{v1,v3},,{v1,vd1+1},然后令S约化为S。如果在任何一步中,序列S无法约化为非负整数序列S,算法就给出最开始的S不可简单图化的结论。

参见 

参考文献 

Template:Reflist