Abstract
This paper presents an efficient linear-time sequential algorithm for constructing Hamiltonian paths between two given vertices in meshes with horizontal size m and vertical size n. The algorithm first partitions the given mesh into a number of submeshes in constant steps, and then constructs a Hamiltonian cycle or path in each submesh and combines them together to become a complete Hamiltonian path in mn steps. Our algorithm has improved the previous algorithm by reducing the number of partition steps from O(m + n) to only a constant. Moreover, we show that our algorithm can be optimally parallelized to obtain a constant-time parallel algorithm on the weakest parallel machine without need of inter-processor communication, while this cannot be achieved for the previous algorithm.
Original language | English |
---|---|
Pages (from-to) | 1293-1305 |
Number of pages | 13 |
Journal | Parallel Computing |
Volume | 28 |
Issue number | 9 |
DOIs | |
Publication status | Published - Sept 2002 |
Externally published | Yes |
Keywords
- Hamiltonian paths
- Meshes
- Performance evaluation
- Sequential and parallel algorithms