Do I have to cite common CS algorithms?Ww Zz067Oo IipRr v Xx YCc yD n P KkNn t U QqyA
I'm working on my final thesis for a CS grade course and I want to use a common sorting algorithm (quicksort for the curious ones). Do I need to include a reference to this algorithm (cite or quote)? Or it is so common that I don't need to? Take into accout that it was first published on 1961 and it is extremely used and known by almost anyone in the CS world.
Thanks
-
It is really up to you (and your advisor perhaps). In any case, chasing down the reference for quicksort, and even some of the quite voluminous bibliography on it's analysis, isn't that much work, and a handful of references will hardly lead to overrunning any maximal page count... – vonbrand 8 hours ago
-
What does "use" mean in this context? Are you writing a program, or just describing the algorithm itself? – pip install frisbee 5 hours ago
-
It seems to be less work to include the reference then to turn to the Internet and ask whether it should be included. – Abigail 26 mins ago
2 Answers
Do I have to cite common CS algorithms?
No.
The fact that it was first published [in] 1961 isn't relevant, you needn't cite it because it is [widely] used and [well-]known by almost anyone in the CS world.
That said, although a citation isn't necessary, you can provide one at your discretion. Such a citation is probably more important for a final thesis than for an academic publication, since it may be considered important for students to demonstrate they can cite.
Beyond citing the original source, you may like to cite your favourite textbook(s) on the topic (rather than citing the entire volume, reference a particular section, e.g., \\cite[Chapter 4.3]{Textbook} in LaTeX).
If the specific use of the algorithm is important to the work, then you should cite what specifically you used or implemented, and also citing the broadest/oldest class of algorithms would be strictly optional. Using the example of quicksort, there are many dozens of varieties of it that have the same general idea but have different characteristics and performance. If you used the 1961 paper as a reference for your implementation, then of course you would cite it. If you used the Java sort function, which just happens to be a variety of quicksort, you would just say so and don't need to hunt down what that was based on.
On the other hand, if sorting is not an important part of the work (it matters only that it was sorted, not how you sorted it), it is common and accepted not to bother citing every last little detail like this. In most cases how something was sorted is so unimportant that it isn't even mentioned in text at all, but of course if your work is on sorting algorithms (and in a thesis) you should be more detailed and cite liberally.
As this is not for a conference but for a thesis, and possibly part of a graded course, you should probably just cite it anyway, possibly both the original and whatever source you actually used for reference (textbook, code library, whatever). Especially at the less-than-PhD level, instructors are much more likely to prefer heavy use of citations, and I've known many professors to ding for lack of citation of things that one would not bother to mention or cite in an actual paper.
-
1Cool answer also. I understood that this topic is a lot about context, nature and audience of the publication. – 0xfede7c8 8 hours ago