Diciamo che abbiamo a che fare con i tasti 1-15. Per ottenere le peggiori prestazioni di un BST normale, inserire le chiavi in ordine crescente o decrescente come segue:Ordine di inserimento nel caso peggiore altezza nera di un albero nero rosso
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Quindi il BST sarebbe essenzialmente diventato un elenco collegato.
Per il caso migliore di un BST si inseriscono le chiavi nel seguente ordine, sono disposte in modo che la chiave successiva inserita sia la metà dell'intervallo totale da inserire, quindi il primo è 15/2 = 8, quindi 8/2 = 4 ecc ...
8, 4, 12, 2, 6, 10, 14, 1, 3, 5, 7, 9, 11, 13, 15
poi il BST sarebbe un albero ben bilanciato con altezza ottimale 3.
Il caso migliore per un albero nero rosso può anche essere costruito con il caso migliore da un BST. Ma come possiamo costruire il caso peggiore per un albero nero rosso? È lo stesso del caso peggiore per un BST? C'è uno schema specifico che produrrà il caso peggiore?
Ehi questa è una bella domanda, penso. E sono particolarmente interessato a conoscere la risposta. Forse le persone al cstheory stackexchange possono aiutare qui. Quindi se puoi postarlo lì? – sukunrt
Mi sono imbattuto in questo documento: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.16.66458 – sukunrt
Potresti chiarire "metà dell'intervallo totale da inserire"? Solo curioso, e non riuscivo a capirlo – keyser