Chris Miller said:
So the list can only be traversed in one direction.
How to generate the tree backwards. Consider k = 1. The first few generations are ...
1. is the root of the tree.
2. The stop marks the end of a generation.
4.
8, 3. The comma separates even rule, from odd rule, where odd is possible.
16, 7; 6. The semicolon separates nodes in the previous generation.
32, 15; 14; 12, 5.
64, 31; 30; 28, 13; 24, 11; 10.
128, 63; 62; 60, 29; 56, 27; 26; 48, 23; 22; 20, 9.
256, 127; 126; 124, 61; 120, 59; 58; 112, 55; 54; 52, 25; 96, 47; 46; 44, 21; 40, 19; 18.
For example, the 8 can be reached by even rule from 16, or odd rule from 7.
3 can only be reached by even rule from 6.
For k = 1; it looks like all numbers appear only once.
Each generation is one step further from the root.
The population count of each generation; 1, 1, 2, 3, 5, 8, 13, 21,,,
That looks like it might be the Fibonacci numbers. Φ = 1.618033;
But each generation rises to twice the previous generation. 2.000;
Edit: The Fibonacci numbers hold at least as far as the 39th generation, when my crude program threw a "segmentation violation" error.
In the 39th gen there were; F39 = 63,245,986 members exactly.