Articles of big o

¿Qué es O (log (n!)) Y O (n!) Y Stirling Approximation

¿Qué es O(log(n!)) Y O(n!) ? Creo que es O(n log(n)) y O(n^n) ? ¿Por qué? Creo que tiene que ver con Stirling Approximation, pero no entiendo muy bien la explicación. ¿Podría alguien corregirme si estoy equivocado (sobre O(log(n!) = O(n log(n)) )? Y si es posible la matemática en términos más simples? No creo […]

¿Cuál es la complejidad de la expresión regular?

¿Cuál es la complejidad con respecto a la longitud de cadena que lleva a realizar una comparación de expresión regular en una cadena?

Complejidad del tiempo del algoritmo de Euclides

Tengo dificultades para decidir cuál es la complejidad temporal del algoritmo de denominador común más grande de Euclides. Este algoritmo en pseudo-código es: function gcd(a, b) while b ≠ 0 t := b b := a mod b a := t return a Parece depender de a y b . Mi pensamiento es que la […]

¿Qué causaría que un algoritmo tenga complejidad O (log log n)?

Esta pregunta anterior aborda algunos de los factores que pueden causar que un algoritmo tenga complejidad O (log n). ¿Qué podría hacer que un algoritmo tenga complejidad de tiempo O (log log n)?

Clasificación rápida Peor caso

Estoy trabajando en el progtwig que acabo de necesitar para comprenderlo mejor. ¿Cuál es el peor tiempo de ejecución de Quicksort y qué puede causar este peor rendimiento de caso? ¿Cómo podemos modificar el progtwig quicksort para mitigar este problema? Sé que tiene el peor caso O(n^2) y sé que ocurre cuando el pivote único […]

Encontrar de manera eficiente la intersección de un número variable de conjuntos de cadenas

Tengo una cantidad variable de ArrayList de la que necesito encontrar la intersección de. Un límite realista en el número de conjuntos de cadenas probablemente sea alrededor de 35, pero podría ser más. No quiero ningún código, solo ideas sobre lo que podría ser eficiente. Tengo una implementación que estoy a punto de comenzar a […]

La computación establece intersección en tiempo lineal?

¿Hay un algoritmo que, dados dos conjuntos, compute su intersección en tiempo lineal? Puedo ejecutar dos bucles para verificar todos los pares de elementos, registrando los elementos que encuentro en ambos conjuntos. Sin embargo, el tiempo de ejecución será O (n 2 ). ¿Cómo hago esto en O (n) vez?

Complejidad asintótica de las clases de colección .NET

¿Hay algún recurso sobre la complejidad asintótica (big-O y el rest) de los métodos de las clases de colección .NET ( Dictionary , List etc …)? Sé que la documentación de la biblioteca C5 incluye cierta información al respecto ( ejemplo ), pero también me interesan las colecciones .NET estándar … (y la información de […]

La complejidad del tiempo de la tabla Hash

Estoy confundido acerca de la complejidad del tiempo de la tabla hash. Muchos artículos dicen que están “amortizados O (1)” y no es cierto. O (1) ¿Qué significa esto en aplicaciones reales? ¿Cuál es la complejidad de tiempo promedio de las operaciones en una tabla hash, en la implementación real no en teoría, y por […]

¿Astackr con find-min / find-max es más eficiente que O (n)?

Estoy interesado en crear una estructura de datos Java similar a una stack que soporte las siguientes operaciones de la manera más eficiente posible: Push, que agrega un nuevo elemento sobre la stack, Pop, que elimina el elemento superior de la stack, Find-Max, que devuelve (pero no elimina) el elemento más grande de la stack, […]