Podwójnie połączona lista ma minimalny narzut (tylko kolejny wskaźnik na komórkę) i pozwala na dołączanie do obu końców i przechodzenie tam i z powrotem i ogólnie daje dużo zabawy.
W kółko napotykałem ten sam problem i nie znalazłem rozwiązania, które moim zdaniem byłoby optymalne. Powiedz w aplikacji, że masz uporządkowaną listę i pozwalasz użytkownikowi zmieniać tę kolejność, przeciągając i upuszczając lub coś w tym stylu. Chcesz, aby zmiany w kolejności były zachowane. Jak to modelujesz? Jak zaprojektować usługę odpoczynku …
Moje zrozumienie... Zalety: Wstawianie na końcu to O (1) zamiast O (N). Jeśli lista jest listą podwójnie połączoną, usunięcie z końca również oznacza O (1) zamiast O (N). Niekorzyść: Zajmuje trywialną ilość dodatkowej pamięci: 4-8 bajtów . Osoba wdrażająca musi śledzić ogon. Patrząc na te zalety i wady, nie rozumiem, …
Czy istnieją jakieś dobre struktury danych, które można wykorzystać do przedstawienia cząsteczki? Pomyślałem, że może przedstawię go jako wykres, czyniąc każdy atom wierzchołkiem, jednak często związki organiczne zawierają wiele atomów węgla i wodoru. Jak byś to numerował? Czy istnieje dobry sposób na reprezentowanie cząsteczek, ale jednocześnie ma skuteczną .contains()metodę? Jednym …
Chcę zaimplementować tabelę mieszania przy użyciu drzew wyszukiwania binarnego, aby zmniejszyć złożoność wyszukiwania w procesie oddzielnego łączenia łańcuchów od O (n) (przy użyciu listy połączonej) do O (log n) (przy użyciu BST). Czy można to zrobić, a jeśli tak, to w jaki sposób? Łatwiej byłoby zrozumieć, jeśli rozwiązanie jest krok …
Próbuję dowiedzieć się, jakiej struktury danych użyć do modelowania hipotetycznego, wyidealizowanego użycia sieci. W moim scenariuszu wielu wrogich sobie nawzajem użytkowników próbuje utworzyć sieci komputerów, na których znane są wszystkie potencjalne połączenia. Komputery, z którymi musi się połączyć jeden użytkownik, mogą nie być takie same, jak komputery, z którymi musi …
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 6 lat temu . Dlaczego Python używa tabeli skrótów do implementacji dict, ale nie czerwono-czarne drzewo? Jaki jest klucz …
Sposób w jaki było Od lat organizuję swoje rozwiązania programowe jako takie: Warstwa dostępu do danych (DAL) w celu wyodrębnienia działalności związanej z dostępem do danych Warstwa logiki biznesowej (BLL) do stosowania reguł biznesowych do zestawów danych, obsługi uwierzytelniania itp. Narzędzia (Util), które są po prostu biblioteką typowych metod narzędziowych, …
Obecnie gram w LISP (szczególnie Scheme i Clojure) i zastanawiam się, jak radzą sobie typowe struktury danych w funkcjonalnych językach programowania. Na przykład, powiedzmy, że chciałbym rozwiązać problem za pomocą algorytmu znajdowania ścieżki wykresu. Jak można zazwyczaj przedstawiać ten wykres w funkcjonalnym języku programowania (przede wszystkim zainteresowany czystym stylem funkcjonalnym, …
Pracuję nad aplikacją .NET 4.0, która wykonuje dość drogie obliczenia dla dwóch podwójnych zwracających podwójne. Obliczenia wykonuje się dla każdego z kilku tysięcy pozycji . Obliczenia te są wykonywane w Taskwątku puli wątków. Niektóre wstępne testy wykazały, że te same obliczenia są wykonywane w kółko, więc chciałbym buforować n wyników. …
To pytanie StackOverflow pyta „skąd mogę pobrać Microsoft.Data.Objects” Okazuje się, że odpowiedzią było prawdopodobnie to, że jest w wersji CTP4 (najpierw kod) Entity Framework 4 Jednak tam było wiele domysłów. Włącznie z System.Data Entity Framework Microsoft.ApplicationBlocks.Data Microsoft.Practices.EnterpriseLibrary.Data 10 lat temu, gdyby ktoś zadał podobne pytanie, mógł dostać DAO, RDO, ADO. …
Chciałbym dowiedzieć się, jak tworzyć wykresy i wykonywać na nich pewne lokalne operacje w Haskell, ale pytanie nie jest specyficzne dla Haskell i zamiast wykresów możemy rozważyć podwójnie połączone listy. Pytanie: Jaki byłby idiomatyczny lub zalecany sposób wdrożenia podwójnie powiązanej listy (lub innej podwójnie powiązanej lub okrągłej struktury danych) i …
Formalnie niech s ( U , Q ) = { V | V ∈ U i V ⊆ Q }, gdzie U , Q i V wszystkie reprezentują zbiory, a U , a dokładniej, reprezentuje zbiór zbiorów. Na przykład, U może być zestawem (zestawów) składników wymaganych dla różnych przepisów w …
Czy istnieje skrót przypominający Cormen o hashach i haszowaniu? Ta szczególna struktura z jakiegoś powodu nie przyciągnęła uwagi w mojej edukacji CS, ale chciałbym dowiedzieć się więcej, ponieważ wydają się być wszędzie. Wiem, że Cormen to opisuje, ale szukam czegoś bardziej specjalistycznego i dogłębnego.
Mam projekt, który jest wystarczająco duży, że nie mogę już dłużej zachować każdego aspektu w głowie. Mam do czynienia z wieloma klasami i funkcjami, a także przekazuję dane. Z czasem zauważyłem, że ciągle pojawiają się błędy, ponieważ zapomniałem, jaką dokładną formę muszą mieć dane, gdy przekazuję je różnym funkcjom ( …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.