There are two views:

  • Each question in computer science belongs to an area of computer science. Algorithms is one of the main areas, therefore questions in this area (including question which may not directly talk about any algorithms but may be about tools used for analysis of algorithms) can be tagged with .

  • It is a tag about algorithms, only questions directly talking about algorithms can be tagged with .

Related question: 1

  • 1
    $\begingroup$ I think discussing every tag in an own question can swamp meta's question list, therefore I created one question to host all such discussions. Why do you think this is a bad idea? $\endgroup$ – Raphael Mod Mar 14 '12 at 16:06
  • $\begingroup$ see also Using ACM or arXiv based tags $\endgroup$ – Kaveh Mar 14 '12 at 16:15

In this particular instance, I don't think the algorithms tag is appropriate. The reason here is simple: the author didn't ask about an algorithm. Sure, the question is probably one arising in the analysis of algorithms, but that doesn't change the nature of the question. Let me provide an example from another field.

Say that a well-meaning student asks, on the physics site, how one might go about converting a set of differential equations into an equivalent set of integral equations. These happen to be Maxwell's equations and, naturally, everybody recognizes them as such. Should the question be retagged to indicate the relationship to electricity and magnetism?

In light of this example, I have another suggestion entirely: not only was the retagging inappropriate, but the question might not even be a question about computer science. Indeed, this - and the example involving Maxwell's equations - are questions about mathematics. The plot thickens.

I am not necessarily suggesting that questions involving the use of mathematics be removed from this site; that would be a disaster. Certainly many people here are qualified to answer questions like that, and in a sense, a lot of the content we can ask (and have been asking) here is a kind of mathematics. I believe that a good solution might be to introduce a mathematical-methods tag, or similar, for situations such as this. Questions about solving equations, proof techniques, etc. which would find application in solving computer science problems could be assigned this tag.

For what it's worth, I'm not even sure that algorithm-analysis would be a fair tag for that question; the author doesn't even use the word algorithm. It's just a question about working with Landau notation.

  • $\begingroup$ The idea of having a tag mathematics or similar is not bad. However, where do we draw the line? $\endgroup$ – Raphael Mod Mar 19 '12 at 7:37
  • $\begingroup$ I have explained the reasoning here. $\endgroup$ – Kaveh Mar 26 '12 at 18:26
  • $\begingroup$ @Raphael, how about mathematical-foundations? $\endgroup$ – Kaveh Mar 26 '12 at 20:06
  • $\begingroup$ @Kaveh: The same question applies: where do we draw the line? The meaning of the tag is going to be very different for TCSists and practitioners. $\endgroup$ – Raphael Mod Mar 26 '12 at 20:17
  • $\begingroup$ @Raphael, well, I am also not sure about the tag. I think it should be used infrequently, we can use it when in cases like this where there is a some elementary mathematical concept that is used in different areas. I would have said topics contained in a book like this but honestly most of them already have appropriate tags, e.g. logic, data-structures, formal-languages, etc. The only ones that might be suitable to tag with such a tag would be very basic stuff like mathematical-induction, and asymptotic-notations. $\endgroup$ – Kaveh Mar 26 '12 at 20:23
  • $\begingroup$ @Raphael, see also this and this, essentially basic mathematics that a computer scientists needs to know and are normally thought in some undergrad course. Although we can alternatively direct these questions to Mathematics but I think there might be a point to answer these questions from CS point of view. $\endgroup$ – Kaveh Mar 26 '12 at 20:25

The algorithms tag is useful, because some questions are actually about algorithms and some are not. Examples of questions about algorithms are:

  • Help with the analysis of a specific algorithm
  • "How do I do this" types of questions

Questions that are not about algorithms are things like:

  • The referenced question
  • "How do I solve this recurrence?"
  • "Is this language regular?"
  • "Is this problem NP-complete?"

Algorithms questions are more common because every student, at least in the US, has to take a class in it, and non-theorists will often come to cs.SE with "how do I do this" types of questions. Mis-tagged algorithms questions are common because many students never take any other theory course.


The tag is too wide (about quarter of the questions so far are marked with it).

I think this misses the point. What's the use of tagging everything with the same tag? it doesn't help sorting the questions into families.

As I see it, we have various types of algorithms and we can perform a better classification: if a question can be tagged with another tag that has the word "algorithm" in it, then is redundant. E.g., a question about a randomized selection should be tagged with w/o "algorithms". Same goes with , (which should become sorting-algorithms), , etc.

the tag still applies to general questions about algorithms, or when a more concrete type of algorithm cannot be found.

  • $\begingroup$ the problem is not the tag, the problem is that most of the questions we have got so far are in algorithms. if you want to add more specific tags that is fine also, they are not mutuality exclusive. $\endgroup$ – Kaveh Apr 19 '12 at 5:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .