Jakie są najczęstsze problemy, które można rozwiązać za pomocą obu tych struktur danych?
Byłoby dobrze dla mnie mieć również zalecenia dotyczące książek, które:
- Wdrożenie struktur
- Wdrożenie i wyjaśnić powody algorytmów, które ich używają
Jakie są najczęstsze problemy, które można rozwiązać za pomocą obu tych struktur danych?
Byłoby dobrze dla mnie mieć również zalecenia dotyczące książek, które:
Jest to kurs dla takich rzeczy na mojej uczelni: CSE 326 . Nie sądziłam, że książka była zbyt przydatny, ale projekty są zabawne i uczyć uczciwej trochę o wdrażaniu niektórych prostszych struktur.
Jako przykłady, jeden z najczęstszych problemów (o liczbie osób korzystających z niego), który jest rozwiązany z drzew jest to, że telefon komórkowy wprowadzania tekstu. Można użyć drzewa, niekoniecznie binarne, do reprezentowania przestrzeń możliwych słów, które mogą pochodzić z dowolnej listy numerów, że stemple użytkownika w bardzo szybko.
Pierwszą rzeczą, myślę o tym, kiedy czytam to pytanie brzmi: jakiego rodzaju rzeczy wykorzystywać wykresy / drzew? i wtedy myślę wstecz, jak mogę z nich korzystać.
Na przykład, weźmy dwa wspólne zastosowań drzewa:
DOM, XML dla tej sprawy, przypominają struktury drzewa.
To ma sens, też. Ma to sens, ponieważ, jak wymaga tego dane do uzgodnienia . System plików, too. W systemie UNIX istnieje węzeł główny, a rozgałęzienia w dół poniżej. Podczas montażu nowego urządzenia, jesteś dołączenie go do drzewa.
Należy również być zadając sobie pytanie: czy dane należą do tego typu konstrukcji? Tworzenie struktur danych, które mają sens problemu, a reszta przyjdzie sama.
O ile łatwiej jest, myślę, że to jest to względne. Czy jesteś dobry z funkcji rekurencyjnych przemierzać drzewo / wykres? Co zrobić, jeśli trzeba zrównoważyć drzewo?
Pomyśl o program, który rozwiązuje zagadkę wyszukiwarki słowo. Można nakreślić wszystkie litery szukanej słowo na wykresie i sprawdzić okolicznych węzłów aby sprawdzić, czy ciąg jest dopasowanie którekolwiek ze słów. Ale nie można po prostu zrobić to samo z jednym z tablicy? Wszystko, co naprawdę trzeba zrobić, to przenieść wskaźnik do sprawdzenia listy po lewej i prawej stronie, a przez szerokość, by sprawdzić powyżej i poniżej liter. Rozwiązanie tego problemu z wykresu nie jest trudne, ale może stworzyć wiele dodatkowej pracy i trudności, jeśli nie jesteś dobrze z ich użyciem - oczywiście, że nie powinna zniechęcać od robią to, zwłaszcza jeśli są nauki o im.
Mam nadzieję, że pomaga myśleć o tych struktur. Jeśli chodzi o zalecenie książki, będę musiał iść z Wprowadzenie do algorytmów .
Algorytmy Java: Część 5 Robert Sedgewick jest o algorytmach wykres i datastructures. Byłby to dobry pierwsza książka do pracy poprzez jeśli chcesz wprowadzić pewne algorytmy wykres.
Wykresy tematyczne dla grafika rysunek w grach i aplikacjach multimedialnych mocno używać drzew i wykresy. Węzły reprezentuje obiekty mają być świadczone, transformacje, kierownica, grupy, ...
wykresy scena zwykle mają wiele warstw i atrybutów, które oznacza, że można wyciągnąć tylko jakiś węzeł grafu (atrybuty) w określonej kolejności (Warstwy). W zależności od rodzaju wykresu sceny masz może mieć dwa parralel struktur: deklaracje i konkretyzacji. th
Podręcznik Algorytm Projekt zawiera kilka ciekawych case studies z twórczego wykorzystania wykresów. Pomimo swojej nazwy, książka jest bardzo czytelny i nawet zabawne czasami.
@DavidJoiner / all:
FWIW: nowa wersja podręcznika Algorytmów to lada dzień ukaże się.
Cały kurs że Prof Skiena rozwinął tę książkę, jest również dostępny na stronie:
http://www.cs.sunysb.edu/~algorith/video-lectures/2007-1.html
Schematy.
Kompilacji (wykresy Directed acykliczne)
Mapy. Bardzo kompaktowy postaci wykresów.
Problemy przepływu sieci.
Decyzja drzewa dla systemów ekspertowych (SIC)
Schematy Fishbone Albowiem ganiąc, procesowej improvment, analizy bezpieczeństwa. Dla punktów bonusowych zaimplementować kod błędu odzysku w obiektach, które są diagram fishbone.
Drzewa wykorzystywane są dużo bardziej funkcjonalne w językach programowania rekurencyjnego z powodu ich charakteru.
Ponadto, wykresy i drzewa są dobrym sposobem, aby modelować wiele problemów AI.
Prawie każdy problem może być ponownie napisany z punktu widzenia teorii grafów. Nie żartuję, spojrzeć w każdej książce o NP pełne problemów, istnieją pewne dość zwariowanych problemy, które się zamienił teorii grafów, bo mamy dobre narzędzia do pracy z wykresami ...
Gry często używają wykresów, aby ułatwić znalezienie drogi na całym świecie gry. Reprezentacja wykres świata mogą mieć algorytmy takie jak wszerz wyszukiwania lub A * w celu znalezienia drogę w poprzek.
Również często wykorzystują oni drzew do reprezentowania podmiotów w świecie. Jeśli masz tysiące jednostek i trzeba znaleźć taki w pewnym położeniu następnie Iteracja liniowo przez liście mogą być nieskuteczne, zwłaszcza gdy trzeba to robić częściej. Dlatego obszar można podzielić na drzewie, aby umożliwić jej szybsze przeszukane. Podobnie jak przestrzeń liniowa może być skutecznie przeszukiwane przy wyszukiwaniu binarnym (a zatem podzielona na drzewie binarnym), przestrzeni 2D może być podzielony na czwórkowe i przestrzeni 3D w produkt Octree .