B堆(英語:B-heap)是一个用来保证子树在一个内存页的二叉堆。这样可以在使用虚拟内存时减少访问很大堆时内存页的访问。传统的实现中,元素位置的映射(几乎)每一级都放在不同的内存页中。 也有其他非常高效实用虚拟内存和缓存的堆的变种,例如缓存忽略算法(英语:cache-oblivious algorithms)、k堆、[1]和van Emde Boas树(英语:Van Emde Boas tree)。[2] 参见 D叉堆(英语:D-ary heap) 参考文献 [1]Naor, Dalit; Martel, Charles U.; Matloff, Norman S. Performance of Priority Queue Structures in a Virtual Memory Environment. Comput. J. 1991, 34 (5): 428–437. doi:10.1093/comjnl/34.5.428. [2]van Emde Boas, P.; Kaas, R.; Zijlstra, E. Design and implementation of an efficient priority queue. Mathematical Systems Theory. 1976, 10: 99–127. doi:10.1007/BF01683268.[失效連結] 外部链接 实现: https://archive.today/20130416023425/http://www.varnish-cache.org/trac/browser/lib/libvarnish/binary_heap.c and http://phk.freebsd.dk/B-Heap/binheap.c(页面存档备份,存于互联网档案馆) Generic heap implementation with B-heap support(页面存档备份,存于互联网档案馆). 更多参见:van Emde Boas layouts see Benjamin Sach Descent into Cache-Oblivion(页面存档备份,存于互联网档案馆) or Cache-oblivious data structures(页面存档备份,存于互联网档案馆).这是一篇電腦科學小作品。您可以通过编辑或修订扩充其内容。查论编Wikiwand - on Seamless Wikipedia browsing. On steroids.