Si desea hacer esto en O (n) por qué está usando Loop en SWAP, una vez que el número es positivo o el mismo negativo. (En su código, por qué está inicializando el bucle interno de la función de intercambio mediante i + 1, omitirá un [0], ¿no le parece?)
Complejidad:
para i = 0 (se está ejecutando, el bucle inicializado J se ejecuta n-1 veces (j inicializado a 1, no 0) j = 1 a n) (puede ir a Intercambio de número positivo o Intercambio de número negativo)
i = 1, (El bucle interno de intercambio se ejecuta n-2 veces) … (Puede ir a Intercambio de número positivo o Intercambio de número negativo)
i = 2 ,, (El bucle interno de intercambio se ejecuta n-3 veces) .. (Puede ir a Intercambio de número positivo o Intercambio de número negativo)
…
…
Si hacemos un resumen
(n-1) + (n-2) + (n-3)… + 1 = n (n-1) / 2 (
La suma de los primeros n números naturales, La suma de los primeros n números naturales)
Entonces esto viene como O (n ^ 2)
- ¿Está predispuesto Facebook hacia los candidatos a entrevistas que son los mejores clasificados en las competencias de programación en línea?
- ¿Puede la confianza eclipsar el conocimiento en una entrevista?
- [Entrevista de diseño del sistema]: ¿Cuáles son las preguntas populares sobre el diseño del sistema que se hacen a los desarrolladores senior en compañías como Google o Facebook?
- ¿Cuál es el enfoque algorítmico para encontrar la ruta en una matriz booleana bidimensional que tiene más 1s?
- ¿Qué preguntas me pueden hacer sobre las prácticas ágiles? ¿Cómo debo prepararme para tales preguntas?