In mathematics and computer science, an algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function. Algorithms are used for calculation, data processing, and automated reasoning.
517
votes
8answers
158k views
Which hashing algorithm is best for uniqueness and speed?
Which hashing algorithm is best for uniqueness and speed? Example (good) uses include hash dictionaries.
I know there are things like SHA-256 and such, but these algorithms are designed to be ...
21
votes
7answers
3k views
Should I keep investing into data structures and algorithms?
These days, I'm investing heavily in data structures and algorithms and trying to solve some programming puzzles.
I'm trying to code and solve with Java and Clojure.
Am I wasting my time? should I ...
12
votes
4answers
3k views
Is there a canonical reference on algorithm design? [closed]
So every time I get an interview, I get simple problems. The problem is, I seem to make a mess of it by writing inefficient algorithms that either take too much space or time. I am really not able to ...
32
votes
6answers
2k views
I'd like to write an “ultimate shuffle” algorithm to sort my mp3 collection
I'm looking for pseudocode suggestions for sorting my mp3 files in a way that avoids title and artist repetition. I listen to crooners - Frank Sinatra, Tony Bennett, Ella Fitzgerald etc. singing old ...
125
votes
14answers
6k views
Simple method for reliably detecting code in text?
GMail has this feature where it will warn you if you try to send an email that it thinks might have an attachment.
Because GMail detected the string see the attached in the email, but no actual ...
13
votes
5answers
2k views
Algorithm for Learning development [closed]
This is a fairly general question. I know a bit of Perl and Python and I am looking to learn programming in more depth so that once I get the hang of it I can start developing applications and then ...
11
votes
7answers
3k views
How important is studying algorithms and theory is to becoming a great programmer? [duplicate]
Possible Duplicate:
Should I keep investing into data structures and algorithms?
I'm a CS student. I want to become a really great programmer, what do I need to do to be come a great ...
19
votes
9answers
5k views
Is it essential to learn algorithms to be a real programmer?
I'm a PHP programmer, and until now I have not needed to learn algorithms...
Now I'm start learning Python (a real programming language), because I need to use matplotlib. Does it make sense to start ...
3
votes
1answer
234 views
What algorithm should I use to create an automatic staff scheduling feature?
Imagine a small local business (in my case a dog daycare) with a few dozen part-time employees . The goal is to automatically create weekly staff schedules. My question is about what algorithmic ...
129
votes
14answers
10k views
Is it just me or is this a baffling tech interview question?
Background
I was just asked in a tech interview to write an algorithm to traverse an "object" (notice the quotes) where A is equal to B and B is equal to C and A is equal to C.
That's it. That is ...
23
votes
12answers
7k views
Do I need to understand algorithms and data structures to be called a programmer? [closed]
It has been six years since I have been coding. Coding into all kinds of things like ActionScript, JavaScript, Java, PHP, Ajax, XML HTML, ASP, etc. I have used arrays, maps, linked lists, sets, etc ...
20
votes
6answers
14k views
Why is quicksort better than other sorting algorithms in practice?
This is a repost of a question on cs.SE by Janoma. Full credits and spoils to him or cs.SE.
In a standard algorithms course we are taught that quicksort is O(n log n) on average and O(n²) in the ...
46
votes
16answers
3k views
Is big-O really that relevant when working in industry?
In every interview I have been in, I have been quizzed on mathematical analysis of complexity, including big-O notation. My question is, how relevant is this test to development in industry? How often ...
17
votes
6answers
5k views
What methods are there to avoid a stack overflow in a recursive algorithm?
Question
What are the possible ways to solve a stack overflow caused by an recursive algorithm?
Example
I'm trying to solve Project Euler problem 14 and decided to try it with a recursive ...
26
votes
4answers
2k views
Can you use Pi as a crude random number generator?
I recently saw this question over at math.SE. It got me thinking. Could Pi be used as a crude random number generator? I mean the results are well known(how long has pi been computed to now?) but, Pi ...
23
votes
6answers
11k views
Can an algorithm be patented?
So can an algorithm be patented?
I saw this statement which made me think:
Everybody would abstain from patenting
the improvements of contour dot
algorithm for at least several years,
say ...
18
votes
2answers
936 views
What class of problem is this, and what math do I need to know to solve it?
Mushroom cultivation requires fairly precise chemical composition of substrate (a.k.a. growing medium). Let's pretend we're growing shitakes and that this is the required composition of their ...
14
votes
10answers
1k views
Find out whose turn it is to buy the croissants, accounting for possible absences
A team has decided that every morning someone should bring croissants for everybody. It shouldn't be the same person every time, so there should be a system to determine whose turn it is next. The ...
11
votes
3answers
743 views
Please explain the statement that the function an+b belongs to O(n^2) and and Θ(n)?
Let's say I have a linear function f(n)= an+b, what is the best way to prove that this function belongs to O(n2) and Θ(n)?
I do not need mathematical rigor here. I need a programmers answer. Some ...
5
votes
3answers
2k views
What is an algorithm to find simple cycles?
I have a graph with an Eulerian cycle and no Hamiltonian cycles. I would like to divide this graph into simple cycles.
Edges may not be repeated in simple cycles.
How can this be done?
8
votes
3answers
261 views
best resource[s] to stay updated on algorithms
At University I follow 3 course about algorithms. As more and more university give to Internet program and slides about his courses.
What are the best resources
- university courses put on web
- ...
7
votes
10answers
1k views
A better way of doing Regex? [duplicate]
I really dislike regular expressions, each time I come back to it I seem to have to relearn it. It's also incredibly hard to maintain, modify and at a glance understand what it is doing.
Has anyone ...
3
votes
4answers
466 views
Search algorithm with co-ordinate (x,y) hints?
I am about to start writing a UI view where many small text items are laid-out over the view and when the user hovers over a text item a dynamically-generated image is displayed (like a tooltip), ...
1
vote
1answer
255 views
What is O(…) and how do I calculate it? [closed]
Possible Duplicate:
Plain English explanation of Big O
I've seen some questions here and on SO talking about the most efficient way to find or sort this or that. The questions usually talk ...
5
votes
5answers
662 views
Given a set of VLSI chips, how do I determine which are good?
I have the following problem:
Given n chips [note: these are VLSI chips] out of which majority of chips are good, we need to find one good chip. The only test that we can apply is on a pair of ...
2
votes
6answers
1k views
Why is the formal definition of Big O notation formulated as such?
Consider the formal definition:
f(n) = O(g(n))
Why is it not:
f(n) = O(f(n))
or
f(n) = O(c*f(n))
since for the Big O analysis, f(n)=2n and g(n)=n are identical?
I am ...
-1
votes
3answers
350 views
Is using build-in sorting considered cheating in practice tests?
I am using one of the practice online judges where a practice problem is asked and one submits the answer and gets back if it is accepted or not based on test inputs.
My question is the following: ...
26
votes
9answers
10k views
Color schemes generation - theory and algorithms
I will be generating charts and diagrams and I am looking for some theory on color schemes and algorithm examples.
Example questions:
How to generate complementary or analogous colors?
How to ...
61
votes
1answer
3k views
What task did Dijkstra give volunteers, which was mentioned in his paper “The Humble Programmer”?
In Dijkstra's paper "Humble Programmer", he mentions that he gave some volunteers a problem to solve:
“I have run a little programming experiment with really experienced volunteers, but something ...
20
votes
4answers
3k views
Which algorithms and data structures should a developer absolutely know?
I want to be a successful enterprise Java developer. With what algorithms and data structures should I be well versed? What books would you recommend to me?
To be a successful Java developer, do I ...
18
votes
2answers
9k views
Best practice/Patterns for two way data synchronisation
Quite often in my work the idea of 2-way data synchronisation between database systems crops up. The classic example is two slightly different CRM systems (say, Raiser's Edge and Salesforce) and the ...
26
votes
8answers
4k views
Is the algorithm more important than the programming language?
During the current (2013) Google Code Jam contest, there was a problem that took C++ and Java people 200+ lines of code as compared to Python people that solved the same problem only using 40 lines of ...
7
votes
4answers
2k views
What are the differences between algorithms using data structures and algorithms using databases?
The General Question
What are the differences between algorithms using data structures and algorithms using databases?
Some Context
This is a question that has been bugging me for some time, and I ...
10
votes
5answers
742 views
Interview puzzle on traveling on a line segment
Here's an interesting question I came upon:
Let's just say on a number line of length M, where 0 < M <= 1,000,000,000, you given N (1 < N <= 100,000) integer pairs of points. In each ...
10
votes
11answers
6k views
What is an algorithm?
What exactly is an algorithm, as in what does Algorithm mean? The little I understand the word, is that it's not specific to a particular language, or design pattern, rather it's one the most basic ...
18
votes
6answers
604 views
Visiting points on a number line while minimizing a cost not related to distance
I need some help on this ACM ICPC problem. My current idea is to model this as a shortest path problem, which is described under the problem statement.
Problem
There are N = 1000 nuclear waste ...
8
votes
13answers
4k views
Why is it better for a programmer to design the algorithm before starting to write the code?
Does an appropriate algorithm really help improve the quality and ultimately the efficiency of a program?
Can we still produce a good quality program without the algorithm?
Is an appropriate ...
6
votes
2answers
12k views
Best beginners books for improving algorithms [duplicate]
Possible Duplicate:
Is there a canonical reference on algorithm design?
I an Electronics guy.. with a great interest on programming I am learning it myself. So, when ever I pick up a puzzle ...
9
votes
4answers
2k views
Are there currently any modern, standardized, aptitude test for software engineering? [closed]
Background
I am a working software engineer who is in the midst of seeking out a new contract for the next year or so. In my search, I am enduring several absurd technical interviews as indicated by ...
4
votes
8answers
1k views
What do you consider to be the essential design patterns? And do you use them? [closed]
It seems to me that programmers have an increasingly uphill task of staying up-to-date.
In my efforts to improve my programming ability, I am in search of the essential design patterns that are ...
2
votes
11answers
2k views
I don't understand why algorithms are so special
I'm a student of computer science trying to soak up as much information on the topic as I can during my free time. I keep returning to algorithms time and again in various formats (online course, ...
12
votes
4answers
913 views
What are the algorithms behind low pause GC?
Some languages, for exemple java, introduced a low pause GC.
Those GC can do most of the work without pausing the whole world. This is obviously a quite hard problem because it require to analyze the ...
17
votes
4answers
4k views
Return random `list` item by its `weight`
I have, for example, this table
+-----------------+
| fruit | weight |
+-----------------+
| apple | 4 |
| orange | 2 |
| lemon | 1 |
+-----------------+
I need to return random ...
14
votes
9answers
3k views
What should a programmer learn first: Algorithms or Design Patterns? [closed]
I have new junior programmers (new graduates) who just joined my team, some of them do not know much about algorithms and design patterns. I am not sure which one should I teach them first?
12
votes
5answers
530 views
Programmaticaly finding the Landau notation (Big O or Theta notation) of an algorithm?
I'm used to search for the Landau (Big O, Theta...) notation of my algorithms by hand to make sure they are as optimized as they can be, but when the functions are getting really big and complex, it's ...
9
votes
7answers
840 views
Is there a subset of programs that avoid the halting problem
I was just reading another explanation of the halting problem, and it got me thinking all the problems I've seen that are given as examples involve infinite sequences. But I never use infinite ...
7
votes
5answers
2k views
How do you identify “edge” cases on algorithms?
Basically how do you find out which could be your worst or best case and any other "edge" cases you might have BEFORE having them and so, how do you prepare your code for them?
5
votes
4answers
615 views
How to familiarize myself with Python
I'm a Python beginner. I started programming with Python 1.5 months back.
I downloaded the Python docs and read some parts of the tutorial. I have been programming on codechef.com and solving ...
3
votes
1answer
266 views
Grouping numbers to minimize group-means
I need to find a way or an algorithm that groups members of a given data set (of positive integers) so that the difference between group means is minimized (not maximized, as usual).
There are two ...
17
votes
4answers
5k views
In pseudo code what does := mean?
The section entitled Algorithmic Implementation has the following code:
// Return RC low-pass filter output samples, given input samples,
// time interval dt, and time constant RC
function ...