Das Auftragspflegeproblem (oder "Auftrag in einer Liste pflegen") besteht darin, die folgenden Vorgänge zu unterstützen:
singleton
: Erstellt eine Liste mit einem Element und gibt einen Zeiger darauf zurückinsertAfter
: einen Zeiger auf ein Element gegeben, fügt ein neues Element danach ein und gibt einen Zeiger auf das neue Element zurückdelete
: Mit einem Zeiger auf ein Element wird es aus seiner Liste entferntminPointer
: Wenn Sie zwei Zeiger auf Elemente in derselben Liste geben, wird derjenige zurückgegeben, der sich näher am Anfang der Liste befindet
Ich kenne drei Lösungen für dieses Problem, die alle Operationen in amortisierter Zeit ausführen . Sie alle verwenden die Multiplikation.
- Athanasios K. Tsakalidis: Aufrechterhaltung der Ordnung in einer verallgemeinerten verknüpften Liste
- Dietz, P., D. Sleator, Zwei Algorithmen zur Aufrechterhaltung der Ordnung in einer Liste
- Michael A. Bender, Richard Cole, Erik D. Demaine, Martin Farach-Colton und Jack Zito, „Zwei vereinfachte Algorithmen zur Aufrechterhaltung der Ordnung in einer Liste“
Kann die Reihenfolge in einer Liste in amortisierter Zeit beibehalten werden, ohne dass arithmetische Operationen verwendet werden, die nicht in A C 0 sind ?
ds.data-structures
soft-question
pl.programming-languages
graph-theory
tree
cc.complexity-theory
pcp
co.combinatorics
cg.comp-geom
pr.probability
vc-dimension
cc.complexity-theory
complexity-classes
relativization
soft-question
advice-request
career
soft-question
research-practice
paper-review
journals
co.combinatorics
cc.complexity-theory
complexity-classes
pr.probability
average-case-complexity
cc.complexity-theory
lo.logic
descriptive-complexity
finite-model-theory
ds.algorithms
cc.complexity-theory
approximation-hardness
csp
pcp
cc.complexity-theory
circuit-complexity
Apfel
quelle
quelle
Antworten:
Ja!
Siehe auch Übung 8.12 aus offenen Datenstrukturen und Rouras "Eine neue Methode zum Ausgleichen von binären Suchbäumen" .
quelle