Articles of algoritmos

Cómo generar combinaciones de elementos de una lista en .NET 4.0

Tengo una pregunta que es similar, pero no idéntica, a la que aquí se responde . Me gustaría que una función genere todas las k- combinaciones de elementos de una lista de n elementos. Tenga en cuenta que estoy buscando combinaciones, no permutaciones, y que necesitamos una solución para variar k (es decir, codificar los […]

Algoritmo de agrupamiento para la aplicación de mapeo

Estoy buscando puntos de agrupación en un mapa (lat / longs). ¿Hay alguna recomendación sobre un algoritmo adecuado que sea rápido y escalable? @Gilligan: Sí, tengo una serie de lat / lngs y una ventana gráfica del mapa. Intento agrupar los puntos que están muy juntos para eliminar el desorden. Ya tengo una solución al […]

Algoritmo rápido para encontrar rápidamente el rango al que pertenece un número en un conjunto de rangos?

El escenario Tengo varios rangos de números. Esos rangos no se superponen, ya que no se superponen, la consecuencia lógica es que ningún número puede formar parte de más de un rango en cualquier momento. Cada rango es continuo (no hay agujeros dentro de un solo rango, por lo que un rango de 8 a […]

Escribir un analizador de ecuaciones simple

Qué tipo de algoritmos se usarían para hacer esto (como en, esto es una cadena, y quiero encontrar la respuesta): ((5 + (3 + (7 * 2))) – (8 * 9)) / 72 Digamos que alguien escribió eso, ¿cómo podría lidiar con tantos paréntesis nesteds?

¿Cuál es la diferencia entre la profundidad y la altura del árbol?

Esta es una pregunta simple de la teoría de algoritmos. La diferencia entre ellos es que en un caso se cuenta el número de nodos y en otro número de bordes en el camino más corto entre el nodo raíz y el nodo concreto. ¿Cual es cual?

Escriba un progtwig para encontrar 100 números más grandes de una matriz de mil millones de números

Hace poco asistí a una entrevista en la que me pidieron “escribir un progtwig para encontrar los 100 números más grandes de una serie de mil millones de números”. Solo pude dar una solución de fuerza bruta que consistía en ordenar la matriz en complejidad de tiempo O (nlogn) y tomar los últimos 100 números. […]

¿Cuándo se usa cada algoritmo de clasificación?

¿Cuáles son los casos de uso cuando se prefiere un algoritmo de clasificación particular sobre otros – merge sort vs quick sort vs heap sort vs intro sort , etc.? ¿Existe una guía recomendada para usarlos según el tamaño, el tipo de estructura de datos, la memoria disponible y la memoria caché, y el rendimiento […]

¿Cómo puedo obtener toda la combinación posible de un subconjunto?

Considere esta List List data = new List(); data.Add(“Text1”); data.Add(“Text2”); data.Add(“Text3”); data.Add(“Text4”); El problema que tuve fue: ¿cómo puedo obtener cada combinación de un subconjunto de la lista? Un poco como esto: #Subset Dimension 4 Text1;Text2;Text3;Text4 #Subset Dimension 3 Text1;Text2;Text3; Text1;Text2;Text4; Text1;Text3;Text4; Text2;Text3;Text4; #Subset Dimension 2 Text1;Text2; Text1;Text3; Text1;Text4; Text2;Text3; Text2;Text4; #Subset Dimension 1 Text1; […]

Encuentra los N elementos principales en una matriz

¿Cuál sería la mejor solución para encontrar elementos N superiores (por ejemplo, 10) en una lista desordenada (de, por ejemplo, 100)? La solución que surgió en mi cabeza fue 1. ordenarla usando clasificación rápida, 2. obtener los 10 mejores. ¿Pero hay alguna mejor alternativa?

Cómo implementar un sistema de tags

Me preguntaba cuál es la mejor manera de implementar un sistema de tags, como el que se usa en SO. Estaba pensando en esto, pero no puedo encontrar una buena solución escalable. Estaba pensando en tener una solución básica de 3 tablas: tener una tabla de tags , una tabla de articles y una tabla […]