¿Cómo funciona la pila de recursión en la generación de una cadena binaria de n bits?

Esta es una pila:

Básicamente, lo que pones al final es lo que destacas primero.

Creo que te estás confundiendo acerca de la base 2. Este es un problema muy simple. Te mostraré un ejemplo con base 10.
Piense en un contador numérico o una cerradura segura.

Si tuviera que nombrar todos los números de 2 dígitos, primero mantendría la posición del 10 inmóvil e iteraría a través de la posición del 1.

01
02
03
04
05
06
07
08
09
Ahora, sacaría la posición de uno y luego incrementaría la posición de los 10.
10
11
12
13 …

¿Esto tiene sentido? Es lo mismo con n bits.
El pseudocódigo debería ser algo como esto:
Empujas todos los n dígitos en la pila. Lo imprimes Haga estallar el último dígito, agregue uno, vuelva a colocarlo en la pila y luego imprima. Cuando, una vez que obtienes todas las combinaciones, apareces dos dígitos. Pop último dígito y descartar, pop n-1, incrementar en uno, empujarlo hacia adentro. Empujar hacia atrás en 0) hasta obtener todas las combinaciones.

Si te entendí correctamente, quieres saber cómo funciona la recursividad para imprimir combinaciones binarias de n longitud como,

Para la longitud 3, imprimirá, “111, 110, 101, 100, 011, 010, 001, 000”

Echa un vistazo aquí, explicó muy bien con el programa.
Imprima todas las combinaciones / permutaciones de una cadena de longitud k que se puede formar a partir de un conjunto de n caracteres

Tu pregunta no está completa.

Supongo que está haciendo la pregunta, generar todas las cadenas binarias de n bits.
revise la página de estas respuestas en stackoverflow.com

este no es el lugar de escritura para hacer este tipo de preguntas … amablemente busque en Google y vaya a través del enlace provisto … será mejor … ¡¡Todo lo mejor … !!

More Interesting

¿Qué es O (nlog (n)) de notación big-O? ¿Cuáles son algunos ejemplos de sus algoritmos?

¿Es elusiva la comprensión fundamental del aprendizaje automático? ¿Requiere habilidad matemática innata?

¿Qué matemáticas se usan en los algoritmos?

En programación, ¿lo nuevo suele ser mejor?

¿Cuáles son algunas formas interesantes de usar tecnologías no convencionales en la programación?

Dadas N monedas, colocadas en una fila, indexadas 1 a N de izquierda a derecha. Inicialmente todas las monedas muestran cabeza. En cada turno, dos enteros, no necesariamente distintos, A y B entre 1 y N (inclusive) se eligen de manera uniforme al azar. Todas las monedas con un índice de A a B (inclusive) se voltean. ¿Cuál es el número esperado de monedas que muestran la cabeza después de que M gira?

¿Qué es un algoritmo O (log n) para encontrar un máximo local de una matriz?

Cómo dejar de hacer preguntas mientras aprende ingeniería

¿Existe un vínculo entre el procesamiento de señales y la teoría de grafos?

Cómo entender el concepto de que 'si p entonces q' es equivalente a 'no p o q' Eg; 'Si muero, entonces me voy' es equivalente a 'Vivo o me voy'

¿Quiénes son los equipos más notables que trabajan para resolver el problema P vs NP?

¿Cuál es el tiempo de retorno promedio en el cubo booleano n-dimensional, si el proceso estocástico está eligiendo una coordenada al azar y volteándola?

¿Hay una manera eficiente de comparar la similitud de una cadena con cada permutación de otra cadena (es decir, un grupo simétrico)?

¿Cómo se usa el teorema de Bayes en robótica?

¿Qué es la combinatoria en matemáticas discretas?