Update 2:
ClearAll[nG0]
nG0 = NestGraph[x |-> (F @@ (List @@ x + {#, 1}) & /@ {1, 3, 5}),
F[2, 1], #,
VertexLabels -> {v_ :> Placed[v[[1]], Center]}, ##2,
VertexSize -> Large, VertexStyle -> LightOrange] &;
Examples:
nG0[#, ImageSize -> 1 -> 50] & /@ {3, 5} // Row
Original answer:
ClearAll[f, nG]
f = Apply[Join]@Map[(x |-> # + x) /@ Thread[{1, {1, 3, 5} }] &];
nG = NestGraph[f, {{1, 2}}, # - 1,
VertexLabels -> {v_ :> Placed[v[[2]], Center]}, ##2,
VertexSize -> Large, ImageSize -> Large] &;
Examples:
nG[3, VertexLabelStyle -> 16, VertexStyle -> LightOrange]
Grid[Partition[nG[#, ImageSize -> 1 -> 40,
PlotLabel -> Style[PromptForm["n", #], 16, Black]] & /@ Range[2, 7], 2],
Dividers -> All]
$Version
"13.0.0 for Linux x86 (64-bit) (November 22, 2021)"
Update: For versions before v13.0:
ClearAll[edgeList, graph]
edgeList = Rest @*Flatten @
NestList[Flatten @* Map[(x \[Function] DirectedEdge[#, # + x]) /@
Thread[{1, {1, 3, 5}}] &] @* DeleteDuplicates @*
Map[Last], {0 -> {1, 2}}, # - 1] &;
graph = Graph[edgeList[#],
VertexLabels -> {v_ :> Placed[v[[2]], Center]}, ##2,
VertexSize -> Large, ImageSize -> Large] &;
Example:
graph[7]