摘要
给出n×n网孔环接式阵列处理机上的一种并行排序算法,它将n×n阵列上的数据折叠成n×n/k子阵列,排序后再展开到整个n×n阵列上,实现n×n项数据的行主序排序,其平均时间复杂度为(2+1/k)n+o(n).若采用n×n/k阵列模型,且各处理器初始、结束状态允许有k项数据时,该算法的平均时间复杂度只有(1+2/k)n+o(n).
In this paper, we give a parallel sorting algorithm on mesh connected array processors with wraparound connections(i.e.torus). By folding data from an n×n mesh onto an n×n/k submesh, sorting, and finally unfolding back onto the entire n×n mesh, this algorithm sorts n 2 random input data items on torus into row major order in (2+1/k)n+o(n) average steps. In addition, if n×n/k mesh is used, with queue size of k, this algorithm takes (1+2/k)n+o(n) steps only.
出处
《北方交通大学学报》
CSCD
北大核心
1998年第2期81-88,共8页
Journal of Northern Jiaotong University
关键词
网孔环接式
阵列处理机
并行排序算法
折叠
展开
Mesh connected torus array processor parallel sorting algorithm folding unfolding average time complexity