Abstract
As the memory access time becomes slower relative to the fast processor speed, most systems use cache memory to reduce the gap. The cache performance has an increasingly large impact on the performance of algorithms. Blocking is the well known method to utilize cache and has shown good results in multiplying matrices and search trees like d-heap. But if we use blocking in the data structures which require rotation during insertion or deletion, the execution time increases as the data movements between blocks are necessary. In this paper, we have proposed the extended pairing heap algorithms using block node and shown by experiments that our structure is superior Also in case of using block node, we use less memory space as the number of pointers decreases.
빠른 프로세서 속도에 비해 메모리 접근(access)하는 시간이 상대적으로 느려짐에 따라, 대부분의 시스템은 격차를 줄이기 위하여 캐쉬(cache)라는 매우 타른 메모리를 사용하고 있으며 캐쉬 메모리를 얼마나 효과적으로 사용하는 가 하는 문제는 알고리즘의 성능에 있어서도 결정적인 영향을 미치게 된다. 블록을 사용하는 방법은 캐쉬의 효율성을 향상시키는 방법으로 잘 알려져 있으며 행렬곱셈이나 d-heap과 같은 탐색트리에 사용되어 좋은 결과를 내고 있다. 그러나 삽입과 삭제 연산시 트리의 회전(rotation)이 필요한 자료구조에서는 블록을 사용하면 블록사이에 데이터의 이동이 필요해서 실행시간이 증가하게 된다. 본 논문에서는 블록을 사용하는 pairing heap에서 개선된 삽입과 삭제 알고리즘을 제안하였고 실험을 통해 우수성을 입증하였다. 또 블록을 사용하는 경우 여러 개의 데이터를 한 블록에 저장하므로 포인터의 개수가 줄어들게 되어 메모리를 적게 사용하게 된다.