在河内塔算法中,什么是辅助



例如,在以下河内塔算法中:

input   Number of disk   
output  Print: disk moved successfully  
complexity  O(n).  
Tower(n , beg , aux , end)  
1.  If (n=1) then   
Beg = end;  
Return;  
2.  Call Tower(n-1 , beg ,end , aug );  
3.  Call Tower (1 ,beg ,aux ,end );  
4.  Call Tower (n-1,aux ,beg ,end);  

辅助应该代表什么?

河内塔问题中有三个主轴:起始主轴(塔的起点(、结束主轴(塔应该结束的位置(和辅助主轴(三个中的另一个(。 辅助主轴用作临时存储空间,用于在将整个塔从起始主轴到端主轴的过程中移动磁盘和塔

希望这有帮助!

如果只有两个挂钩,则不可能移动多个磁盘。 要将包含多个磁盘的组从例如 peg 1 移动到 peg 2,必须将除底部磁盘之外的所有磁盘移动到既不是组的起点也不是目标的 peg。 另一个挂钩被称为"辅助"。 算法的一些表示明确指定了辅助挂钩(在这种情况下,挂钩编号是 0-1-2、1-2-3 还是 11-47-93 并不重要(,而其他表示则要求三个挂钩有三个特定的数字(例如 0-1-2(,并假设没有给出的值将是辅助值(例如通过计算 (aux = 3-src-dest((。

顺便说一下,这个谜题的 3 个钉子版本被广泛用作示例,几乎没有努力探索具有更多钉子的变化,这几乎是一种耻辱。 100多年前,益智书中就探索了这种变化,但我没有看到任何现代教科书提到它们,尽管我认为它们更有趣。

最新更新