Stavo esaminando alcune delle complessit'a degli algoritmi di Big-O generali per diverse strutture di dati e mi chiedevo quale sarebbe stato il ArrayList di Java .
Dato che tendo a default a ArrayList nel mio codice Java quando ho bisogno di un List ( a meno che non sappia di aver bisogno di qualche funzionalità aggiuntiva ), mi chiedevo quali vantaggi ci sarebbero stati se invece ho usato un'implementazione ( presumo ben implementata ) di un albero rosso-nero.
Poiché ArrayList è supportato da Array , suppongo che sia considerato come Array o Singly-Linked List in base al sito Web collegato. Se ciò è vero, sembrerebbe che un'implementazione Albero rosso-nero possa utilizzare una struttura dati "predefinita" migliore.
Quali sarebbero i vantaggi / svantaggi dell'utilizzo di un albero rosso-nero al posto di ArrayList? ( e una domanda secondaria di accompagnamento, che cosa sarebbe ArrayList da prendere in considerazione nel Algorithm Complexities sito web? )