0Pricing
Coding Interview Prep · Lección

Permutaciones y la idea de N-reinas

Coloque elementos y retroceda ante los conflictos

Permutaciones y la idea de N-reinas es una lección gratuita de Coding Interview Prep en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Coding Interview Prep, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Coding Interview Prep incluye 4 lecciones en total.

De los subconjuntos a las ordenaciones

Una permutación es una disposición de todos los elementos en un determinado orden. Generarlas es la siguiente habilidad de backtracking después de los subconjuntos. 🔀

Cuántas permutaciones hay

Hay n factorial permutaciones de n elementos, porque la primera posición tiene n opciones, la siguiente n menos uno, y así sucesivamente. La cantidad crece rápidamente.

Coloque un elemento a la vez

La recursión completa las posiciones de izquierda a derecha. En cada paso, elige un elemento no utilizado, lo coloca y aplica la recursión al resto.

Registre lo que ya se ha utilizado

Un arreglo de booleanos used indica qué elementos ya se han colocado, de modo que cada uno aparezca exactamente una vez en cada permutación.

Las permutaciones en código

Este backtracking coloca un valor no utilizado, aplica la recursión y después lo libera para la siguiente rama.

def perm(cur):
    if len(cur) == n:
        out.append(cur[:]); return
    for x in a:
        if x not in cur:
            perm(cur + [x])

Use itertools cuando esté permitido

En concursos rápidos, itertools.permutations de Python proporciona todas las ordenaciones sin que tenga que escribir la recursión.

from itertools import permutations
for p in permutations(a):
    print(p)

El problema de N-Queens

N-Queens le pide colocar n reinas en un tablero de n por n de modo que ninguna ataque a otra. Es el rompecabezas clásico de backtracking. 👑

Una reina por fila

Como dos reinas no pueden compartir una fila, coloque exactamente una reina por fila y elija únicamente su columna. Esto reduce enormemente la búsqueda.

Compruebe los tres conflictos

Antes de colocar una reina, rechace cualquier columna o diagonal que ya esté ocupada. Registre en conjuntos las columnas utilizadas y ambas direcciones diagonales.

if c in cols or r-c in d1 or r+c in d2:
    continue

Haga backtracking al llegar a un callejón sin salida

Si ninguna columna funciona en una fila, la rama falla. Haga backtracking, retire la última reina y pruebe su siguiente opción.

El patrón compartido

Las permutaciones y N-Queens comparten una misma estructura: elegir, aplicar la recursión y deshacer. Cuando la reconoce, la mayoría de los problemas de colocación se resuelven con la misma plantilla.

Comprobación rápida

¿Por qué N-Queens coloca solo una reina por fila?

Resumen: elija, aplique la recursión y deshaga

Ha generado permutaciones colocando elementos no utilizados y ha aprendido que N-Queens utiliza el mismo patrón de elegir, aplicar la recursión y deshacer, con comprobaciones de conflictos. 🎯

Preguntas frecuentes

¿La lección «Permutaciones y la idea de N-reinas» es gratis?

Sí — el texto completo de «Permutaciones y la idea de N-reinas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Coding Interview Prep, actualiza a CoddyKit PRO. El curso de Coding Interview Prep incluye 4 lecciones en total.

¿Qué aprenderé en «Permutaciones y la idea de N-reinas»?

Coloque elementos y retroceda ante los conflictos Practicas Coding Interview Prep con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Coding Interview Prep?

No se requiere experiencia previa. Coding Interview Prep en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Permutaciones y la idea de N-reinas»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Coding Interview Prep?

Sí. Cada lección de Coding Interview Prep incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Piense recursivamente: caso base y recursión
  2. Genere todos los subconjuntos
  3. Permutaciones y la idea de N-reinas
  4. Pode para sobrevivir al límite de tiempo
← Volver a Coding Interview Prep