Compartir a través de


Recorrido ineficaz de LinkedList

En este artículo se describe información de rendimiento al recorrer LinkedList<T> colecciones.

Causa

El recorrido de un objeto para encontrar elementos da como resultado un LinkedList<T> rendimiento lento.

Descripción de la información de rendimiento

LinkedList<T> no proporciona acceso O(1) a los elementos por índice. Cada recorrido por la lista, especialmente en bucles o bucles anidados, da como resultado la complejidad del tiempo de O(n). Esto puede provocar una degradación significativa del rendimiento al buscar elementos con frecuencia o en listas vinculadas de gran tamaño.

Si es posible, considere la posibilidad de usar List<T> o Dictionary<TKey,TValue>. List<T> proporciona acceso de O(1) por índice y Dictionary<TKey, TValue> proporciona búsquedas de O(1) por clave. Estas alternativas suelen ser más eficaces para la mayoría de los patrones de acceso en comparación con el recorrido de una lista vinculada.

Cómo investigar una advertencia

En la herramienta Uso de CPU, haga clic en Ver código fuente para buscar dónde LinkedList<T> se usa el recorrido. Si es posible, refactorice para usar un tipo de colección diferente que proporcione acceso más rápido para su escenario.

Consulte también

Colecciones y estructuras de datos