我需要Java程序来解决所有磁盘的塔盘问题,所有磁盘都使用中间杆

问题描述 投票:0回答:1

解决河内难题之塔的Java递归程序

我需要Java程序来使用以下方法解决河内塔的所有磁盘中间杆并计算复杂度,这不会使用中间杆所有磁盘

class project 
{ 

static void towerOfHanoi(int n, char from_rod, char to_rod, char aux_rod) 
{ 
    if (n == 1) 
    { 
        System.out.println("Move disk 1 from rod " + from_rod + " to rod " + to_rod); 
        return; 
    } 
    towerOfHanoi(n-1, from_rod, aux_rod, to_rod); 
    System.out.println("Move disk " + n + " from rod " + from_rod + " to rod " + to_rod); 
    towerOfHanoi(n-1, aux_rod, to_rod, from_rod); 
} 

驱动程序方法

public static void main(String args[]) 
{ 
    int n = 4; // Number of disks 
    towerOfHanoi(n, 'A', 'C', 'B'); // A, B and C are names of rods 
} 
} 
java time-complexity
1个回答
0
投票
(也可以将其视为数学/理论问题。]

如果正确(最佳)解决了河内塔问题,则移动数将为O(2^N)

© www.soinside.com 2019 - 2024. All rights reserved.