Articles of algoritmo

Fusionando dos listas enlazadas ordenadas

Esta es una de las preguntas de progtwigción realizadas durante la prueba escrita de Microsoft. Estoy dando la pregunta y la respuesta que se me ocurrió. La cosa es mi respuesta, aunque parece completa (al menos para mí), creo que se puede reducir el número de líneas. Se me preguntó en C y soy una […]

¿Cuál es la mejor manera de verificar la fortaleza de una contraseña?

Ver también ¿Cómo se computa la complejidad de la contraseña? ¿Cuál es la mejor manera de garantizar que una contraseña proporcionada por el usuario sea una contraseña segura en un formulario de registro o cambio de contraseña? EDITAR: una idea que tenía (en python) def validate_password(passwd): conditions_met = 0 conditions_total = 3 if len(passwd) >= […]

El camino más corto para transformar una palabra en otra

Para un proyecto de Data Structures, debo encontrar la ruta más corta entre dos palabras (como “cat” y “dog” ), cambiando solo una letra a la vez. Nos dan una lista de palabras de Scrabble para usar en encontrar nuestro camino. Por ejemplo: cat -> bat -> bet -> bot -> bog -> dog He […]

¿Cómo combinar dos BST de manera eficiente?

¿Cómo fusionar dos árboles de búsqueda binarios que mantienen la propiedad de BST? Si decidimos tomar cada elemento de un árbol e insertarlo en el otro, la complejidad de este método sería O(n1 * log(n2)) , donde n1 es el número de nodos del árbol (digamos T1 ), que hemos dividido, y n2 es la […]

¿Cuál es la forma más eficiente de codificar un GUID arbitrario en ASCII legible (33-127)?

La representación de cadena estándar de GUID toma alrededor de 36 caracteres. Lo cual es muy bueno, pero también realmente derrochador. Me pregunto cómo codificarlo de la manera más breve posible usando todos los caracteres ASCII en el rango 33-127. La implementación ingenua produce 22 caracteres, simplemente porque 128 bits / 6 bits rinde 22. […]

Puntos de intersección círculo-círculo

¿Cómo puedo calcular los puntos de intersección de dos círculos? Esperaría que hubiera dos, uno o ningún punto de intersección en todos los casos. Tengo las coordenadas xey del punto central y el radio de cada círculo. Se preferiría una respuesta en python, pero cualquier algoritmo de trabajo sería aceptable.

Cómo implementar la primera búsqueda de profundidad para el gráfico con una aproximación no recursiva

Bueno, he dedicado mucho tiempo a este tema. Sin embargo, solo puedo encontrar soluciones con métodos no recursivos para un árbol: no recursivo para árbol , o método recursivo para el gráfico, Recursivo para gráfico . Y muchos tutoriales (no proporciono esos enlaces aquí) tampoco proporcionan los enfoques. O el tutorial es totalmente incorrecto. Por […]

Mejor algoritmo de ajuste de palabras

Word wrap es una de las características imprescindibles del editor de texto moderno. ¿Sabes cómo manejar el ajuste de palabras? ¿Cuál es el mejor algoritmo para el ajuste de palabras? actualizado: si el texto es de varios millones de líneas, ¿cómo puedo hacer un ajuste de palabras muy rápido? actualizado: ¿Por qué necesito la solución? […]

¿Cómo puedo determinar mediante progtwigción cómo colocar cajas más pequeñas en un paquete más grande?

¿Alguien sabe de software o algoritmos existentes para calcular el tamaño de un paquete para el envío de múltiples artículos? Tengo un montón de artículos en nuestra base de datos de inventario con dimesiones de longitud, ancho y alto definidos. Dadas estas dimensiones, necesito calcular cuántos de los artículos comprados se adaptarán a los tamaños […]

Encuentra el ciclo de menor longitud en un gráfico dirigido con pesos positivos

Me hicieron esta pregunta en una entrevista, pero no pude encontrar una solución decente. Entonces, les dije el enfoque ingenuo de encontrar todos los ciclos y luego elegir el ciclo con la menor longitud. Tengo curiosidad por saber cuál es una solución eficiente para este problema.