So che c'è un caricamento di massa in albero b +. Volevo solo sapere se esiste un algoritmo per il caricamento di massa in B-Tree. Ad esempio, data una serie di dati qual è il modo migliore per creare un B-Tree?Esiste un algoritmo per il caricamento di massa in B-Tree?
risposta
In realtà la risposta è sì.
La differenza principale tra B + -trees e B-tree semplici è che i valori sono effettivamente memorizzati nelle foglie per il primo, mentre in seguito troverete valori in ogni nodo. Quindi, gli elementi B + consentono di archiviare i dati in modo quasi continuo, ciascuna foglia contenente una porzione contigua di tutti i dati ordinati. Questo non può essere vero per gli alberi B: un nodo interno conterrà diversi elementi, ma non saranno conttui. l'intero set di dati ordinato.
Questa proprietà è essenziale per il caricamento di massa: il processo funziona su un set di dati già ordinato tagliandolo negli array che formeranno le foglie dell'albero B +. Quindi per un B-tree sembra che non possa funzionare.
Se siamo in grado di ordinare i dati in un modo che raggruppa elementi interni nodi, allora il problema è risolto. Per fare ciò, è necessario sapere in anticipo come saranno raggruppati gli elementi. Questo risulta essere possibile.
Chiamiamo o
(ordine) il numero minimo di figli in un nodo (che è coerente con la definizione originale di un albero B). Consideriamo che il nodo radice sia nello stadio più alto dell'albero e le foglie siano al livello più basso (fase 0). Per un albero ben equilibrato, tutte le foglie saranno effettivamente allo stesso livello.
La fase k dell'albero raggruppa elementi distanziati di almeno o
elementi nello stage k-1. Dopo un ordinamento iniziale, dobbiamo estrarre elementi dall'array ordinato, che costituisce lo stage 0, e raggrupparli in una matrice diversa per costruire lo stage 1, quindi farlo di nuovo con quell'array in un nuovo array per lo stage 2 e ripetere il processo fino a quando non ci sono meno di o
elementi nell'array più recente, che sarà la fase principale. Da allora in poi, è possibile costruire l'albero direttamente dal pacchetto di stadi:
- diviso ogni fase in matrici di
o
elementi, - array indice generazione per collegare i nodi di sottonodi
- costruire ciascun nodo come la coppia di array di indice corrispondente * matrice di valori
L'albero risultante non sarà necessariamente ben bilanciato. Dipende dal numero di voci nel set di dati e da o
. Dovrebbe essere possibile regolare l'intervallo utilizzato nella costruzione degli stage per avere un albero distribuito migliore.
Tutto sommato il lavoro necessario per caricare in serie un B-tree è più noioso che per B + -tree, ma è possibile.
- 1. caricamento di massa (troncamento)
- 2. Nexus supporta il caricamento di massa di artefatti?
- 3. Esiste un nome per questo algoritmo?
- 4. vantaggio di BTREE?
- 5. Non hai il permesso di utilizzare l'istruzione caricamento di massa
- 6. Esiste un algoritmo per il voto anonimo, modificabile e sicuro?
- 7. Sql Inserimento di massa - Il file non esiste
- 8. Errore MySQL UTILIZZO BTREE
- 9. Esiste un algoritmo per convertire video 2D in video 3D?
- 10. Esiste un algoritmo per lo spostamento di intervalli?
- 11. Esiste un algoritmo di "ordinamento binario"?
- 12. Caricamento di massa di molti file di testo su MediaWiki
- 13. Un problema particolare con l'inserimento btree
- 14. Esiste un algoritmo O (n) per costruire un max-heap?
- 15. Algoritmo per simulare il daltonismo?
- 16. Esiste un codice o un algoritmo per il riconoscimento della firma?
- 17. algoritmo per trovare il più grande calo in un array
- 18. C# Inserimento di massa SqlBulkCopy - Update se esiste
- 19. Esiste un algoritmo per convertire le rotazioni di quaternioni in rotazioni di Eulero?
- 20. Esiste un algoritmo di garbage collection che soddisfi questi requisiti?
- 21. Esiste un algoritmo Objective-C come `transform` di C++ STL?
- 22. Esiste un algoritmo O (n) per generare un array senza prefisso per un array intero positivo?
- 23. Esiste un algoritmo di ellisse al punto medio?
- 24. Esiste un algoritmo o una libreria in grado di rilevare il mosso delle immagini?
- 25. Algoritmo per determinare il tasso di cambio
- 26. Esiste un nome per questo algoritmo di campionamento utilizzato in Minicraft?
- 27. Ricerca stringa di massa ad alte prestazioni in Python
- 28. Multithreading di un file di massa leggere
- 29. Esiste un server FTP pubblico per testare il caricamento e il download?
- 30. Disabilita tutto il caricamento pigro o forza il caricamento di carico per un contesto LINQ