Pytania oznaczone «linked-list»

Lista połączona to struktura danych, w której elementy listy niekoniecznie są przechowywane sekwencyjnie, ale raczej każdy element zawiera odniesienie do następnego (i opcjonalnie poprzedniego) elementu na liście. Ten znacznik powinien być używany z dodatkowymi znacznikami wskazującymi używany język programowania ([c], [c ++], [java] itp.) Oraz wszelkie używane biblioteki lub wtyczki, takie jak [c ++ - biblioteka standardowa]. Sam post powinien zawierać kod źródłowy wydania.

434
Jak wykryć pętlę na połączonej liście?

Załóżmy, że masz połączoną strukturę listy w Javie. Składa się z węzłów: class Node { Node next; // some user data } i każdy Węzeł wskazuje na następny węzeł, z wyjątkiem ostatniego Węzła, który ma wartość null dla następnego. Powiedzmy, że istnieje możliwość, że lista może zawierać pętlę -...

200
Tablica kontra lista połączona

Dlaczego ktoś miałby chcieć używać listy połączonej nad tablicą? Kodowanie listy połączonych jest bez wątpienia nieco większym wysiłkiem niż użycie tablicy i można się zastanawiać, co uzasadniałoby dodatkowy wysiłek. Wydaje mi się, że wstawianie nowych elementów jest trywialne na liście...

192
Dlaczego std :: list :: reverse ma złożoność O (n)?

Dlaczego funkcja odwrotna dla std::listklasy w standardowej bibliotece C ++ ma liniowe środowisko wykonawcze? Sądzę, że dla podwójnie powiązanych list funkcją odwrotną powinna być O (1). Odwrócenie podwójnie połączonej listy powinno po prostu obejmować zmianę wskaźników głowy i...

178
Lista połączona w języku Python

Jaki jest najłatwiejszy sposób użycia połączonej listy w Pythonie? W schemacie połączoną listę definiuje się po prostu przez '(1 2 3 4 5). Listy Pythona [1, 2, 3, 4, 5]i krotki (1, 2, 3, 4, 5)nie są w rzeczywistości listami połączonymi, a listy połączone mają kilka miłych właściwości, takich jak...

161
Dlaczego ArrayDeque jest lepszy niż LinkedList

Próbuję zrozumieć, dlaczego ArrayDeque w Javie jest lepszy niż LinkedList w Javie, ponieważ oba implementują interfejs Deque. Prawie nie widzę kogoś używającego ArrayDeque w swoim kodzie. Gdyby ktoś rzucił więcej światła na sposób implementacji ArrayDeque, byłoby to pomocne. Jeśli to rozumiem,...

105
Dlaczego wstawianie w środku połączonej listy O (1)?

Zgodnie z artykułem Wikipedii dotyczącym list połączonych , wstawianie w środku listy , do której prowadzą linki, jest uważane za O (1). Myślę, że to będzie O (n). Czy nie musiałbyś zlokalizować węzła, który mógłby znajdować się blisko końca listy? Czy ta analiza nie uwzględnia znalezienia...