( BaT | 2016. 01. 09., szo – 17:29 )

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.