How do I develop an algorithm?

What are some well developed lists of problems to help beginners develop both coding and algorithm building skills?

  • I am looking for a set of problems that help me develop abilities to write code for algorithms which are not too involved with Mathematics. I have gone through codechef, spoj, project euler but all is dominated by mathematics, efficiency and complexity. Do we have some set of problems that give me a basic feel of coding first. I am keen to start off with C/C++ languages.

  • Answer:

    Try Topcoder div2 250 problems, most of them are just coding, no math involved.

Chakradar Raju at Quora Visit the source

Was this solution helpful to you?

Other answers

"Write code for algorithms" kinda doesn't make sense. But let me try: try digesting and implementing various sorting algorithms (Bubble, Heap, Etc.) and graph algorithms (DFS, BFS, shortest path). Understand exactly why they work and get to know big O notation (aka, worst case runtime). Understand how a Linked List vs an Array List can effect the runtime of a sort or any algo. As for actual code: design patterns!!!! By the Gang Of Four

Christian Bongiorno

I would suggest you to start solving div 2 A problems Here is the list of problems:- http://ahmed-aly.com/Contest.jsp?ID=4583 Just click on the problem link and the following question link will get opened in codeforces ,best wishes.

Swapnil Joshi

Start Coding Basic Data Structures First. Some of them being- Trees(AVL ,Red-Black,Balanced-Binary ), Stack, Queues, Graphs, Heaps , etc. Once you are through these, code standard algorithms that involve graphs and trees. Moving Forward, go through Programming paradigms such as Dynamic Programming, Backtracking, Greedy, etc. Code some problems, easy ones , in each paradigm. NOTE- Some of the problems would overlap in one of the above categories.

Priyanshu Singh

Related Q & A:

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.