Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I am in a quest of understanding majority of important algorithm that SO community has used in read world applciations. I know a ready list can be extracted from wiki page. But, i am interested only those algorithm or problem that community has faced either in their projects or asked in interviews. Few lines on that algorithm will also be helpful.
I am looking beyond the generic algorithm D&C, DP, Greedy...
If you are interesting about optimization problems which can be used any computer applications such as network and socket programming these could be useful for you;
NearbyNeighbour
Munkres
Hungarian
BruteForce
Min&Max Finding Algorithms
Ant and Bee Colonies Algorithms
General Genetic Algorithm etc.
I totally advice you to search all aboves but genetic algorithms and ant colonies algorithm are asked many interviewers.
I hope that helps.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I'm mainly a selftought I started studying computer science half a year ago.
Before studying, I genneraly just tried to think of an algorithm to do the tasks I needed to be done - with sorting algorithms for example this was quite easy (they might not have been super efficient, but they did good enough). But sometimes I really struggled to come up with algorithms for quite typical problems:
One example for this is triangulation.
The problem is: I didn't know it was called like that. Quite a few hours later I finally found out about delauney triangulation, and all my problems where immediately solved.
Also in computer science I'm learning about a lot of specific algorithms, but my question is:
Is there a way to learn about all these "important" algorithms, maybe by type or something simular? Or is the only good way to keep studying and hope they come my way at some point?
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I am a novice to algorithms and data structures. I recently started participating on codeforces and spoj etc.for solving questions i need to study dp,greedy algorithms,graph algorithms,data structures.what should be my strategy for studying or rather sequence and what data structures i need to know for competitive programming?
All in all there shouldnt be an "optimal" sequence. Its all about understanding the topic. Since not two people can learn with the same speed, there shouldnt be something like an "optimal" sequence. But its good to learn basic approaches of each topic.
There are alot Tutorials out there, which explains the most fundamental thing in any topic. E.g. Youtube covers most graph problems. Even DP and so can be found there. Especially on Topcoder Tutorials there is alot you can learn.
On the other hand you will learn nearly nothing, if u dont have to think for yourself. So solving such puzzles is a must. I would recommend this site (especially for dp). Just check the "problem set" link on the site and look for dynamic programming.
I recommend you this book: Competitive Progamming, by Halim. Is very complete, and newbie-compatible.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
I came across the declaration in a software best practices guide that algorithm and code shouldn't get mixed up. I'm not sure what is meant by this? As far as I understand, code is the implementation of the algorithm, isn't is? So, what exactly is meant by this statement? and why it is considered as a good practice?
Thank You!
The context in which the author mentioned would be clearer if you had pasted the surrounding lines.
Though what it would mean to me is, an algorithm is just a clear step-by-step logic that you would use to implement. You would leave out the finer implementation details like selection of the right data structure and other implementation details while you write/design the algorithm.
A good explanation can be found here
An algorithm is a series of steps for solving a problem, completing a task or performing a calculation. Algorithms are usually executed by computer programs but the term can also apply to steps in domains such as mathematics for human problem solving.
Code is a series of steps that machines can execute. In many cases, code is composed in a high level language that is then automatically translated into instructions that machines understand.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
Hi algorithm fans! I have problem to solve which is classified as combinational optimization problem. I do not have any background about this technique. Does anyone know any source, tutorial, article where I can learn this technique?
From wikipedia :
In applied mathematics and theoretical computer science, combinatorial optimization is a topic that consists of finding an optimal object from a finite set of objects.
The finite set of objects can be really big and it would take an infinite time to your program to find the solution.
For most of these problems there is no 'technique'.
I would advise reading the wikipedia article on combinatorial optimization, then look at links such as complexity therory (and complexity class P NP ), and very common examples such as the Travelling salesman problem.
Hope it helps
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
This may not be question of programming and people are open to close.
Does anyone has list of questions/problems to solve which helps to improve algorithms skills
may be for interview purpose.
A good option is Project Euler.
In its own description:
Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.
The motivation for starting Project Euler, and its continuation, is to provide a platform for the inquiring mind to delve into unfamiliar areas and learn new concepts in a fun and recreational context.
This seems like a perfect match...
Try TopCoder. They have held hundreds of algorithm competitions. Their archive contains thousands of problems for practice, including editorials describing the solutions. You can also view other people's submitted source code for the problems.
This will certainly sharpen your algorithm and problem solving skills, which should make you better prepared for algorithmic interview questions.
Fizz-Buzz?