/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

complejidad de este algoritmo,sencillo

 
      Índice del Foro elrincondelc.com -> Java
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
paradise92



Registrado: 30 May 2011
Mensajes: 8

MensajePublicado: 07/10/2011 12:39 am
Título: complejidad de este algoritmo,sencillo

hola,alguien me puede ehcar una mano con la complejidad de este algoritmo,a mi me sale O(n^2),pero segun tengo entendido es O(n),es un algortimo de ordenacion llamado bucketsort u ordenamiento por casilleros:

1.public class practica_2
2.{
3.public static void BucketSort (int[]a,int m)
4.{
5.int[] buckets= new int[m];//asignación de complejidad O(1)
6.for (int j=0;j<m;++j)// bucle for de complejidad O(n),ya que recorre el vector completo
7.buckets[j]=0;//asignación de complejidad O(1)
8.for(int j=0;j<m;++j)// bucle for de complejidad O(n),ya que recorre el vector completo
9.buckets[j]=0;//asignación de complejidad O(1)
10.for(intI=0;i<a.length;++i)
11.++buckets[a[i]];//asignación de complejidad O(1)
12.for(int i=0;j=0;j<m;++j) bucle for de complejidad O(n),ya que recorre el vector completo
13.for(intk=buckets[j];k>0;--k) bucle for de complejidad O(n),ya que recorre el vector completo
14.a[i++]=j;//asignación de complejidad O(1)
15.}
16.}

la complejidad de la linea 6 a 7 es O(n)*O(1)=O(n)
la complejidad de la linea 8 a 9 es O(n)*O(1)=O(n)
la complejidad de la linea 10 a 11 es O(n)*O(1)=O(n)
la complejidad de la linea 12 a 14 es O(n)*O(n)*O(1)=O(n^2)
Por lo que la complejidad de este algoritmo es O(n^2)



Hice algo mal?
Volver arriba
      Índice del Foro elrincondelc.com -> Java
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com