elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Complejidad de un programa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Complejidad de un programa  (Leído 2,920 veces)
JonaLamper


Desconectado Desconectado

Mensajes: 394



Ver Perfil
Complejidad de un programa
« en: 15 Diciembre 2015, 18:44 pm »

En primer lugar, no sé dónde debería ir esto, así que lo pongo aquí que sé que será leído en pocos minutos.

Quería saber si alguien conoce alguna página web donde tu subas un programa (algoritmo) y le puedas meter unos determinados valores para que, cuando finalice, te diga el coste que tiene tu algoritmo (y si te lo clasifica en un orden de complejidad sería como alcanzar un estado Zen de felicidad).

Gracias  ;D


En línea

Utilizar palabras para hablar de palabras es como utilizar un lápiz para hacer un dibujo de ese lápiz sobre el mismo lápiz.
Oblivi0n


Desconectado Desconectado

Mensajes: 392

Odio las ranas.


Ver Perfil
Re: Complejidad de un programa
« Respuesta #1 en: 15 Diciembre 2015, 19:26 pm »

Lo dudo mucho, aún así hacerlo a mano no es un proceso muy complejo.

Si no tienes el código, haz unas graficas en excel con las funcion f(n) = log n, f(n) = n* log n, f(n) = n, f(n) = n^2 * log n, f(n) = n^2 y sucesivas, mide tiempo con cada vez mas valores y mira a que curva se aproxima mas


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Complejidad de un programa
« Respuesta #2 en: 15 Diciembre 2015, 19:52 pm »

recuerda que si haces eso mide solo el tiempo del algoritmo, no de todo el programa... si no tomarás mucho tiempo de más
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Complejidad de un programa
« Respuesta #3 en: 17 Diciembre 2015, 16:16 pm »

Había visto un juego en Condingame que pedía eso, dado un set N-Tiempo, sacar el tipo de complejidad. Si buscas por CondinGame alguien que lo haya hecho, y te comenta su algoritmo, puedes hacer lo que pides tú mismo xd

Me has dado ganas de intentar ese reto jaja
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Complejidad de un programa
« Respuesta #4 en: 17 Diciembre 2015, 16:54 pm »

Antes de nada, ¿a quien se le ocurre formular una pregunta de programación sin especificar el lenguaje?, es algo que no soporto :¬¬, jeje.



Asumiré que por "coste" te estás intentando referir a la complejidad ciclomática (y no al intervalo de tiempo de ejecución que toma el algoritmo en cuestión para acabar):

Si, existen formulas para calcular la complejidad de unidades de código o Code units,
además, dependiendo del lenguaje que sea también podrás encontrar ciertas herramientas de escritorio e incluso desde la propia IDE que utilices.

Por ejemplo en la plataforma .Net (VB, C#, etc), en la IDE Visual Studio es tan sencillo como utilizar la opción "Calculate Code Metrics", esto generará un sofisticado informe completo sobre la complejidad ciclomática de la aplicación, y de todos sus miembros (métodos, funciones, classes, etc), así como otros factores como la cantidad de lineas de código, etc:



Una alternativa para .Net sería utilizar la herramienta de refactorización Telerik JustCode que se integra en Visual Studio y mide la complejidad de cada método en tiempo de diseño.

En otros lenguajes desconozco que herramientas habrá, pero realizando una búsqueda en google veo que para la IDE Eclipse, la cual soporta varios lenguajes, hay un plugin llamado "Metrics":

Te dejo algo de información sobre la fórmula, por si no encuentras herramientas automatizadas:

Saludos
« Última modificación: 17 Diciembre 2015, 17:13 pm por Eleкtro » En línea

DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: Complejidad de un programa
« Respuesta #5 en: 17 Diciembre 2015, 18:03 pm »

En caso de que no te refieras a lo que menciona @Eleкtro:

Asumiré que por "coste" te estás intentando referir a la complejidad ciclomática (y no al intervalo de tiempo de ejecución que toma el algoritmo en cuestión para acabar):

Suponiendo que te refieres a Complejidad Temporal, te recomiendo que leas esto y después investiges más sobre el tema, pues no se si exista una aplicación como la que pides.

https://en.wikipedia.org/wiki/Time_complexity

Salu2s

PD: De cualquier manera, aclara mejor lo que pides.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Calculo complejidad de un algoritmo
Programación General
kasiko 3 2,772 Último mensaje 3 Marzo 2013, 01:59 am
por [Case]
MOVIDO: Complejidad de un programa
Foro Libre
Eleкtro 0 1,375 Último mensaje 17 Diciembre 2015, 16:55 pm
por Eleкtro
¿Como calcular la complejidad?
Programación C/C++
andie13 0 1,542 Último mensaje 5 Diciembre 2017, 02:01 am
por andie13
Complejidad Algoritmo Voraz
Java
afrocardo 2 2,160 Último mensaje 10 Mayo 2018, 19:19 pm
por afrocardo
Complejidad o coste del algoritmo
Java
afrocardo 0 1,487 Último mensaje 12 Mayo 2018, 09:22 am
por afrocardo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines