Echte wereld voorbeelden van boomstructuren

stemmen
12

Ik ben op zoek naar een aantal voorbeelden van boomstructuren die worden gebruikt in commerciële / vrije software projecten, modern of oud. Ik kan voorbeelden bekijk op wikipedia, maar ik ben op zoek naar meer concrete voorbeelden en hoe ze worden gebruikt. Bijvoorbeeld primaire sleutels in databases zijn (van wat ik heb gelezen) opgeslagen in BST structuur of een variatie van het BST (voel je vrij om mij te corrigeren op deze)

Mijn vraag is niet beperkt Binary Search Trees (BSTS), kan elke variatie omvatten zoals rood-zwart, AVL en ga zo maar door.

De vraag is gesteld op 23/02/2009 om 14:37
bron van user
In andere talen...                            


17 antwoorden

stemmen
6

Database indexen worden doorgaans opgeslagen als variamts van B * bomen, die, ondanks hun naam niet binaire bomen.

antwoordde op 23/02/2009 om 14:40
bron van user

stemmen
31

Is het goed als de voorbeelden zijn een tikkeltje beetje generieke namelijk betrekking op grafieken en niet noodzakelijkerwijs op de bomen? Zo ja, lees dan verder.

  • Onnodig te zeggen dat de meeste XML / Markup parsers gebruiken bomen. Zie Apache Xerces bijvoorbeeld. Of, de Xalan XSLT parser. Thanks mathewsdave26 voor het eraan herinneren mij!

  • PDF is een boom gebaseerd formaat. Het heeft een rootknooppunt gevolgd door een catalogknooppunt (deze zijn vaak dezelfde) gevolgd door een pagesknooppunt dat een aantal kind page-knooppunten. Producenten / consumenten maken vaak gebruik van een gebalanceerde boom implementatie tot een document in het geheugen op te slaan.

  • Computer schaakspellen bouwen van een enorme boom (training) die zij snoeien tijdens de uitvoering met behulp van heuristische om een ​​optimale beweging te bereiken.

  • Flare is een visualisatiebibliotheek geschreven in AS. U kunt willen controleren hoe de gegevens objecten worden in kaart gebracht. Met name het flare.analyticsgebruik van pakket zwaar een grafische structuur, verspreid over bomen etc.

  • Social networking is de huidige modewoord in CS onderzoek. Het spreekt vanzelf dat de aansluitingen / relaties heel natuurlijk worden gemodelleerd met behulp van grafieken. Vaak zijn de bomen gebruikt te vertegenwoordigen / identificeren interessanter verschijnselen. Hoe weet u antwoord op vragen als "Is Harry en Sally over gemeenschappelijke vriend (en)?"

  • Een aantal zeer succesvolle natuurkunde / games motoren bouwen bomen om nauwkeurig te simuleren menselijke beweging. Een boom in dit geval zal meestal overeenkomen met een reeks acties; De context bepaalt welk pad wordt naar een bepaalde respons geven.

  • Besluit Boom gebaseerd Learning en vormt een formidabele gebied van data mining. Tal van bekende methoden bestaan, zoals zakken, het stimuleren van, en wijzigingen daarvan, die werken op bomen. Dergelijk werk wordt vaak gebruikt om een ​​voorspellend model te genereren.

  • Een veel voorkomend probleem in de bioinformatica is om grote databases te doorzoeken om wedstrijden voor een bepaalde query string te vinden. Pogingen zijn schering en inslag zijn.

  • Een flink aantal succesvolle (voorraad) handelaren gebruiken beslissing bomen in hun dagelijkse handel - om een ​​vak te kiezen, een uitgang. Vaak zijn deze niet gecodificeerd in een computerprogramma, maar opgeschreven ergens op de rug van hun notebook.

Dupe. Zie deze en deze .

antwoordde op 23/02/2009 om 14:40
bron van user

stemmen
11

De B ​​in de database index B * bomen staat voor een evenwichtige, niet Binary. De boom wordt bewaard bij een uniforme diepte om ervoor te zorgen zelfs toegangstijden.

antwoordde op 23/02/2009 om 14:44
bron van user

stemmen
1

Kijkend naar een van de Datawarehousing producten zie je slimme manieren van opslag en boren in boom gevormde dimensies. Je krijgt een boomstructuur voor de locatie (land, regio, staat, m provincie, stad, etc) en tijd (jaar, maand, dag, uur). Die twee dimensies zijn vaak meerdere domeinen worden, maar veel andere echte wereld data leent zich ook voor de boom.

Bijvoorbeeld in de voedingsdistributie, aan de wortel van de boom kon je boodschappen hebt, die kan inzoomen tot zuivelproducten, fruit en groenten etc. Na een enkele thread je zou kunnen hebben. Blikken bonen, op het hoogste niveau u zult praten in vrachtwagenladingen, dan zul je naar beneden komen om pallets, dozen, tin maten. Alle verschillende SKU (stock keeping units) zijn belangrijk voor iemand in de winkel of bedrijf. Vervolgens werden verschillende soorten bonen, verschillende leveranciers, fabrikanten - allemaal voorbeelden van bomen voor dezelfde dimensie.

Alle van de verschillende producten vormen een enorme boom, met verschillende manieren van snijden en dicinng.

antwoordde op 23/02/2009 om 14:53
bron van user

stemmen
1

C ++ bevat een aantal collecties (set, multi_set, kaart, multi_map) die normaal zo rood-zwarte bomen, een soort evenwichtige boom worden uitgevoerd.

(The C ++ norm niet expliciet geëist deze implementatie, maar dit is de meest eenvoudige ontwerp dat de complexiteit eisen voldoet.)

antwoordde op 23/02/2009 om 15:01
bron van user

stemmen
0

In mijn project, een bewerking en aanrekening systeem voor het overzicht / census data, maken we gebruik van een binair beslisboom om te bepalen welke variabelen van een record toe te rekenen of niet toerekenen. De binaire beslisboom stelt ons in staat om op efficiënte wijze beslissingen te nemen over paden op de boom die we wel en niet moeten nemen.

Ik denk dat deze aanpak (hoewel misschien niet alleen binaire bomen) wordt gebruikt in kunstmatige intelligentie toepassingen en

antwoordde op 23/02/2009 om 15:30
bron van user

stemmen
5

Binary Trees zijn gebruikt voor Space Paritioning en Verborgen Surface verwijdering op 3D-games van de oude, ik geloof dat men werd gebruikt in het spel Doom.

antwoordde op 23/02/2009 om 15:59
bron van user

stemmen
1

In een router / switch plaats gebruikte ik om te werken we gebruik gemaakt van een bos van boomstructuren, voor de software route tafel we gebruik gemaakt van een Radix boom (vrij normaal keuze voor een IP routing tabel).

Onze implementatie OSPF gebruik gemaakt van rood-zwarte bomen , onze BGP implementatie gebruik gemaakt van skiplists .

Technisch skiplists zijn niet boomstructuren, maar ze zijn in de praktijk zeer vergelijkbaar zijn, en ze zijn echt cool.

We zijn zeker gebruikt hopen nogal wat ook denken over het, het is al een tijdje geleden dat ik daar werkte.

antwoordde op 26/02/2009 om 14:13
bron van user

stemmen
1

DNS-query's .. iets met behulp van een kaart gebruikt AVL

antwoordde op 02/03/2009 om 22:49
bron van user

stemmen
1

System.Collections.Generic.SortedList <T> maakt gebruik van een binaire zoekboom als de onderliggende implementatie. Hetzelfde geldt voor System.Collections.GenericSortedDictionary <T> . Elke code waarvoor SortedList <T> of SortedDictionary <T> is met behulp van een binaire zoekboom.

antwoordde op 03/03/2009 om 17:35
bron van user

stemmen
4
  • Schrijf een eenvoudige recursieve afdaling parser, en hebben het genereren van een parse boom.

  • Bill-Of-materialen die gebruikt wordt in de industrie (zoals een auto bestaat uit onderdelen, recursief, tot de bouten en moeren).

  • Symbool van de tabel (zoals gebruikt in een compiler).

  • Grafiek van de rekeningen, zoals gebruikt in projectmanagement. Een totale project heeft deelprojecten, waarvan de tarieven kunnen worden toegepast.

  • Bedrijf organisatiestructuur: divisies, afdelingen, enz.

  • Inhoudsopgave van een document.

  • Afstammelingen van een persoon, voorouders van een persoon.

  • Elke Lisp s-expressie, inclusief eventuele Lisp programma.

antwoordde op 03/03/2009 om 18:59
bron van user

stemmen
7
  • Uw bestandssysteem is een boomstructuur. Dus check de bron in een gratis bestandssysteem.

  • Uw compiler genereert een AST van uw broncode, als een tussenstap. Dus check de bron in een gratis compiler.

antwoordde op 03/03/2009 om 19:14
bron van user

stemmen
0

We maken gebruik van een boomstructuur om een ​​deel classificatiesysteem modelleren. Onderdelen worden ingedeeld in 'klassen', die ouder klassen hebben en ga zo maar door. De top-level klassen rijden de tekst voor tabs in onze catalogus UI. De lessen worden ook gebruikt om regels prijsstelling toe te passen, te identificeren 'hot spots' op een voertuig waar delen worden weergegeven in een 'configurator', enz. We modelleren de boom in SQL met behulp van Joe Celko's geneste sets en laad ze on-demand in het geheugen voor een betere prestatie. De meest voorkomende vragen die we maken zijn 'wat is mijn afstammelingen' en 'is deze klasse een voorouder van mij?'

Heel handig

antwoordde op 03/03/2009 om 19:19
bron van user

stemmen
3

Automatisch aanvullen functies in software (bijv. Search engine "suggesties", IDE-type / symbool voltooiing, e-mail en het adresboek namen, etc) worden vaak geïmplementeerd als Tries, die boomstructuren zijn.

antwoordde op 03/03/2009 om 21:31
bron van user

stemmen
0

Er is een treap in ActionScript geïmplementeerd. bronnen:

De treap is onderdeel van de AS3Commons Collections framework . Een gewijzigde treap wordt gebruikt om de meegeleverde SortedSet en SortedMap collecties terug.

antwoordde op 05/02/2010 om 09:36
bron van user

stemmen
0

Classificatie van objecten in het algemeen is heel vaak gedaan met behulp van bomen. En heel vaak, zou een grafiek veel geschikter dan een boom zijn, maar een boom biedt twee grote voordelen ten opzichte van een grafiek:

  • Het kan worden voorgesteld als een (geneste) lijst. Bijvoorbeeld, het is veel makkelijker om een ​​grote boom op papier weer te geven (met titels, ondertiteling, alinea's en geneste lijsten) of op een computerscherm dan een grafiek.
  • U kunt wijzen op een item in de boom met behulp van een eenvoudige pad string (of een stapel), bijvoorbeeld "http / StackOverflow.com / Users / Dimitri C", iets wat veel moeilijker te doen in een grafiek.
antwoordde op 05/02/2010 om 09:43
bron van user

stemmen
0

Plaats jezelf als de wortel van de boom en nu maak uw ouders als kinderen van de boom en de ouders van de ouders als hun kinderen van de boom en dit kan een volledige use case van de boom te maken.

Dus de uitvoering van iets waar de volledige hiërarchie van de familie nodig heeft kunt u boom gebruiken om uit te voeren dat.

antwoordde op 29/04/2018 om 17:48
bron van user

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