Articles of lenguaje agnóstico

¿Cómo verificar si el segmento de línea cruza un rectángulo?

Si tiene 2 puntos, (x1, y1) y (x2, y2), que representan dos esquinas opuestas de un rectángulo, y 2 otros puntos, (x3, y3) y (x4, y4), que representan 2 puntos finales de un segmento de línea, ¿cómo se puede verificar si el segmento de línea se cruza con el rectángulo? (El segmento de línea es […]

Algoritmo para encontrar las subcadenas más comunes en una cadena

¿Hay algún algoritmo que pueda usarse para encontrar las frases más comunes (o subcadenas) en una cadena? Por ejemplo, la siguiente cadena tendría “hello world” como su frase más común de dos letras: “hello world this is hello world. hello world repeats three times in this string!” En la cadena de arriba, la cadena más […]

Notación de Postfix en el árbol de expresiones

Hay suficientes recursos sobre cómo convertir un árbol de expresiones en notación postfija, y no es tan difícil. Pero tengo que analizar una expresión postfijo en un árbol de expresiones. La expresión es: A 2 ^ 2 A * B * – B 2 ^ + AB – / Realmente no tengo ni idea de […]

El mejor algoritmo para unir colores.

Tengo una matriz de alrededor de 200 colores en formato RGB. Quiero escribir un progtwig que tome cualquier color RGB e intente hacer coincidir un color de la matriz que sea más “similar”. Necesito una buena definición para “similar”, que es lo más cercano posible a la percepción humana. También quiero mostrar información sobre la […]

Calcular el valor de n elegir k

¿Cuál es el método más eficiente para evaluar el valor de n elegir k? La forma de fuerza bruta que creo sería encontrar n factorial / k factorial / (nk) factorial. Una mejor estrategia puede ser usar dp de acuerdo con esta fórmula recursiva . ¿Hay algún otro método mejor para evaluar n elegir k?

Semantic Diff Utilities

Estoy tratando de encontrar algunos buenos ejemplos de utilidades semánticas diff / merge. El paradigma tradicional de comparación de archivos de código fuente funciona al comparar líneas y caracteres … pero ¿hay utilidades (para cualquier idioma) que realmente consideren la estructura del código al comparar archivos? Por ejemplo, los progtwigs diff existentes informarán la “diferencia […]

¿Es el sueño () malvado?

En primer lugar, hay muchos casos en los que se utiliza indebidamente Sleep() , por ejemplo, para “sincronizar” subprocesos o para sondear regularmente un valor donde una función de notificación lo haría (en Win32 WaitForSingleObject por ejemplo) ¿Pero qué pasa con otros casos de uso? ¿El Sleep siempre es malo? Si no, ¿cuáles son los […]

Iteración sobre un árbol binario con O (1) espacio auxiliar

¿Es posible iterar sobre un árbol binario en O (1) espacio auxiliar (sin usar una stack, cola, etc.) o se ha demostrado que esto es imposible? Si es posible, ¿cómo se puede hacer? Editar: Las respuestas que obtuve sobre esto es posible si hay punteros a los nodos padres son interesantes y no sabía que […]

Polígono que encierra un conjunto de puntos

Tengo un conjunto S de puntos (2D: definido por xey) y quiero encontrar P, el polígono más pequeño (es decir, con el menor número de puntos) que encierra todos los puntos del conjunto, P es un subconjunto ordenado de S. ¿Hay algún algoritmo conocido para calcular esto? (Mi falta de cultura en este dominio es […]

¿Para qué sirve una burbuja?

¿Los géneros de burbujas tienen un uso real? Cada vez que veo uno mencionado, siempre es: Un algoritmo de clasificación para aprender. Un ejemplo de algoritmo de clasificación que no se debe usar.