What homework is for
Algorithm design and analysis is a skill that can only be developed through practice and feedback, just like cooking or basketball or integration or gardening or interviewing or teaching. Yes, there are several things that are useful to know and understand, but that knowledge and understanding is not enough. That comfortable feeling of "Oh, sure, I get it" when you follow a well-presented lecture or hear a TA carefully explain the solution to a homework problem is a seductive, dangerous trap. You can only learn to do the thing by actually doing the thing.
The homework is your opportunity to practice doing the thing. The lectures and textbook and office hours hopefully provide good intuition and motivation and justification for the skills we want you to develop, but the best way to develop those skills is by trying to solve the problems yourself. The practice is far more important than the solution.
Because the homework is intended to help you develop new skills, you are likely to get stuck; for some problems, you may have no idea how to even start. And that's okay. That's why we have a textbook and lecture videos and Discord and a library and Wikipedia; helping you get unstuck is part of our job. That's why we encourage students to work together; not so that you can share solutions, but so that you can share ideas and suggestions and feedback.
Similarly, you won't necessarily develop a complete solution to every homework problem yourself, and you may not be able to tell at first which parts of your final submitted solution are correct. And that's also okay. That's why we provide homework solutions—not just to show you the answer, but to help you see your own work more clearly. That's why we grade your homework submissions—not to give you points, but to give you feedback to help you improve.
To get the most out of any particular homework problem, it's important not just to aim for a solution to that specific problem, but to pay attention to how you're solving it. Every problem is an opportunity to practice that kind of problem; every solution is an example of that kind of solution. That goes for exams, too. And technical interviews. And research.
It's also important to aim for improvement—not perfection (which is impossible), not being better than other people (which can be toxic), but doing the thing better than you did yesterday, every day.
In practice, course grades in 473 are determined almost entirely by exams, which ask you to demonstrate the skills that the homework is meant to develop; homework scores have minimal impact. (In a typical semester, the median homework average is around 90%.) So even if your goal is to optimize your course grade, practicing with the homework problems—developing both your skill and your confidence in that skill—is more important than getting the right answers.