Also, pseudocode example for really fast generation:
initarray := [a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z]
mod := initarray
while 1:{
for loopvar from 1 to dim(mod):{
output mod[loopvar]}
newmod := []
for loopvar from 1 to 26:{
temp := initarray[loopvar] + mod
newmod := newmod + temp
}
mod := newmod
}
ok this really kills the memory, whoops
and you'll have really long pauses for when the computer is calculating the next string length
EDIT: figured out a constant-time algorithm, same memory problems though
pseudocoded for viewing pleasure:
list := [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z]
queue := list
while forever{
pop queue => string
print string
concatenate string, list => list2
push list2 into queue
}