Está en la página 1de 1

Tarea # 2

Demostrar que la capacidad de una lista se duplica cuando es necesario o cuando no hay espacio,
esto se hace log(n) cuando n es el nmero de add.

El proceso de duplicar el valor de un vector cuando se necesita ms espacio puede provocar un


desperdicio considerable del mismo. Por ejemplo, un vector lleno con 1,000,000 de elementos
cambia su tamao para dar cabida a 2,000,000 de elementos cuando se agregue uno nuevo, Esto
deja a 999,999elementos sin usar. Los programadores pueden utilizar a resize() para controlar mejor
el uso del espacio.1

Este mtodo utiliza el comparador predeterminado Comparer<T>.Default para el


tipo T para determinar el orden de los elementos de
lista. El Comparer<T>.Default comprueba la propiedad tipo de si T implementa
el IComparable<T> interfaz genrica y utiliza esa implementacin, si est disponible. Si no
es as, Comparer<T>.Default Si tipo de comprobaciones T implementa
el IComparable interfaz. Si tipo T no implementa ninguna de estas
interfaces, Comparer<T>.Default produce una InvalidOperationException.
Este mtodo usa la Array.Sort mtodo, que se aplica la ordenacin introspectiva como
sigue:
Si el tamao de la particin es menos de 16 elementos, utiliza un algoritmo de
ordenacin de insercin.
Si el nmero de particiones es superior a 2 * LogN, donde N es el intervalo de la
matriz de entrada, utiliza un algoritmo de Heapsort.
De lo contrario, utiliza un algoritmo Quicksort.
Esta implementacin realiza a una ordenacin inestable; es decir, si dos elementos son
iguales, su orden no puede conservarse. En contraste, una ordenacin estable conserva el
orden de los elementos que son iguales.
En promedio, este mtodo es una O (n Registro n) operacin, donde n es Count; en el peor
caso es una O (n ^ 2) operacin.2

Referencias:

1. Harvey M.Deitel, P. J. (2003). De Como Programar en C++. Mxico: Pearson Educacin


2. https://msdn.microsoft.com/es-es/library/b0zbh7b6(v=vs.110).aspx

También podría gustarte