Algorithms on lattices