5 research outputs found

    Cache-oblivious priority queue and graph algorithm applications

    No full text
    In this paper we develop an optimal cache-oblivious priority queue data structure, supporting insertion, deletion, and deletemin operations in O ( 1 B logM/B N) amortized memory B transfers, where M and B are the memory and block transfer sizes of any two consecutive levels of a multilevel memory hierarchy. In a cache-oblivious data structure, M and B are not used in the description of the structure. The bounds match the bounds of several previously developed external-memory (cache-aware) priority queue data structures, which all rely crucially on knowledge about M and B. Priority queues are a critical component in many of the best known external-memory graph algorithms, and using our cache-oblivious priority queue we develop several cacheoblivious graph algorithms

    An Optimal Cache-Oblivious Priority Queue and its Application to Graph Algorithms

    No full text
    We develop an optimal cache-oblivious priority queue data structure, supporting insertion, deletion, and delete-min operations in O(1BlogM/BNB)O(\frac{1}{B}\log_{M/B}\frac{N}{B}) amortized memory transfers, where MM and BB are the memory and block transfer sizes of any two consecutive levels of a multilevel memory hierarchy. In a cache-oblivious data structure, MM and BB are not used in the description of the structure. Our structure is as efficient as several previously developed external memory (cache-aware) priority queue data structures, which all rely crucially on knowledge about MM and BB. Priority queues are a critical component in many of the best known external memory graph algorithms, and using our cache-oblivious priority queue we develop several cache-oblivious graph algorithms
    corecore