Efficient Algorithms for Cell Placement