5 Websites to get Better at Data Structures & Algorithms (DSA)
Photo by ThisisEngineering RAEng on Unsplash

5 Websites to get Better at Data Structures & Algorithms (DSA)

A Programmers’ guide to become better at Data Structures & Algorithms

A secret to being a good Programmer is the fact that you should be good at Data Structures, Algorithms and Problem Solving using code.

Most times your job will require you to use data structures to solve problems and write complex logic to get things done.

Being able to quickly think of a solution and write an algorithm can be really helpful when designing or building applications in the real-world.

In this blog, I have summarized just a few sites which can help you get better by learning Data Structures and Algorithms from scratch.

1. HackerRank

No alt text provided for this image
HackerRank.com

HackerRank is a great website to get you started with coding problems. If you’re a Beginner and have good hold on a programming language you can start by solving questions on HackerRank.

Questions are categorized as Easy, Medium and Hard, making it easy for you to sort and solve questions by Difficulty. You can also choose topics which you want to solve questions from whether it be, Arrays, Strings, Dynamic Programming, Graphs, Bit Manipulation, Greedy, etc.

Apart from that there are language-specific tracks as well that you can practice from. HackerRank is a good site for Beginners who want to try their hands at DSA after learning a language.

2. GeeksforGeeks

No alt text provided for this image
GeeksForGeeks.com


GeeksForGeeks or GFG is the first site to pop-up in your google-search to learn anything related to Tech. It is an excellent resource with great tutorials and explanation for any topic or algorithm.

GFG has a dedicated practicing platform where people can go and practice problems by sorting them by Company Name and difficulty. With each problem you have dedicated tutorials in-case you are unable to solve the problem or need help.

Also you have a section for interview experiences on GFG that you may find extremely helpful if you are preparing for interviews for any of the tech companies around the globe. All-in-all it is a great site to start practicing and get better at coding, system-design and almost anything in tech.

3. Leetcode

No alt text provided for this image
Leetcode.com

Leetcode is the holy-grail for coding interviews. If you stick with Leetcode for coding interviews it is bound to pay great dividends.

For Beginners, Leetcode can be a bit harder as compared to previous two websites. So my advice is start with solving problems on HackerRank and once you think you are up for the challenge, start with Leetcode Easy. Slowly progress from Easy to Medium and then to Medium to Hard.

Don’t jump directly to Hard problems, you will definitely have a hard time understanding and would give up eventually. Leetcode too has a good discussion forum for solutions and interview experiences section.

Along with it they have Biweekly (on Saturday) and Weekly (on Sunday) coding challenges wherein you can participate and compete with people around the globe.

4. CodeChef

No alt text provided for this image
CodeChef.com

CodeChef is a great platform to get better at both DSA and Competitive programming. They have excellent tutorials and forums to learn & get good at programming.

Along with it they have a practice section where you can solve questions based on number of submissions and difficulty. Each user has a star rating, which they can increase by participating and doing well in their contests (coding challenges).

My personal use of CodeChef has been very limited but I would strongly recommend it to anyone starting out with programming. A good grip with Competitive programming can go a long way.

5. Codeforces

No alt text provided for this image
CodeForces.com

Codeforces, just like CodeChef is mostly used for Competitive programming. Codeforces has an active community of programmers with great discussion forums.

It has a ProblemSet section where you can solve problems that have been asked in previous contests and sort them according to difficulty and number of submissions.

Once you are confident, you can start giving contests on Codeforces. Contests are divided into different divisions: Div1, Div2, Div3 and Div4, Div1 being the hardest and Div4 being the easiest one.

So basically each user has a rating assigned to them and based on their rating a person can participate in specific contests. Once you start performing well and your ratings improve, you are allowed to give contests in lower divisions.

I have used Codeforces very sparingly. But online, you can find guidance on how to go about using Codeforces and how to get started with giving contests.

Bonus: Codewars

No alt text provided for this image
CodeWars.com

Unlike above sites, Codewars is a bit different. In Codewars everything is gamified and a lot more fun. CodeWars contains coding challenges called Kata and each time you solve a Kata, you earn ranks and honor.

The developer community at Codewars is a bit small compared to others but it is helpful nonetheless. CodeWars was the first programming platform that I started my coding journey with.

So, I learned JavaScript and Python from Codecademy and started doing Codewars. If you’re a beginner, CodeWars is a good platform to start. Also if you using some unconventional language (like Go, JS), you can find problems specifically designed for these languages as well.


So that’s it folks, I hope this list helps you in developing the problem-solving skills needed to become great at programming. Now go on and start grinding!

要查看或添加评论,请登录

Afroz Chakure的更多文章

  • The Scripted rise of Crybaby Politicians

    The Scripted rise of Crybaby Politicians

    How They Avoid Accountability While Selling the Nation The age of accountability in politics is dead. Gone are the days…

  • Why it's all Smoke and Mirrors

    Why it's all Smoke and Mirrors

    The Manufactured Hype Politics is no longer about governance; it’s about 'The Performance'. Today’s leaders are less…

  • The World is So Fickle!

    The World is So Fickle!

    How Money and Power Bend our Institutions and Democracy Once upon a time, we believed that institutions existed to…

  • The 'Rockefeller' of Mukesh Ambani

    The 'Rockefeller' of Mukesh Ambani

    How One Man Monopolized India's Key Sectors Picture this: You're playing a board game where one player—let’s call him…

  • How Indian News Channels Are Killing Indian Democracy

    How Indian News Channels Are Killing Indian Democracy

    Lying with a Straight Face The fourth pillar of democracy is now a wrecking ball, smashing truth into pieces and…

  • Why Nehru's need for an Opposition created Monsters disguised as Politicians

    Why Nehru's need for an Opposition created Monsters disguised as Politicians

    India, at the time of its independence, was a country filled with hope. Jawaharlal Nehru, the first Prime Minister, not…

  • Finding the Achilles' Heel - How to Take Down Authoritarian Regimes?

    Finding the Achilles' Heel - How to Take Down Authoritarian Regimes?

    Lessons From History’s Brave Rebels Who Fought Tyranny With Creativity What is an Achilles' heel? In Greek mythology…

  • Lessons from the Ku Klux Klan (KKK) and Stetson Kennedy

    Lessons from the Ku Klux Klan (KKK) and Stetson Kennedy

    Disrupting Racist Secret Societies The second chapter of Freakonomics by Stephen J. Dubner and Steven Levitt dives into…

  • The Nuremberg Trials of 1945

    The Nuremberg Trials of 1945

    A Monument to Justice and Lessons from History The Nuremberg Trials stand as a pivotal moment in the pursuit of…

  • The Indian Nightmare

    The Indian Nightmare

    Are We Killing the 'Indian Dream’? From birth, many of us in India grow up with the belief that three basic necessities…

    1 条评论

社区洞察