esempi reali di strutture ad albero

voti
12

Sto cercando alcuni esempi di strutture ad albero che vengono utilizzati in progetti di software commerciali / liberi, moderni o antichi. Posso vedere esempi su wikipedia, ma sto cercando degli esempi più concreti e come vengono utilizzati. Ad esempio le chiavi primarie nei database sono (da quello che ho letto) memorizzati nella struttura BST o una variazione del BST (sentitevi liberi di correggere me su questo)

La mia domanda non è limitata alberi binari di ricerca (BST), che possono includere qualsiasi variazione come il rosso-nero, AVL e così via.

È pubblicato 23/02/2009 alle 14:37
fonte dall'utente
In altre lingue...                            


17 risposte

voti
6

indici del database sono normalmente memorizzati come variamts di alberi B *, che, nonostante il loro nome non sono alberi binari.

Risposto il 23/02/2009 a 14:40
fonte dall'utente

voti
31

Va bene se gli esempi sono un filino cioè generici riguardare i grafici e non necessariamente per gli alberi? Se lo è, continuate a leggere.

  • Inutile dire che la maggior parte dei parser XML / Markup utilizzano alberi. Vedere Apache Xerces per esempio. In alternativa, il parser Xalan XSLT. Grazie mathewsdave26 per avermelo ricordato!

  • PDF è un formato basato albero. Ha un rootnodo seguito da un catalognodo (questi sono spesso gli stessi) seguito da un pagesnodo che ha diversi secondari pagenodi. I produttori / consumatori utilizzano spesso un'implementazione albero bilanciato per memorizzare un documento in memoria.

  • giochi per computer di scacchi costruire un enorme albero (formazione) che potano in fase di esecuzione utilizzando l'euristica per raggiungere un movimento ottimale.

  • Flare è una libreria di visualizzazione scritto in AS. Si consiglia di verificare come gli oggetti di dati vengono mappati. In particolare il flare.analyticspacchetto utilizza una struttura fortemente grafico, spanning alberi etc.

  • Il social networking è la parola d'ordine in corso nel campo della ricerca CS. Va da sé che le connessioni / rapporti sono molto naturalmente modellati utilizzando grafici. Spesso, gli alberi vengono utilizzati per rappresentare / identificare fenomeni più interessanti. Come si fa a rispondere a domande quali "Fa Harry e Sally hanno alcun comune amico (s)?"

  • Alcuni di grande successo motori fisici / Giochi Costruire alberi per simulare con precisione il movimento umano. Un albero in questo caso sarà tipicamente corrisponde ad un insieme di azioni; Il contesto determina quale percorso è presa per rendere una particolare risposta.

  • L'apprendimento basato Albero decisionale costituisce in realtà una zona formidabile di ricerca di data mining. Numerosi metodi famosi esistono come insaccamento, aumentando, e relative modifiche, che lavorano su alberi. Tale lavoro è spesso usato per generare un modello predittivo.

  • Un problema comune in bioinformatica è alla ricerca di grandi database per trovare le corrispondenze per un dato stringa di query. Tentativi sono un evento comune lì.

  • Un bel po '(stock) commercianti di successo utilizzano alberi di decisione nel loro giorno per giorno di negoziazione - di scegliere un mestiere, per uscire uno. Spesso questi non sono codificati in un programma per computer, ma scritto da qualche parte sul retro del proprio notebook.

Ingannare. Vedere questo e questo .

Risposto il 23/02/2009 a 14:40
fonte dall'utente

voti
11

Il B in indice del database B * alberi sta per bilanciata, non binario. L'albero è mantenuto ad una profondità uniforme per garantire anche tempi di accesso.

Risposto il 23/02/2009 a 14:44
fonte dall'utente

voti
1

Guardando uno dei prodotti datawarehousing vedrete modi intelligenti di memorizzazione e di perforazione in forma di albero dimensioni. Si ottiene una struttura ad albero per la posizione (paese, regione, stato, m contea, città, ecc) e il tempo (anno, mese, giorno, ora). Queste due dimensioni sono comuni in molti settori, ma molto altri dati del mondo reale si presta anche per l'albero.

Per esempio nel commercio al dettaglio alimentare, alla radice dell'albero si potrebbe avere generi alimentari, che possono visualizzare in dettaglio latticini, frutta e verdura, ecc A seguito di un singolo thread si potrebbe avere. Barattoli di fagioli, al livello più alto sarete parlando in camion carichi Allora ti scendono a pallet, casse, dimensioni di latta. Tutte le diverse SKU (stock keeping unit) sono importanti per qualcuno all'interno del negozio o azienda. Poi diversi tipi di fagioli, diversi fornitori, produttori - tutti esempi di alberi per la stessa dimensione.

Tutti i diversi prodotti formano un albero enorme, con diversi modi di affettare e dicinng.

Risposto il 23/02/2009 a 14:53
fonte dall'utente

voti
1

C ++ comprende una serie di collezioni (set, multi_set, mappa, multi_map) che sono normalmente implementati come alberi rosso-neri, una sorta di albero bilanciato.

(Standard Il C ++ non richiede esplicitamente questa implementazione, ma questo è il disegno più semplice che soddisfa i requisiti di complessità.)

Risposto il 23/02/2009 a 15:01
fonte dall'utente

voti
0

Nel mio progetto, un sistema di modifica e di imputazione per i dati dell'indagine / censimento, usiamo un albero di decisione binario di decidere quali variabili di un record per imputare o meno imputare. L'albero di decisione binario ci permette di effettuare in modo efficiente le decisioni sui percorsi sugli alberi che dovremmo e non dovremmo prendere.

Credo che questo approccio (anche se forse non solo gli alberi binari) viene utilizzato in applicazioni di intelligenza artificiale, nonché

Risposto il 23/02/2009 a 15:30
fonte dall'utente

voti
5

Alberi binari sono stati utilizzati per lo spazio Paritioning e la rimozione delle superfici nascoste sui giochi 3D di vecchio, credo che uno è stato utilizzato nel gioco Doom.

Risposto il 23/02/2009 a 15:59
fonte dall'utente

voti
1

In un luogo router / switch ho usato per lavorare abbiamo usato un po 'di strutture ad albero, per la tabella di route software è stato usato un albero radicato (scelta abbastanza comune per una tabella di routing IP).

La nostra implementazione OSPF fatto uso di alberi rosso-neri , la nostra implementazione BGP fatto uso di skiplists .

Tecnicamente skiplists non sono strutture ad albero, ma sono in pratica molto simili, e sono davvero cool.

Abbiamo sicuramente usato cumuli un po 'così che pensano su di esso, è stato un po' da quando ho lavorato lì.

Risposto il 26/02/2009 a 14:13
fonte dall'utente

voti
1

query DNS .. qualsiasi cosa utilizzando una mappa utilizza AVL

Risposto il 02/03/2009 a 22:49
fonte dall'utente

voti
1

System.Collections.Generic.SortedList <T> utilizza un albero binario di ricerca come l'implementazione sottostante. Lo stesso vale per System.Collections.GenericSortedDictionary <T> . Qualsiasi codice utilizzando SortedList <T> o SortedDictionary <T> utilizza un albero binario di ricerca.

Risposto il 03/03/2009 a 17:35
fonte dall'utente

voti
4
  • Scrivere un semplice parser ricorsivo-discesa, e lo hanno generare un albero sintattico.

  • Bill-Of-Materiali struttura utilizzata nella fabbricazione (come un'automobile è costituito da sottounità, ricorsivamente, fino ai dadi e bulloni).

  • Tabella dei simboli (come quello usato in un compilatore).

  • Struttura dei conti come quello usato nella gestione dei progetti. Un progetto complessivo ha sottoprogetti, a cui possono essere applicati oneri.

  • Società di struttura organizzativa: divisioni, dipartimenti, ecc

  • Tabella dei contenuti per un documento.

  • Discendenti di una persona, gli antenati di una persona.

  • Qualsiasi Lisp s-espressione, compresa qualsiasi programma Lisp.

Risposto il 03/03/2009 a 18:59
fonte dall'utente

voti
7
  • Il vostro filesystem è una struttura ad albero. Allora date un'occhiata alla fonte a qualsiasi file system libero.

  • Il compilatore genera un AST dal codice sorgente, come una fase intermedia. Allora date un'occhiata alla fonte a qualsiasi compilatore gratuito.

Risposto il 03/03/2009 a 19:14
fonte dall'utente

voti
0

Usiamo una struttura ad albero per modellare un sistema di classificazione parte. Le parti sono classificati in 'classi' che hanno le classi genitore e così via. Le classi di primo livello di macchina il testo per schede in catalogo UI. Le classi sono utilizzati anche per applicare regole di pricing, di individuare 'punti caldi' su un veicolo in cui le parti vengono visualizzate in un 'configuratore', ecc modellare l'albero in SQL utilizzando set nidificati di Joe Celko e caricarli on-demand in memoria per una migliore prestazione. Le query più comuni che facciamo sono 'chi sono i miei discendenti' e 'è questa classe di un mio antenato?'

Molto maneggevole

Risposto il 03/03/2009 a 19:19
fonte dall'utente

voti
3

funzionalità di completamento automatico del software (ad es. motore di ricerca "suggerimenti", IDE completamento tipo / simbolo, i nomi di posta elettronica e rubrica, ecc) sono spesso implementati come tentativi, che sono strutture ad albero.

Risposto il 03/03/2009 a 21:31
fonte dall'utente

voti
0

C'è un Treap implementata in ActionScript. fonti:

La Treap fa parte del quadro AS3Commons Collezioni . Un Treap modificato viene utilizzato per eseguire le collezioni SortedSet e SortedMap inclusi.

Risposto il 05/02/2010 a 09:36
fonte dall'utente

voti
0

Classificazione degli oggetti in generale, è molto spesso fatto usando alberi. E molto spesso, un grafico che sarebbe molto più adatto di un albero, ma un albero offre due grandi vantaggi su un grafico:

  • Esso può essere rappresentato come un elenco (nested). Ad esempio, è molto più facile per mostrare un grande albero su carta (con i titoli, sottotitoli, paragrafi e liste nidificate) o sullo schermo del computer di un grafico.
  • Si può puntare a un elemento nella struttura utilizzando una stringa di percorso semplice (o una pila), ad esempio "http / StackOverflow.com / Users / Dimitri C", qualcosa che è molto più difficile da fare in un grafico.
Risposto il 05/02/2010 a 09:43
fonte dall'utente

voti
0

Mettiti come la radice di albero e ora fare i tuoi genitori come figli di albero e dei genitori dei genitori come i loro figli di albero e questo può fare un caso di albero pieno uso.

Così attuazione qualcosa in cui la gerarchia completa di famiglia richiedono è possibile utilizzare l'albero di attuare tale.

Risposto il 29/04/2018 a 17:48
fonte dall'utente

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