<p>Most textbooks have some discussion of solved problems along with the theory. They also have exercises for the students and some provide solutions to (some of) the exercises. But they are designed for classroom use in which student work is given feedback by an instructor. It is that feedback that you are missing and it is both necessary and difficult to get for someone studying on their own. That is why self study can be far less useful and efficient than taking a course with a skilled instructor.</p>
<p>Note, importantly (importantly), that reading solutions isn't nearly the same thing as creating solutions. Learning (true learning) is an active sport, not a passive one. You can't learn this stuff any better than you can learn to swim by watching the olympics. But also note that those olympic swimmers worked with a coach to improve their form. They got feedback throughout their training.</p>
<p>Repetition and feedback are key to learning. If you can find a way to get that feedback you will progress much faster. One way that might be open to you if you can't take a course is to find someone else with similar interests. Then do the work and exchange papers, giving feedback to each other. It isn't perfect, but better than nothing.</p>
<p>And &quot;unsolved&quot; problems are unlikely to help you. A lot of people have probably been trying to solve them for a long time and they have already developed the necessary skills.</p>
<p>Failing everything else, find a good textbook and carefully read the text. Then attempt the exercises there, which are tailored to the textual development.</p>
<p>You can also write programs to implement the algorithms and instrument them to determine their behavior, though this, in itself, is a skill that needs to be learned. Count and report the important computations (tests, swaps, ...). Run on many data sets and evaluate the results to see if they match the theory. Much harder, actually, than just taking a course with a good instructor.</p>

CC BY-SA 4.0
2023-11-17T14:23:08.207Z
2023-11-17T14:23:08.207Z
Buffy
<p>How do I learn it? Watching lectures haven't been helping a lot. I want to solve &quot;solved problems&quot; but I'm not finding anything that has solved problems.</p>
<p>Please guide me. Complexity analysis of algorithms mean big oh, theta, omega... etc.</p>

CC BY-SA 4.0
2023-11-16T13:31:28.850Z
I'm confused -- are you finding *unsolved problems* instead?  It's been my experience that essentially every problem that you will find in any instructional resource is a solved problem.
Ben I.
CC BY-SA 4.0
2023-11-16T14:23:03.647Z
What sort of resources are you looking for? There are books with exercise, of course. Or are you just looking for problems with already published solutions?
Buffy
CC BY-SA 4.0
2023-11-16T15:00:37.533Z
I'm looking for problems with already published step by step solutions. Btw which one is more helpful?
achhainsan
CC BY-SA 4.0
2023-11-17T07:44:01.500Z
I think unsolved exercises could also help.
achhainsan
<algorithms>
Courses for understanding complexity analysis of algorithms
# Courses for understanding complexity analysis of algorithms

(Asked by: username_0 on 2023-11-16)

How do I learn it? Watching lectures haven't been helping a lot. I want to solve "solved problems" but I'm not finding anything that has solved problems.

Please guide me. Complexity analysis of algorithms mean big oh, theta, omega... etc.

**Tags:** algorithms

> **Comments:**
> **username_1**: I'm confused -- are you finding *unsolved problems* instead?  It's been my experience that essentially every problem that you will find in any instructional resource is a solved problem.  
> **username_2**: What sort of resources are you looking for? There are books with exercise, of course. Or are you just looking for problems with already published solutions?  
> **username_0**: I'm looking for problems with already published step by step solutions. Btw which one is more helpful?  
> **username_0**: I think unsolved exercises could also help.  

---

## 1 answers

### Answer by username_2 on 2023-11-17. Score: 2 | Accepted answer

Most textbooks have some discussion of solved problems along with the theory. They also have exercises for the students and some provide solutions to (some of) the exercises. But they are designed for classroom use in which student work is given feedback by an instructor. It is that feedback that you are missing and it is both necessary and difficult to get for someone studying on their own. That is why self study can be far less useful and efficient than taking a course with a skilled instructor.

Note, importantly (importantly), that reading solutions isn't nearly the same thing as creating solutions. Learning (true learning) is an active sport, not a passive one. You can't learn this stuff any better than you can learn to swim by watching the olympics. But also note that those olympic swimmers worked with a coach to improve their form. They got feedback throughout their training.

Repetition and feedback are key to learning. If you can find a way to get that feedback you will progress much faster. One way that might be open to you if you can't take a course is to find someone else with similar interests. Then do the work and exchange papers, giving feedback to each other. It isn't perfect, but better than nothing.

And "unsolved" problems are unlikely to help you. A lot of people have probably been trying to solve them for a long time and they have already developed the necessary skills.

Failing everything else, find a good textbook and carefully read the text. Then attempt the exercises there, which are tailored to the textual development.

You can also write programs to implement the algorithms and instrument them to determine their behavior, though this, in itself, is a skill that needs to be learned. Count and report the important computations (tests, swaps, ...). Run on many data sets and evaluate the results to see if they match the theory. Much harder, actually, than just taking a course with a good instructor.


---

