Webseite

Beliebt

Webseite

That is why we have written solve(n - 1, start, end, auxiliary) instead of solve(n - 1, start, auxiliary, end) Next we print ' start - end ' which corresponds. The worstTme(n) is 0(2 raised to n where n is the number of disks to be moved @param n the number of disks to be moved @param orig the pole. If n1, we simply move disk 1 from pole A to pole B. For N 3 it translates into Move from Src to Dst Move from Src to Aux Move from Dst to Aux. Steps 1 and 3 are recursive invocations of the same procedure. Instead of trying to figure out where disk 1 should be moved initially, we will focus our attention on disk 4, the bottom disk. The Source Code java / Determines the steps needed to move disks from an origin to a destination. Finally, we have recursive invocation of solve. However one solves the problem, sooner or later the bottom disk will have to be moved from Src to Dst. The Tower of Hanoi puzzle was invented by the French mathematician Edouard Lucas in 1883. Then move disk n from pole A to pole B. But once again, we still need to determine how to move three disks from one pole to another. Recursive Algorithm The recursive solution to move n discs from the start pole to the end pole using an auxiliary pole is given below. If not, the recursive solution is used which consists of two recursive calls to the same procedure solve. Here is how it looks when you start the game: The object of the game is to move all of the disks from pole A to pole B; pole C. The procedure would be similar to the above three steps, but steps 1 and 3 would be a collection of steps. Otherwise, please share this post using the buttons below and subscribe for more great stuff). To move three disks from say, pole A to pole C, we first move two disks (one at a time) from A to B, then we move disk 3 from. Recursive solution Let call the three pegs Src (Source Aux (Auxiliary) and Dst (Destination). Move the disc from start pole to end pole. Remark 2 There are quite a few variations on the puzzle. For example, you may want to experiment with its bicolor or 3 colors versions. Out.println(start " - " end solve(n - 1, auxiliary, start, end public static void main(String args) TowersOfHanoi towersOfHanoi new TowersOfHanoi System. A trained mathematician would also note that T0 0. Our example will use four disks (4-1). When we need to move n-1 discs from the start pole to the auxiliary pole, the auxiliary pole becomes the end pole and the end pole becomes the auxiliary pole. If you have other ways of solving this problem, please share through the comments. Since we are trying to use as few steps as possible, we may assume that that portion of the task took exactly TN-1 moves. For n 1 however: First, move n 1 disks from pole A to pole C, using pole B as a temporary. One then needs exactly TN-1 more steps to finish the task. Out.println(start " - " end else solve(n - 1, start, end, auxiliary System. |