Whenever I learn a new algorithm or data structure, I always spend a lot of time finding problems related to that specific topic from previous contests on Codeforces or some good Competitive Programming Website. Many people told me to use Codeforces tags. Still, I feel that they are too many problems that will blow up your mind, or you might end up solving a similar type of problem-based on a topic(algorithm or data structure) which means you are not learning anything new and is counterproductive.
After a year of extensive search, I have found out 5 good resources which solve this problem. --------------- 1) Competitive Programming 4: This is a book with 2 parts, which has good handpicked problems from UVa OJ, Kattis, previous year ICPCs and IOIs problems. As of today, this book doesn't have a soft copy, but the author says that they will make it available sometime in the second half of 2021. But still, the Hard Copy of this book has reasonable pricing, and the value of this book is way more than its cost. I love this book, but I don't recommend this book to someone new to programming and who don't have a good knowledge of data structure and algorithms; it is one of this book's prerequisites. If you can do the first couple of problems in div 2 on Codeforces and have a decent knowledge of Data Structure and algorithms(not necessarily advanced ones), then go ahead; this book is completely for you. You can get a hard copy from cpbook.net.
2)Problem Sets from progvar.fun: This website contains problems for each topic from Codeforces, Codechef, Atocoder, UVa OJ, Spoj and Hacker Rank. This website has good content for beginners and experienced Competitive Programmers who want to solve problems based on a specific topic. We can sort problems based upon the number of people who solved the problem in the past. What I like most about this website is the number of problems per topic are not too many that we cannot solve all of them and just enough to get a grip on that particular topic. This is the website on which I solve most of the problems. Link to the website.
3) Morass Blog: This is a blog on codeforces with problems from UVa OJ, Spoj and Codeforces. What I feel about this resource is that problems here are difficult for people who just started solving problems on that topic. Problems are randomly arranged and not sorted in increasing order of difficulty. But if you have done some problems on a topic and need some difficult ones, this is the perfect place for you to find one. Link to blog.
4)A2Oj Categories: A2OJ is a famous website which is known for its ladders. Many people don't know that it also has topic wise problem sets from various famous OJs. The problem with this resource is that it has too many problems in some categories and very less in some others. Problems in this website are very old and less likely to be appearing in recent contests. Link to the website.
5)Code Digger Topicwise Ladders: This has problems mostly from Codeforces. The nice feature about this is that it doesn't let you see the next problem until you have solved the current one. I personally don't use this website for this purpose and don't know how reliable this resource is, but some of my friends use this website and told me this is also a good problem set to start from. I use this website mostly for its feature to accumulate unsolved problems from the contests we have attempted from various OJs and categorize those problems in different difficulty levels. Basically, for up solving.Link to the website.
How I use the above resources?
I first learn algorithm or Data Structure, or Technique from Youtube and Competitive programming book then implement it myself. Then I solve 2-3 problems which I randomly pick from the CP4 problems section. After solving problems from CP4, Next, I find the appropriate problem set from progvar.fun and solve all of them. If I feel confident in the topic and if I feel I need more difficult ones, then I move to Morass blog and pick D and above the level of codeforces problems and solve them. I use A2OJ categories whenever I need more problems and have already exhausted problems from the top 3 resources or when I need to revise a topic that I have not done in recent times.
That's it for today, and If there is another good resource for this purpose, please mention it in the comments so that the whole community can benefit. Sorry for the errors. I am bad at English.