Már kódoló egy csomó különböző bináris keresési fa megvalósítások közelmúltban (AVL, ferde, treap) és kíváncsi vagyok, ha van egy különösen „jó” módszer egy bejáró bejárására ezeket a struktúrákat. A megoldás, amit használni most az, hogy minden egyes csomóponthoz a BST boltban mutató a következő és az előző elem a fa, amely csökkenti iteráció standard kapcsolt lista iteráció. Azonban nem igazán vagyok elégedett a válasszal. Ez növeli a tér használata egyes csomópontok két pointert (előző és következő), és bizonyos értelemben ez csak csalás.
Tudok egy utat az épület egy bináris keresési fa bejáró, amely O (h) kiegészítő tárhely (ahol h a fa magasságát) segítségével egy köteg nyomon követni a határ csomópontok, hogy vizsgálja meg később, de én ve ellenállt kódolás ezt fel, mert a memória használat. Reméltem van valami módja annak, hogy építsenek egy bejáró, amely csak állandó helyet.
A kérdésem a következő - van úgy, hogy tervezzen egy bejáró felett bináris kereső fába, az alábbi tulajdonságokkal?
- Elemek látogatott növekvő sorrendben (azaz inorder bejárása)
next()éshasNext()lekérdezések futnak O (1) idő.- Memóriahasználata O (1)
Hogy könnyebb, ez rendben van, ha feltételezzük, hogy a fa struktúra nem változik alakja alatt az iterációs (azaz nincs, -extenziók vagy forgatások), de ez lenne igazán jó, ha van egy megoldás, amely valóban képes kezelni ezt.













