Design an algorithm to assemble a jigsaw puzzle