Egy számnál nincs is előnye, akkor a fa mint láncolt lista viselkedik, a pointerek miatt ezért többet foglal, mintha tömbben tárolnád. Az előnye akkor jön ki, amikor már viszonylag sok számod van, és a számok között gyakori, hogy azonos prefixszel rendelkeznek. Pl. ha magyarországi mobilszámaid vannak: +36201234567, +36207654321, +36301234567, akkor a fa valahogy így néz ki:
3-6-2-0-1-2-3-4-5-6-7
| |
| +-7-6-5-4-3-2-1
|
+-3-0-1-2-3-4-5-6-7
Ezzel megspóroltad 6 digit tárolását.
A bináris adatstruktúrát hozzá még nem találtam ki, de érdekel a probléma, agyalok rajta. :) De alapvetően ha egy számot el kell távolítani, akkor meg kell keresni azt a pointert, ami már egyértelműen azonosítja a számot (pl. a fenti példában a 2. szám esetén a 0 -> 7 pointer) és azt eltávolítani, illetve a többi digit helyét üres memóriaként kezelni.