Jump to content

Doubly logarithmic tree

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by ChrisGualtieri (talk | contribs) at 01:46, 8 August 2012 (Typo fixing, typos fixed: et al → et al. using AWB). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer science a doubly logarithmic tree is a tree where each internal node of height 1 has two children, and each internal node of height has children. Each child of the root contains leaves. The number of children at a node as we go from leaf to root is 0,2,2,4,16, 256, 65536, ... (sequence A001146 in the OEIS)

A similar tree called a k-merger is used in Prokop et al.'s cache oblivious Funnelsort to merge elements.

Notes

References

  • Berkman, Omer; Schieber, Baruch; Vishkin, Uzi (1993), "Optimal doubly logarithmic parallel algorithms based on finding all nearest smaller values", Journal of Algorithms, 14 (3): 344–370, doi:10.1006/jagm.1993.1018.
  • Harald Prokop. Cache-Oblivious Algorithms. Masters thesis, MIT. 1999.
  • M. Frigo, C.E. Leiserson, H. Prokop, and S. Ramachandran. Cache-oblivious algorithms. In Proceedings of the 40th IEEE Symposium on Foundations of Computer Science (FOCS 99), p.285-297. 1999. Extended abstract at IEEE, at Citeseer.
  • Erik Demaine. Review of the Cache-Oblivious Sorting. Notes for MIT Computer Science 6.897: Advanced Data Structures.