Udostępnij przez


Nieefektywne przechodzenie do listy LinkedList

W tym artykule opisano szczegółowe informacje o wydajności podczas przechodzenia LinkedList<T> do kolekcji.

Przyczyna

Przechodzenie przez element w celu znalezienia LinkedList<T> elementów skutkuje niską wydajnością.

Opis szczegółowych informacji o wydajności

LinkedList<T> nie zapewnia dostępu O(1) do elementów według indeksu. Każdy przechodzenie przez listę, szczególnie w pętlach lub zagnieżdżonych pętlach, powoduje złożoność czasu O(n). Może to spowodować znaczne obniżenie wydajności podczas wyszukiwania elementów często lub na dużych połączonych listach.

Jeśli to możliwe, rozważ użycie elementu List<T> lub Dictionary<TKey,TValue>. List<T> Zapewnia dostęp O(1) według indeksu i Dictionary<TKey, TValue> udostępnia wyszukiwanie O(1) według klucza. Te alternatywy są często bardziej wydajne w przypadku większości wzorców dostępu w porównaniu z przechodzeniem przez połączoną listę.

Jak zbadać ostrzeżenie

W narzędziu Użycie procesora CPU kliknij pozycję Wyświetl kod źródłowy , aby znaleźć miejsce LinkedList<T> użycia przechodzenia. Jeśli to możliwe, refaktoryzacja umożliwia użycie innego typu kolekcji, który zapewnia szybszy dostęp do danego scenariusza.

Zobacz także

Kolekcje i struktury danych