Reelle eksempler på trestrukturer

stemmer
12

Jeg leter etter noen eksempler på trestrukturer som brukes i kommersielle / fri programvare-prosjekter, moderne eller gamle. Jeg kan se eksempler på wikipedia, men jeg leter etter flere konkrete eksempler og hvordan de brukes. For eksempel primærnøkler i databaser er (fra hva jeg har lest) lagret i BST struktur eller en variant av BST (gjerne korrigere meg på dette)

Mitt spørsmål er ikke begrenset binære søketrær (BSTs), kan den inneholde en variant som rød-svart, AVL og så videre.

Publisert på 23/02/2009 klokken 13:37
kilden bruker
På andre språk...                            


17 svar

stemmer
6

Database indekser er normalt lagret som variamts av B * trær som til tross for navnet er ikke binære trær.

Svarte 23/02/2009 kl. 13:40
kilden bruker

stemmer
31

Er det i orden at eksemplene er en smule litt generiske dvs. forholde seg til grafer og ikke nødvendigvis til trær? Hvis det er, les videre.

  • Unødvendig å si de fleste XML / Markup parsere bruke trær. Se Apache Xerces for eksempel. Eller, det Xalan XSLT parser. Takket mathewsdave26 for å minne meg!

  • PDF er et tre basert format. Den har en rootnode, etterfulgt av en catalognode (disse er ofte de samme), etterfulgt av en pagesnode som har flere underordnede pageknutepunkter. Produsenter / forbrukere bruker ofte en balansert tre gjennomføring for å lagre et dokument i minnet.

  • Datamaskin sjakk spill bygge et stort tre (trening) som de beskjære under kjøring ved hjelp av heuristikk for å oppnå en optimal trekk.

  • Flare er en visualisering bibliotek skrevet i AS. Det kan være lurt å sjekke ut hvordan dataobjekter er kartlagt. Spesielt flare.analyticsbenytter pakke tungt en graf struktur, som strekker seg over trær etc.

  • Sosiale nettverk er dagens moteordet i CS forskning. Det sier seg selv at tilkoblinger / relasjoner svært naturlig modelleres ved hjelp av grafer. Ofte er trær brukt for å representere / identifisere mer interessant fenomen. Hvordan svarer du på spørsmål som "Har Harry og Sally har noen felles venn (er)?"

  • Noen svært vellykkede fysikk / spill motorer bygge trær for å simulere nøyaktig menneskelig bevegelse. Et tre i dette tilfellet vil vanligvis tilsvare et sett av tiltak; Konteksten vil bestemme hvilken bane er tatt for å gjengi en bestemt respons.

  • Beslutning treet basert læring faktisk utgjør en formidabel område av data mining forskning. Mange kjente metoder finnes som bagging, øker, og modifikasjoner av disse som arbeider på trær. Slikt arbeid er ofte brukt til å generere en prediktiv modell.

  • Et vanlig problem i bioinformatikk er å søke enorme databaser for å finne treff for en gitt søkestrengen. Prøver er en vanlig foreteelse der.

  • Ganske mange vellykkede (lager) handelsfolk bruke beslutningstrær i sin daglige handel - for å velge en handel, for å avslutte en. Ofte er disse ikke kodifisert i et dataprogram, men er skrevet ned et sted på baksiden av den bærbare datamaskinen.

Lure. Se denne og denne .

Svarte 23/02/2009 kl. 13:40
kilden bruker

stemmer
11

B i databasen indeksen B * trærne står for Balansert, ikke Binary. Treet ble holdt ved en jevn dybde for å sikre jevn tilgang ganger.

Svarte 23/02/2009 kl. 13:44
kilden bruker

stemmer
1

Ser på noen av de Datawarehousing produkter du vil se smarte måter å lagre og boring i tre formet dimensjoner. Du får en trestruktur for plassering (land, region, stat, m fylke, by, etc) og tid (år, måned, dag, time). Disse to dimensjonene er felles for mange domener, men mye annet virkelige verden data gir seg også til treet.

For eksempel i dagligvare, ved roten av treet du kunne ha dagligvarer, kan det bore ned i melkeprodukter, frukt og grønnsaker etc. Etter en enkelt tråd du kunne ha. Bokser med bønner, på øverste nivå du skal snakke i lastebillass, så vil du komme ned til paller, kasser, tinn størrelser. Alle de forskjellige SKU (lagerhold enheter) er viktig for noen i butikken eller selskapet. Deretter ulike typer bønner, ulike leverandører, produsenter - alle eksempler på trær for samme dimensjon.

Alle de forskjellige produktene utgjør en massiv tre, med forskjellige måter å slicing og dicinng.

Svarte 23/02/2009 kl. 13:53
kilden bruker

stemmer
1

C ++ omfatter en rekke samlinger (sett, multi_set, kart, multi_map) som normalt er implementert som rød-svart trær, en type av balansert treet.

(The C ++ standarden ikke eksplisitt krever denne implementeringen, men dette er den enkleste design som oppfyller kompleksitet krav.)

Svarte 23/02/2009 kl. 14:01
kilden bruker

stemmer
0

I mitt prosjekt, en endring og godtgjørelsessystemet for undersøkelse / census data, bruker vi en binær beslutningstre å bestemme hva variabler fra en post til tilregner eller ikke tilregner. Den binære beslutningstre tillater oss å effektivt ta avgjørelser om stier på treet vi bør og ikke bør ta.

Jeg tror denne tilnærmingen (men kanskje ikke bare binære trær) brukes i kunstig intelligens programmer også

Svarte 23/02/2009 kl. 14:30
kilden bruker

stemmer
5

Binære trær har blitt brukt for Space partisjonering og skjult overflate fjerning på 3D-spill av gamle, tror jeg at en ble brukt i spillet Doom.

Svarte 23/02/2009 kl. 14:59
kilden bruker

stemmer
1

I en router / switch sted jeg pleide å jobbe brukte vi en haug med trestrukturer, for programvaren rutetabellen vi brukte en radix tre (ganske vanlig valg for en IP ruting tabellen).

Vår OSPF implementering gjort bruk av rød-svart trær , vår BGP implementering gjort bruk av skiplists .

Teknisk skiplists ikke trestrukturer, men de er i praksis svært like, og de er virkelig kult.

Vi definitivt brukt hauger ganske litt også tenker på det, har det vært en stund siden jeg jobbet der.

Svarte 26/02/2009 kl. 13:13
kilden bruker

stemmer
1

DNS-spørringer .. noe hjelp av et kart bruker AVL

Svarte 02/03/2009 kl. 21:49
kilden bruker

stemmer
1

System.Collections.Generic.SortedList <T> bruker et binært søketre som underliggende implementeringen. Det samme gjelder for System.Collections.GenericSortedDictionary <T> . Enhver kode ved hjelp SortedList <T> eller SortedDictionary <T> bruker et binært søketre.

Svarte 03/03/2009 kl. 16:35
kilden bruker

stemmer
4
  • Skriv en enkel rekursiv-nedstigningen parser, og har det generere en parsetreet.

  • Bill-Of-Materialer konstruksjon som benyttes i industrien (for eksempel en bil består av underenheter, rekursivt, ned til muttere og bolter).

  • Symboltabellen (som anvendt i en kompilator).

  • Konto som brukes i prosjektledelse. En samlet prosjektet har delprosjekter, hvor kostnader kan brukes.

  • Selskapet organisasjonsstruktur: divisjoner, avdelinger, etc.

  • Innhold for et dokument.

  • Etterkommere av en person, forfedrene til en person.

  • Enhver Lisp s-ekspresjon, inkludert eventuelle Lisp program.

Svarte 03/03/2009 kl. 17:59
kilden bruker

stemmer
7
  • Filsystemet er en trestruktur. Så sjekk ut kilden til noen gratis filsystem.

  • Kompilatoren genererer en AST fra kildekoden, som et mellomstadium. Så sjekk ut kilden til noen gratis kompilator.

Svarte 03/03/2009 kl. 18:14
kilden bruker

stemmer
0

Vi bruker en trestruktur for å modellere en del klassifikasjonssystem. Deler er klassifisert i 'klasser' som har foreldre klasser og så videre. De øverste nivå klasser kjøre teksten for faner i vår katalog UI. Klassene er også brukt til å søke prissetting regler, identifisere 'hot spots' på et kjøretøy der deler vises i en 'konfigurator', etc. Vi modellere treet i SQL hjelp Joe Celko er nestet sett og laste dem on-demand til minne for bedre opptreden. De vanligste spørsmålene vi gjør er 'som er mine etterkommere' og «er denne klassen en stamfar av meg?

veldig praktisk

Svarte 03/03/2009 kl. 18:19
kilden bruker

stemmer
3

Autofullfør funksjoner i programvaren (f.eks. Søkemotor "forslag", IDE type / symbol ferdigstillelse, e-post og adressebok navn, etc) er ofte implementert som prøver, som er trestrukturer.

Svarte 03/03/2009 kl. 20:31
kilden bruker

stemmer
0

Det er en treap implementert i Actionscript. kilder:

Den treap er en del av AS3Commons samlinger rammeverket . En modifisert treap brukes til å sikkerhets de inkluderte SortedSet og SortedMap samlinger.

Svarte 05/02/2010 kl. 08:36
kilden bruker

stemmer
0

Klassifisering av objekter generelt er svært ofte gjort ved hjelp av trær. Og veldig ofte, vil en graf være mye mer egnet enn et tre, men et tre har to store fordeler i forhold til en graf:

  • Det kan være representert som et (nestet) listen. For eksempel er det mye lettere å vise et stort tre på papiret (med titler, undertekster, avsnitt og nestede lister) eller på en dataskjerm enn en graf.
  • Du kan peke på et element i treet ved hjelp av en enkel sti snor (eller en stabel), for eksempel "http / StackOverflow.com / Users / Dimitri C", noe som er mye vanskeligere å gjøre i en graf.
Svarte 05/02/2010 kl. 08:43
kilden bruker

stemmer
0

Sett deg selv som roten til treet og nå gjør dine foreldre som barn av treet og foreldre til foreldre som sine barn treet og dette kan gjøre en full bruk tilfelle av treet.

Så implementere noe der hele hierarkiet av familien krever at du kan bruke tre for å gjennomføre det.

Svarte 29/04/2018 kl. 17:48
kilden bruker

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