Articles of lenguaje agnóstico

Encuentra los elementos faltantes y duplicados en una matriz en tiempo lineal y espacio constante

Te dan una matriz de enteros de N 64 bits. N puede ser muy grande. Sabes que cada entero 1..N aparece una vez en la matriz, excepto que hay un entero faltante y un entero duplicado. Escribe un algoritmo de tiempo lineal para encontrar los números perdidos y duplicados. Además, su algoritmo debe ejecutarse en […]

¿Cuál es el algoritmo de factorización más rápido?

He escrito un progtwig que intenta encontrar Parejas Amigas. Esto requiere encontrar las sums de los divisores adecuados de los números. Aquí está mi método sumOfDivisors() actual: int sumOfDivisors(int n) { int sum = 1; int bound = (int) sqrt(n); for(int i = 2; i <= 1 + bound; i++) { if (n % i […]

¿Alguien realmente ha implementado un Fibonacci-Heap de manera eficiente?

¿Alguno de ustedes ha implementado alguna vez un Fibonacci-Heap ? Lo hice hace unos años, pero fue varios órdenes de magnitud más lento que el uso de BinHeaps basadas en arreglos. En aquel entonces, pensé que era una lección valiosa sobre cómo la investigación no siempre es tan buena como dice ser. Sin embargo, muchos […]

¿Cuál es la diferencia entre Type y Class?

¿Qué hace que un tipo sea diferente de la clase y viceversa? (En el sentido general del lenguaje-agnóstico)

Omitir lista contra árbol de búsqueda binaria

Recientemente me encontré con la estructura de datos conocida como lista de omisiones . Parece tener un comportamiento muy similar a un árbol de búsqueda binario. ¿Por qué querrías usar una lista de omisiones en un árbol de búsqueda binario?

reconstruir un árbol desde sus listas de preorden y postorder

Considere la situación en la que tiene dos listas de nodos de las cuales todo lo que sabe es que una es una representación de un recorrido de preorden de un árbol y la otra una representación de un recorrido de postorder del mismo árbol. Creo que es posible reconstruir el árbol exactamente a partir […]

Revertir de manera eficiente el orden de las palabras (no los caracteres) en una matriz de caracteres

Dado un conjunto de caracteres que forman una oración de palabras, proporcione un algoritmo eficiente para invertir el orden de las palabras (no los caracteres) en él. Ejemplo de entrada y salida: >>> reverse_words(“this is a string”) ‘string a is this’ Debería ser el tiempo O (N) y el espacio O (1) ( split() y […]

Calcula el rectángulo más grande en un rectángulo girado

Estoy tratando de encontrar la mejor manera de calcular el rectángulo más grande (en el área) que se puede contener dentro de un rectángulo girado. Algunas imágenes deberían ayudar (espero) a visualizar lo que quiero decir: Se da el ancho y la altura del rectángulo de entrada y también el ángulo para girarlo. El rectángulo […]

¿Cómo puedo calcular un producto cartesiano de forma iterativa?

Esta pregunta pregunta cómo calcular el producto cartesiano de un número dado de vectores. Como la cantidad de vectores se conoce de antemano y es bastante pequeña, la solución se obtiene fácilmente con bucles nesteds. Ahora suponga que se le proporciona, en el idioma de su elección, un vector de vectores (o una lista de […]

Encuentra el primer carácter no repetido en una cadena

¿Cuál es la forma más rápida de encontrar el primer personaje que solo aparece una vez en una cadena?