Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Recursion challenge
#11
Pseudo-code for iterative Gray code:
Code:
for i = 1 to n: a[i] = 0; d[i] = 1;
for i = 0 to n: up[i] = i;

do
  output();
  i = up[n];
  up[n] = n;
  a[i] = a[i] + d[i];
  up[i] = up[i - 1];
  up[i - 1] = i - 1;
  d[i] = -d[i];
loop until i = 0

a is the current Gray code, d is a direction array and the up array is used to jump across the tree to reduce the ammortized time to O(1). The recursive version is quite easy (but really difficult to analyse):
Code:
G(1) = {0, 1}
G(n) = 0G(n - 1)
     = 1G`(n - 1)

G`(1) = {1, 0}
G`(n) = 1G(n - 1)
      = 0G`(n - 1)
esus saves.... Passes to Moses, shoots, he scores!
Reply


Messages In This Thread
Recursion challenge - by Antoni Gual - 06-26-2003, 08:04 PM
Recursion challenge - by Antoni Gual - 06-27-2003, 12:37 AM
Recursion challenge - by Moneo - 06-28-2003, 09:49 AM
I beg to differ. - by Agamemnus - 06-30-2003, 05:11 AM
Re: I beg to differ. - by Moneo - 06-30-2003, 06:22 AM
nah - by Agamemnus - 06-30-2003, 09:07 PM
Recursion challenge - by Antoni Gual - 07-01-2003, 01:13 AM
Recursion challenge - by Moneo - 07-01-2003, 02:25 AM
Recursion challenge - by LooseCaboose - 07-01-2003, 05:02 AM
To LooseCaboose: Re Gray's Code - by Moneo - 07-01-2003, 05:38 AM
Recursion challenge - by LooseCaboose - 07-01-2003, 05:52 AM
Recursion challenge - by Antoni Gual - 07-02-2003, 01:30 AM
Recursion challenge - by LooseCaboose - 07-03-2003, 03:30 PM
Recursion challenge - by Moneo - 07-03-2003, 11:14 PM
Recursion challenge - by Hexadecimal Disaster - 07-04-2003, 01:33 AM
Recursion challenge - by LooseCaboose - 07-04-2003, 09:25 AM
To LooseCaboose: - by Moneo - 07-04-2003, 09:15 PM
Recursion challenge - by LooseCaboose - 07-05-2003, 07:39 AM
To LooseCaboose: - by Moneo - 07-05-2003, 08:31 AM
Recursion challenge - by na_th_an - 07-12-2003, 06:43 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)