Struktura danych to sposób organizowania danych w sposób umożliwiający efektywne przeszukiwanie i / lub aktualizowanie określonych właściwości tych danych.
Jakie są zalety drzew wyszukiwania binarnego w porównaniu z tabelami skrótów? Tabele haszujące mogą wyszukiwać dowolny element w czasie Theta (1) i równie łatwo jest dodać element ... ale nie jestem pewien, jakie korzyści wynikają z odwrotnej sytuacji.
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 w zeszłym roku . Popraw to pytanie Dużo się mówi o strukturach danych, ale nie mogę znaleźć prostej listy …
To pytanie może być stare, ale nie mogłem wymyślić odpowiedzi. Powiedzmy, że istnieją dwie listy o różnych długościach, łączące się w punkcie ; skąd wiemy, gdzie jest punkt łączenia? Warunki: Nie znamy długości Każdą listę powinniśmy analizować tylko raz.
Od jakiegoś czasu pracuję nad projektem Java dla klasy. Jest to implementacja połączonej listy (nazywanej tutaj AddressList, zawierającej zwane proste węzły ListNode). Haczyk polega na tym, że wszystko musiałoby być zrobione za pomocą algorytmów rekurencyjnych. Udało mi się zrobić wszystko dobrze bez jednej metody:public AddressList reverse() ListNode: public class ListNode{ …
Niedawno zdałem sobie sprawę, że chociaż w moim życiu dużo korzystałem z BST, nigdy nawet nie rozważałem używania czegoś innego niż przechodzenie Inorder (chociaż jestem świadomy i wiem, jak łatwo jest dostosować program do przechodzenia przed / po zamówieniu). Uświadomiwszy sobie to, wyciągnąłem niektóre z moich starych podręczników do struktur …
Przedstawiono mi ten problem w wywiadzie. Jak byś odpowiedział? Zaprojektuj strukturę danych, która oferuje następujące operacje w czasie O (1): wstawić usunąć zawiera uzyskać element losowy
Nauczyłem się, że algorytm Dijkstry był następujący while pqueue is not empty: distance, node = pqueue.delete_min() if node has been visited: continue else: mark node as visited if node == target: break for each neighbor of node: pqueue.insert(distance + distance_to_neighbor, neighbor) Ale czytałem trochę na temat algorytmu i wiele wersji, …
To jest pytanie do wywiadu Google: Do zapisania jest około tysiąca numerów telefonów, z których każdy ma 10 cyfr. Możesz założyć, że pierwsze 5 cyfr każdego z nich jest takie samo w tysiącach liczb. Musisz wykonać następujące operacje: a. Wyszukaj, czy podany numer istnieje. b. Wydrukuj cały numer Jaki jest …
Po prostu przez pomyłkę zrobiłem coś takiego w C ++ i to działa. Dlaczego mogę to zrobić? int main(int argc, char** argv) { struct MyStruct { int somevalue; }; MyStruct s; s.somevalue = 5; } Po zrobieniu tego trochę przypomniałem sobie, że czytałem o tej sztuczce gdzieś, dawno temu, jako …
Kiedy jako programista powinienem rozważyć użycie drzewa RB, B-drzewa lub drzewa AVL? Jakie są kluczowe punkty, które należy wziąć pod uwagę przed podjęciem decyzji o wyborze? Czy ktoś mógłby wyjaśnić scenariuszem dla każdej struktury drzewa, dlaczego jest ona wybierana zamiast innych w odniesieniu do kluczowych punktów?
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.