Articles of algoritmo de

Elimine los paréntesis alrededor del primer elemento en un árbol de expresión y en cada uno de sus árboles de subexpresión en Python

El objective es implementar una operación de simplificación: elimine los paréntesis alrededor del primer elemento en un árbol de expresión y en cada uno de sus árboles de subexpresión, donde la expresión se da como una entrada de cadena entre varios paréntesis. Esto debe funcionar para un número arbitrario de paréntesis, por ejemplo: (12) 3 […]

¿Python ordena matrices paralelas en su lugar?

¿Existe una manera fácil (es decir, sin rodar la propia función de clasificación) de ordenar listas paralelas sin copiar innecesariamente en Python? Por ejemplo: foo = range(5) bar = range(5, 0, -1) parallelSort(bar, foo) print foo # [4,3,2,1,0] print bar # [1,2,3,4,5] He visto los ejemplos usando zip pero parece una tontería copiar todos sus […]

Enumerar ciclos en una gráfica usando el algoritmo de Tarjan

Estoy tratando de determinar los ciclos en un gráfico dirigido utilizando el algoritmo de Tarjan, presentado en su artículo de investigación “Enumeración de los circuitos elementales de un gráfico dirigido” de Septermber 1972. Estoy usando Python para codificar el algoritmo y una lista de adyacencia para realizar un seguimiento de las relaciones entre los nodos. […]

Cómo hacer el método de bisección en Python

Quiero hacer un progtwig Python que ejecute un método de bisección para determinar la raíz de: f(x) = -26 + 85x – 91×2 +44×3 -8×4 + x5 El método de Bisección es un método numérico para estimar las raíces de un polinomio f (x). ¿Hay algún pseudocódigo, algoritmos o bibliotecas disponibles que pueda usar para […]

Solución de algoritmo de tres sums

Declaración del problema original: Dada una matriz S de n enteros, ¿hay elementos a, b, c en S tales que a + b + c = 0? Encuentra todos los tripletes únicos en la matriz que da la sum de cero. Nota: El conjunto de soluciones no debe contener tripletes duplicados. For example, given array […]

Establecer cubierta o conjunto de golpes; Numpy, combinaciones de elementos mínimos para completar el conjunto

Mi objective es encontrar el menor número posible de subconjuntos [af] para completar el conjunto A. A = set([1,2,3,4,5,6,7,8,9,10]) # full set #— below are sub sets of A — a = set([1,2]) b = set([1,2,3]) c = set([1,2,3,4]) d = set([4,5,6,7]) e = set([7,8,9]) f = set([5,8,9,10]) En realidad, el conjunto primario A con […]

Vector de unidad de normalizar

Supongamos que tengo el vector unitario, u . from numpy import mat u = mat([[0.9**0.5], [-(0.1)**0.5]]) # [ 0.9486833 -0.31622777] El vector unitario es un vector propio de una matriz con entradas de enteros. También sé que los valores propios son enteros. Por lo tanto, el vector unitario contendrá decimales irracionales que, cuando son cuadrados, […]

Dividir la lista en trozos de peso equilibrado.

Necesito un algoritmo para dividir una lista de valores en dichos segmentos, esa sum de valores en cada fragmento es ( aproximadamente ) igual a (es una variación del problema de la mochila , supongo) Entonces, por ejemplo [1, 2, 1, 4, 10, 3, 8] => [[8, 2], [10], [1, 3, 1, 4]] Se prefieren […]

Promedio de dos cadenas en orden alfabético / lexicográfico

Supongamos que toma las cadenas ‘a’ y ‘z’ y enumera todas las cadenas que vienen entre ellas en orden alfabético: [‘a’, ‘b’, ‘c’ … ‘x’, ‘y’, ‘z ‘]. Tome el punto medio de esta lista y encontrará ‘m’. Así que esto es como tomar un promedio de esas dos cuerdas. Podría extenderlo a cadenas con […]

Algoritmo eficiente para componer expresiones válidas con un objective específico

El problema se presenta como: dada una cadena que contiene solo los dígitos 0-9 y un valor objective, devuelve todas las expresiones que se crean al agregar algunos operadores binarios (+, – o *) entre los dígitos para que se evalúen al valor objective . En algunos casos, puede que no haya operadores binarios que […]