- Trending Categories
- Data Structure
- Operating System
- MS Excel
- C Programming
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Dynamic Finger Search Trees in Data Structure
- A dynamic finger search data structure should in addition to finger searches also perform the insertion and deletion of elements at a position given by a finger.
- Finger search trees is defined as a variant of B-trees supporting finger searches in O(log d) time and updates in O(1) time, assuming that only O(1) moveable fingers are maintained.
- Traversing a finger d positions requires O(log d) time.
- The finger search trees (that means AVL-trees, red-black trees) constructions either consider a fixed constant number of fingers or only support updates in amortized constant time.
- Constructions supporting an arbitrary number of fingers and with worst case update have been created.
- A search tree that supported updates at an arbitrary position in worst case O(1) time, but only supports searches in O(log n) time.
- Constructions supporting O(log d) time searches and O(log d n) time insertions and deletions.
- Finger search trees consume worst-case constant time insertions and O(log d n) time deletions.
- According to a space efficient alternative solution to the level linked (2,4)- trees, a single finger is allowed, that can be proceeded by the same performance cost as (2,4)-trees. In the solution no level links and parent pointers are needed, instead a special O(log n) space data structure, hand, is created for the finger that allows the finger to be traversed efficiently.
- Splay trees are defined as a class of self-adjusting binary search trees supporting searches, insertions and deletions in amortized O(log n) time. That splay trees can be implemented as efficient finger search trees.
- Given an O(n) initialization cost, the amortized cost of an access at distance d from the previous access in a splay tree is O(log d) where accesses consist of searches, insertions, and deletions.
- Notice that the statement only implements in the presence of one finger, which always points to the last accessed element.
- All the above mentioned constructions can be applied on a pointer machine where the only operation allowed on elements is the comparison of two elements.
- For the Random Access Machine model of computation (RAM), a finger search tree is developed with constant update time and O(log d) search time. This result is achieved by tabulating small tree structures, but only performs the comparison of elements.
- Related Articles
- Randomized Finger Search Trees in Data Structure
- Comparison of Search Trees in Data Structure
- Balanced binary search trees in Data Structure
- Finger Searching in Data Structure
- Static Finger Theorem in Data Structure
- Range Trees in Data Structure
- BSP Trees in Data Structure
- Huffman Trees in Data Structure
- Splay trees in Data Structure
- Solid Trees in Data Structure
- R-trees in Data Structure
- Interval Trees in Data Structure
- Segment Trees in Data Structure
- Tournament Trees, Winner Trees and Loser Trees in Data Structure
- Optimal Lopsided Trees in Data Structure