Reale Welt Beispiele von Baumstrukturen

stimmen
12

Ich suche für einige Beispiele von Baumstrukturen, die in kommerziellen / freien Software-Projekten, modern oder alt verwendet werden. Ich kann Beispiele auf wikipedia, aber ich bin auf der Suche nach konkreteren Beispielen und wie sie verwendet werden. Zum Beispiel Primärschlüssel in Datenbanken sind (von dem, was ich gelesen habe), gespeichert in BST-Struktur oder eine Variation des BST (können Sie mich auf, dies zu korrigieren)

Meine Frage ist nicht darauf beschränkt Binary Suchbäume (BSTs), ist es jede Variation wie Rot-Schwarz umfassen kann, AVL und so weiter.

Veröffentlicht am 23/02/2009 um 14:37
quelle vom benutzer
In anderen Sprachen...                            


17 antworten

stimmen
6

Datenbank-Indizes werden in der Regel als variamts von B * -Bäume gespeichert, die trotz ihres Namens nicht Binärbäumen.

Beantwortet am 23/02/2009 um 14:40
quelle vom benutzer

stimmen
31

Ist es in Ordnung, wenn die Beispiele ein bisschen etwas generisch, dh beziehen sich auf Graphen und nicht unbedingt auf Bäume sind? Wenn ja, lesen Sie weiter.

  • Unnötig meist XML / Markup - Parser Bäume verwenden zu sagen. Siehe Apache Xerces zum Beispiel. Oder die Xalan XSLT - Parser. Dank mathewsdave26 mich für die Erinnerung!

  • PDF ist ein Baum - basiertes Format. Es hat einen rootKnoten , gefolgt von einem catalogKnoten (diese sind oft die gleiche) , gefolgt von einem pagesKnoten, der mehr Kind - pageKnoten. Erzeuger / Verbraucher verwenden häufig eine ausgewogene Baum - Implementierung ein Dokument im Speicher zu speichern.

  • Computer-Schach-Spiele bauen einen riesigen Baum (Ausbildung), die sie zur Laufzeit beschneiden Heuristik einen optimalen Zug zu erreichen.

  • Flare ist eine Visualisierungsbibliothek in AS geschrieben. Sie können prüfen wollen , wie die Datenobjekte abgebildet werden. Insbesondere das flare.analyticsverwendete Paket stark eine Graphenstruktur, Spanning Bäume usw.

  • Social Networking ist das aktuelle Schlagwort in CS Forschung. Es ist selbstverständlich, dass die Verbindungen / Beziehungen sind sehr natürlich Graphen modelliert. Oft werden Bäume verwendet interessante Phänomene darzustellen / zu identifizieren. Wie beantworten Sie Fragen wie „Hat Harry und Sally jeden gemeinsamen Freund haben (n)?“

  • Einige sehr erfolgreiche Physik / Spiele-Motoren bauen Bäume genau menschliche Bewegung zu simulieren. Ein Baum in diesem Fall wird in der Regel auf eine Reihe von Aktionen entsprechen; Der Kontext wird bestimmen, welcher Weg genommen eine bestimmte Antwort zu machen.

  • Entscheidungsbaum-based Learning bildet tatsächlich eine gewaltige Fläche von Data-Mining-Forschung. Zahlreiche bekannte Methoden existieren wie Absacken, Förderung und Modifikationen davon, die Arbeit auf den Bäumen. Eine solche Arbeit ist oft ein Vorhersagemodell zu erzeugen, verwendet.

  • Ein häufiges Problem in der Bioinformatik ist riesig Datenbanken durchsuchen Übereinstimmungen für eine bestimmte Abfrage-String zu finden. Tries sind ein häufiges Vorkommen gibt.

  • Nicht wenige erfolgreich (Lager) Händler verwenden Entscheidungsbäume in ihrem Tag zu Tag Handel - einen Handel zu wählen, ein zu verlassen. Oft werden diese Zeiten nicht in einem Computerprogramm kodifiziert, aber irgendwo auf der Rückseite ihres Notebook abgewertet.

Tölpeln. Sehen Sie dies und dies .

Beantwortet am 23/02/2009 um 14:40
quelle vom benutzer

stimmen
11

Die B in Datenbankindex B * -Bäume steht für Harmonischer, nicht Binary. Der Baum wird mit einer einheitlichen Tiefe gehaltene Zugriffszeiten zu gewährleisten, auch.

Beantwortet am 23/02/2009 um 14:44
quelle vom benutzer

stimmen
1

Mit Blick auf eine der Datawarehousing Produkte finden Sie clevere Möglichkeiten der Speicherung und das Bohren in baumförmigen Dimensionen zu sehen. Sie erhalten eine Baumstruktur für den Standort (Land, Region, Staat, m Landkreis, Gemeinde, etc.) und Zeit (Jahr, Monat, Tag, Stunde). Diese beiden Dimensionen sind häufig in vielen Bereichen, aber viel andere Daten der realen Welt eignet sich auch für den Baum.

Zum Beispiel im Lebensmittelhandel, an der Wurzel des Baumes Sie Lebensmittel haben könnten, kann man erkennen, Drill-down in Milch, Obst und Gemüse usw. einen einzigen Thread Nach Sie haben könnten. Tins von Bohnen, auf der obersten Ebene werden Sie in LKW-Ladungen reden, dann werden Sie kommen auf Paletten, Kisten, Zinn Größen nach unten. All die verschiedenen SKU (Stock Keeping Units) sind wichtig, um jemand im Geschäft oder Unternehmen. Dann werden verschiedene Arten von Bohnen, verschiedene Lieferanten, Hersteller - alle Beispiele von Bäumen für die gleiche Dimension.

All die verschiedenen Produkte bilden einen massiven Baum, mit verschiedenen Möglichkeiten des Schneidens und dicinng.

Beantwortet am 23/02/2009 um 14:53
quelle vom benutzer

stimmen
1

C ++ enthält eine Reihe von Sammlungen (set, multi_set, Karte, multi_map), die als rot-schwarz Bäume normalerweise implementiert ist, eine Art ausgewogenen Baumes.

(Die C ++ Standard nicht explizit diese Implementierung erfordern, aber dies ist das einfachste Design, das die Komplexitätsanforderungen erfüllt.)

Beantwortet am 23/02/2009 um 15:01
quelle vom benutzer

stimmen
0

In meinem Projekt, eine Bearbeitung und Anrechnungssystem für Vermessung / Volkszählungsdaten verwenden wir einen Baum binäre Entscheidung zu entscheiden, welche Variablen eines Datensatzes zu unterstellen oder nicht zurechnet. Der binäre Entscheidungsbaum ermöglicht es uns, effizient Entscheidungen über Wege auf dem Baum machen sollten und sollten wir nicht übernehmen.

Ich denke, dass dieser Ansatz (wenn auch vielleicht nicht nur binäre Bäume) in der künstlichen Intelligenz-Anwendungen verwendet wird und

Beantwortet am 23/02/2009 um 15:30
quelle vom benutzer

stimmen
5

Binäre Bäume haben für Space partitionieren und verdeckter Flächen auf 3D-Spiele der alten verwendet worden, wie ich glaube, dass man in dem Spiel Doom verwendet wurde.

Beantwortet am 23/02/2009 um 15:59
quelle vom benutzer

stimmen
1

In einem Router / Switch Ort verwenden ich arbeite wir ein Bündel von Baumstrukturen, für die Software - Route - Tabelle haben wir einen gebrauchten radix Baum (ziemlich häufige Wahl für eine IP - Routing - Tabelle).

Unsere OSPF Implementierung Gebrauch gemacht rot-schwarze Bäume , unsere BGP Implementierung Gebrauch gemacht skiplists .

Technisch sind skiplists nicht Strukturen Baum, aber sie sind in der Praxis sehr ähnlich, und sie sind wirklich cool.

Wir auf jeden Fall verwendet Haufen ziemlich viel und denken an sie, ist es schon eine Weile her , dass ich dort gearbeitet.

Beantwortet am 26/02/2009 um 14:13
quelle vom benutzer

stimmen
1

DNS-Anfragen .. alles eine Karte mit verwendet AVL

Beantwortet am 02/03/2009 um 22:49
quelle vom benutzer

stimmen
1

System.Collections.Generic.SortedList <T> verwendet einen binären Suchbaum als die zugrunde liegende Implementierung. Das gleiche gilt für System.Collections.GenericSortedDictionary <T> . Jeder Code mit SortedList <T> oder SortedDictionary <T> wird mit einem binären Suchbaum.

Beantwortet am 03/03/2009 um 17:35
quelle vom benutzer

stimmen
4
  • Schreiben Sie einen einfachen rekursiven Abstiegs-Parser, und hat es einen Parse-Baum zu erzeugen.

  • Bill-Of-Material Struktur in der Herstellung verwendet wird (wie ein Auto von Baugruppen besteht, rekursiv, bis hinunter zu den Muttern und Schrauben).

  • Symboltabelle (wie in einem Compiler verwendet wird).

  • Kontenplan wie im Projektmanagement eingesetzt. Ein Gesamtprojekt hat Teilprojekte, auf die Gebühren angewendet werden kann.

  • Unternehmen Organisationsstruktur: Bereiche, Abteilungen etc.

  • Inhaltsverzeichnis für ein Dokument.

  • Descendents einer Person, Vorfahren einer Person.

  • Jedes Lisp s-Ausdruck, einschließlich aller Lisp-Programm.

Beantwortet am 03/03/2009 um 18:59
quelle vom benutzer

stimmen
7
  • Ihr Dateisystem ist eine Baumstruktur. So überprüfen Sie die Quelle zu jedem freien Dateisystem.

  • Ihr Compiler erzeugt einen AST aus dem Quellcode, als Zwischenstufe. So überprüfen Sie die Quelle an einen freien Compiler.

Beantwortet am 03/03/2009 um 19:14
quelle vom benutzer

stimmen
0

Wir verwenden eine Baumstruktur ein Teil Klassifikationssystem zu modellieren. Die Teile werden in ‚Klassen‘ klassifiziert, die übergeordneten Klassen haben und so weiter. Die Top-Level-Klassen fahren Sie den Text für Registerkarten in unserem Katalog UI. Die Klassen sind auch anzuwenden Preisregeln, identifizieren ‚Hot Spots‘ auf einem Fahrzeug eingesetzt, wo Teile angezeigt werden, in einem ‚Konfigurator‘ usw. Wir haben die Baum-Modell in SQL mit Joe Celko des verschachtelten Sätzen und laden sie auf Abruf in dem Speicher für eine besseren Performance. Die häufigsten Fragen wir machen sind ‚wer sind meine Nachkommen‘ und ‚ist diese Klasse ein Vorfahre von mir?‘

sehr praktisch

Beantwortet am 03/03/2009 um 19:19
quelle vom benutzer

stimmen
3

Auto-complete-Funktionen in Software (z. B. Suchmaschine „Vorschläge“, IDE Typ / Symbol Fertigstellung, E-Mail und Adressbuch Namen, usw.) werden häufig als Tries implementiert, die Baumstrukturen sind.

Beantwortet am 03/03/2009 um 21:31
quelle vom benutzer

stimmen
0

Es gibt eine Treap in Actionscript implementiert. Quellen:

Der Treap ist Teil des AS3Commons Sammlungen Rahmen . Eine modifizierte Treap wird verwendet , um die enthaltenen SortedSet und SortedMap Sammlungen zu unterstützen .

Beantwortet am 05/02/2010 um 09:36
quelle vom benutzer

stimmen
0

Klassifizierung von Objekten im Allgemeinen sehr oft mit Bäumen getan. Und sehr oft, wäre ein Diagramm , viel besser geeignet als ein Baum, aber ein Baum bietet zwei große Vorteile gegenüber einem Diagramm:

  • Es kann als eine (verschachtelte) Liste dargestellt werden. Zum Beispiel ist es viel einfacher, ein großer Baum auf Papier zu zeigen (mit Titel, Untertitel, Absätze und verschachtelte Listen) oder auf einem Computerbildschirm als ein Diagramm.
  • Sie können in dem Baum mit einem einfachen Pfad-String (oder einen Stapel), zum Beispiel „http / StackOverflow.com / Users / Dimitri C“, was viel schwieriger ist zu tun in einem Diagramm auf ein Element zeigen.
Beantwortet am 05/02/2010 um 09:43
quelle vom benutzer

stimmen
0

Versetzen Sie sich als Wurzel des Baumes und jetzt deine Eltern als Kinder Baum und Eltern der Eltern ihre Kinder von Baum machen, und dies kann einen vollständigen Anwendungsfall von Baum machen.

So Umsetzung etwas, wo die komplette Hierarchie der Familie benötigen, können Sie Baum verwenden, das zu implementieren.

Beantwortet am 29/04/2018 um 17:48
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more