Computing Optimal Assignments in Linear Time for Graph Matching