Greedy sparse recovery algorithms: from weighted generalizations to deep unrolling