![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#17
|
||||
|
||||
|
Cita:
NOTA: Habñlamos siempre de TStringList que podamos Ordenar y sin duplicados (opara poder usar el método Find con búsqueda binaria). En el TObjectList cuando buscas con (IndexOf), se hace un recorrido desde el primer objeto mirando si es el que buscas. Si no ese ese, incrementa el índice y vuelve a comparar; Así hasta encontrarlo o llegar al final de la lista. En TStringList (ordenado y sin duplicados) al hacer un Find se coge el elemento central de la lista y se compara. Si es igual, se compara si es mayor o menor y se busca en la mitad de la lista correspondiente empezando por el elemento central y así sucesivamente. En media en un TObjectList harás un número de comparaciones para buscar un elemento igual a la mitad de los elementos; En una lista de 10 harás 5 comparacoiones, en una de 100 harás 50... 10 -> 5 100 -> 50 1000 ->500 10000 - 5000 ... En media en una búsqueda binaria (la que hace TStringList) debes aplicar logaritmo. 10 -> 4 100 -> 7 1000 -> 10 10000 -> 13 .... Si te fijas la proporción se aleja cuantos más elementos hay.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Crear y destruir formas dinamicamente | ing_gera | C++ Builder | 1 | 16-02-2007 00:45:23 |
| destruir Aplicacion | jubers85 | Varios | 2 | 10-02-2006 09:27:40 |
| Como destruir o liberar una forma | maguib | Varios | 1 | 11-03-2005 19:39:02 |
| Destruir un TIBQuery | furniman | Varios | 1 | 25-03-2004 12:20:14 |
| No puedo destruir ventana | Marina | Varios | 2 | 02-12-2003 13:43:58 |
|