Ja, ja, ja. Pues efectivamente, este SEÑOR dice q le va lento. Lo q está claro es que el quicksort no es el algoritmo más apropiado cuando los elementos se encuentran ordenados (en su totalidad o casi). Lo que he hecho finalmente ha sido utilizar el quicksort para la primera vez y si se vuelve a pinchar sobre la cabecera de la misma columna (ya ordenada) se le da la vuelta al dataprovider (reverse) y chimpun (como bien ha dicho el señor Antonio). Ahora sin duda va mucho más rápido. Aparte de esto, debo decir (para mi vergüenza y sonrojo) q las ordenaciones se debían estar realizando dos veces, puesto que no había puesto el atributo sortable de las columnas a false, con lo que se estaba realizando la ordenación por defecto asociada al datagrid y luego la particular que le había puesto yo en el headerRelease. Ahora la cosa parece ir bien.

Gracias a todos por vuestra colaboración y un saludo.

From: Antonio Martínez Irles <[EMAIL PROTECTED]>
Reply-To: [email protected]
To: <[email protected]>
Subject: RE: [ASNativos] Bug en datagrid?
Date: Mon, 25 Jul 2005 09:37:32 +0200

Bueno pero si él ha comprobado que con una tabla en orden inverso le va mal,
algo será... será más rápido darle la vuelta directamente a las filas, en
fin, que algun truco tiene que tener.

Por cierto el tema de las n-1 etc etc era una forma de decir que se
ralentiza, no intentaba demostrar formular ni nada de eso, lamento la
confusión...

Y volviendo al tema QSort sí que se ha entendido siempre (desde los tiempos
del nostálgico Basic en procesadores 8 bits) que sí que hay un caso donde un
simple método de burbuja puede vencer al qsort: cuando la representación de
los datos en 'tiempo real' es muuuuuuy lenta, porque (al menos por aquella
época) dibujar un punto en pantalla era para pensárselo dos veces... Claro,
tb me extraña que el datagrid peque de ese fallo, pero yo que sé, si éste
señor dice que le va lento, es que le va lento. Alguna cosilla tendrá...

En fin, ya veremos,
Antonio

-----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre
de Miguel Angel Sánchez
Enviado el: lunes, 25 de julio de 2005 7:53
Para: [email protected]
Asunto: Re: [ASNativos] Bug en datagrid?


   ¿Estamos hablando del quicksort?
   El orden de complejidad del quicksort en el caso promedio es n·log(n),
   solo  en  el  peor de los casos la complejidad es como el método de la
   burbuja  n^2.  Encontrar  un  método más rápido de ordenación va a ser
   difícil...
   Más info en wikipedia: [1]http://es.wikipedia.org/wiki/Quicksort
   Saludos
   Antonio Martínez Irles escribió:

Pues efectivamente el qsort era lento a nivel de n elevado a n-1

Échale un vistazo a DataGrid.headerRelease o a
DataGridColumn.sortOnHeaderRelease, tb veo cosas interesante (no conozco tu
proyecto) en la clase DataSet

Más info en C:\Documents and Settings\Usuario\Configuración local\Datos de
programa\Macromedia\Flash MX
2004\es\Configuration\Classes\mx\controls\DataGrid.as

¡ánimo!


-----Mensaje original-----
De: [EMAIL PROTECTED] [[3]mailto:[EMAIL PROTECTED] En
nom
bre
de Felipe Fernandez Sanchez
Enviado el: jueves, 21 de julio de 2005 22:15
Para: [EMAIL PROTECTED]
Asunto: RE: [ASNativos] Bug en datagrid?

Gracias Antonio, pero el problema parece estar precisamente en el método de
ordenación utilizado por defecto por Flash en arrays y, en general, en
cualquier proveedor de datos o dataprovider. La cuestión parece residir en
los ordenes de complejidad de los algoritmos utilizados para la ordenación
puesto q, si bien el quicksort (el utilizado por MM) es el más rápido para
la ordenación de elementos desordenados, parece que ser q esto no es así
cuando los elementos a ordenar están ordenados.
Si a nadie se le ocurre alguna solución mejor lo que se me ocurre es
detectar si el contenido del datagrid ya está ordenado por la columna
pulsada y, si ese es el caso, utilizar otro algoritmo de ordenación distinto

al quicksort (está por ver cuál y se admiten sugerencias). También me
gustaría q alguien me refrescara la memoria de cómo se asignaba un método
distinto de ordenación a la cabecera de un datagrid.

Gracias y un saludo.



From: Antonio Martínez Irles [5]<[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: [7]<[email protected]>
Subject: RE: [ASNativos]  Bug en datagrid?
Date: Wed, 20 Jul 2005 10:01:44 +0200

Hola a todos, soy nuevo en la lista y espero poder colaborar en todo lo que
pueda...

Bueno pues para muestra un botón, o bueno, una sugerencia para Felipe con
el
problema de ordenación:

¿Porqué no asocias el datagrid a un array (dg.dataprovider = myarray) y
entonces ejecutas la ordenación sobre éste al recibir los clic en los
header
del datagrid?

Es una idea, incluso así puedes añadir un texto descriptivo arriba o abajo
'humanizado' del tipo 'Ordenado por fecha, más reciente arriba' 'Ordenado
por nombre de cliente, descendente'

Bueno pues ya nos cuentas algo,
Antonio

-----Mensaje original-----
De: [EMAIL PROTECTED] [[9]mailto:[EMAIL PROTECTED] En
nombre
de Felipe Fernandez Sanchez
Enviado el: miércoles, 20 de julio de 2005 7:00
Para: [EMAIL PROTECTED]
Asunto: [ASNativos] Bug en datagrid?

Hola compañeros, me pasa una cosa curiosa con los datagrid y, más
concretamente con el tema de la ordenación. El caso es el siguiente:

Tengo un datagrid con, por ejemplo, 7 columnas y unas 2000 filas. Cuando
pincho sobre la cabecera de una de las columnas se produce la ordenación de
filas de una manera aceptable. Sin embargo, si vuelvo a pichar de nuevo
sobre la cabecera de la misma columna (para q ordene a la inversa), resulta
que tarda muuuuuuuuuuuuucho más en realizar la ordenación y a veces que
incluso aparece el mensaje de que "hay un script ejecutandose que consume
mucho etc.". Sin embargo, si cambio a ordenar pulsando en otra columna la
ordenación vuelve a funcionar correctamente. Vamos, q parece que la cosa
tiene que ver con la pulsación sucesiva y consecutiva sobre una misma
columna. ¿Alguien me puede explicar esto?
¿Alguna solución (he probado a cambiar el método de ordenación pero no he
observado mejora)?

Gracias y un saludo.


----------------------------------
Lista [11]ASNativos:[email protected]
[12]http://www.5dms.com/listas
----------------------------------

----------------------------------
Lista [13]ASNativos:[email protected]
[14]http://www.5dms.com/listas
----------------------------------



----------------------------------
Lista [15]ASNativos:[email protected]
[16]http://www.5dms.com/listas
----------------------------------

----------------------------------
Lista [17]ASNativos:[email protected]
[18]http://www.5dms.com/listas
----------------------------------

References

   1. http://es.wikipedia.org/wiki/Quicksort
   2. mailto:[EMAIL PROTECTED]
   3. mailto:[EMAIL PROTECTED]
   4. mailto:[email protected]
   5. mailto:[EMAIL PROTECTED]
   6. mailto:[email protected]
   7. mailto:[email protected]
   8. mailto:[EMAIL PROTECTED]
   9. mailto:[EMAIL PROTECTED]
  10. mailto:[email protected]
  11. mailto:ASNativos:[email protected]
  12. http://www.5dms.com/listas
  13. mailto:ASNativos:[email protected]
  14. http://www.5dms.com/listas
  15. mailto:ASNativos:[email protected]
  16. http://www.5dms.com/listas
  17. mailto:ASNativos:[email protected]
  18. http://www.5dms.com/listas
----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------

----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------


----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------

Responder a