957:"To make a very literal example out of this: If an unknown word is seen in a book, the reader can make a note of the current page number and put the note on a stack (which is empty so far). The reader can then look the new word up and, while reading on the subject, may find yet another unknown word. The page number of this word is also written down and put on top of the stack. At some point an article is read that does not require any explanation. The reader then returns to the previous page number and continues reading from there. This is repeated, sequentially removing the topmost note from the stack. Finally, the reader returns to the original book. This is a recursive approach."
437:
427:
406:
31:
162:
85:
64:
22:
1615:, but works well for an intro course, even if students have had an into course w/ an OOP language like Java. As there may be undergrad, self-learners, and non-CS grad students checking out this article, here is a bit more information for consideration (it's true--there are other programming languages out there besides C++, Java, JavaScript and Python).
809:
distinctive and authors of examples should be encouraged to write 'pythonic' Python (perhaps w/ different libraries), and whatever the preferred style for BASH, C++, JavaScript/TypeScript (w/ various frameworks, both server side and in-browser), C#, Objective-C, Java, Julia, Swift, Scala, BASIC, C, D, Guile, Mumps, FORTRAN, Pascal, Brainfuck, etc. etc.
1351:"Recursion" is a mathematical method, not "computer science". That nowadays numerical mathematical computations are made with computers is another matter. There is absolutely no connection between the availability of "recursive procedures" in a computer language and the use of a recursive algorithm, a "do loop" does it just as well(more efficiently)!
1980:
1406:. Also, the numerous code examples were not helpful. The following section on the Euclidean algorithm for GCD is not much better, but at least it is a little more compact. Also, both Fibonacci and GCD have the inconvenient property (for the purposes of this article) that they are more easily and more efficiently calculated iteratively.... --
719:
I realize that every programmer has his/her own favorite language, but reading a programming-related article that switches from one language to another is ridiculous and unnecessary. Does anyone object to re-writing each of the algorithms in a single language? I propose either Python or Java, since
1378:
Most of the section is written in a highly un-encyclopedic tone (talk of "gray matter computers" and "soft tissue," abbreviation of "Fibonacci," what appears to be an attempted pun in the phrase "or even to re-curse @#$ %^& at all,") and a gigantic list of the same algorithm in tons of different
1247:
optimize tail recursion so that it does not consume stack space. This is part of the language and programmers can rely on it. In C and Java, some compilers may do the optimization, but it is not part of the language specification, and programmers cannot rely on it. Moreover, in Java, it is generally
1898:
Itâs ok (but not great) that the first verb is passive because we donât need to know *who* solves problems by iteration. But when writing in passive voice, you canât just switch to active voice (âneeds to identifyâ) and refer to the subject as âthisâ; the subject was deliberately omitted. I believe
761:
If possible, I suggest using C because it is relatively old (but still around and important) and it is taught in a number of schools and universities. Many modern languages such as C++, Java, C# and JavaScript are derived from it, share a similar syntax and thus belong to the C-family of languages.
1685:
Recursion is not "method of solving a problem". It is a programming construct. The same algorithm (method) can be expressed with or without recursion. After all, many problems solved with a recursive program can also be solved with a transparently equivalent iterative program (tail recursion). As
1572:
It is a comprehensive introduction to recursive programming. Unlike the other books in the list, its code examples are presented in Python, which is an increasingly popular language for computer science education, as well as scientific and commercial applications. The code examples are available
691:
GCD and Towers of Hanoi are definitely generative. However, a bigger problem with the page as it stands is that the factorial and fibonacci algorithms given are structurally-recursive, though the header implies they're generatively-recursive. (The structure on which they operate is that of the
2028:
This article focuses on recursion in computer programming, and does not cover other uses of recursion in computer science, for example in databases and knowledge representation. It focuses on recursive functions and ignores recursive relations. See, for example, the recursive definition of the
808:
It is a way to help those who are looking at different languages appreciate styles. As someone who has had to debug a C program written in Java...it can be a clash of cultures. While there isn't always a huge different in the syntax of a C and Java program, the semantics and style are quite
757:
a single programming language that is well known to a broad audience. Pseudo-code can help in case someone does not understand the provided programming language example. However, for many people it is not always easy to translate pseudo-code into their favourite programming language. Many
1865:, subtleties like your collatz example can be discussed (maybe in a section "Defining partial functions by recursion"Â ?). Maybe, even a theorem to characterize the set of inputs on which a recursively-implemented function is defined (in the sense of "not diverging") can be stated there.
762:
It is often trivial to translate algorithms in C code to Java. Other programming languages such as functional (e.g. Scheme) or dynamic languages (e.g. Python) should be used for instance if a specific concept or language construct is needed in the example but not available in C.
183:
1309:
Quote: "If your problem requires evaluating properties and then processing depending on those properties, recursive solutions will most likely involve cumbersome conditional statements whereas an iterative solution would intuitively process each case."
1610:
Are you waiting for an answer to do it? If so, then YES. (It is a very good intro to CompSci), and when I read it for an into comp sci taught by Mathew Flatt, one of the authors, it used Scheme as the language--which is not hugely popular outside of
1433:
Recursive list processing technique element technique list technique naive technique accumulator technique railway-shunt technique inverse naive technique position technique combination technique
1044:...which may well be the function itself. This is the essence of the recursion in this example: the function calls ITSELF and uses that value to compute the fibonacci number for the k it was given, which it then passes back on up the chain.
1248:
considered impossible for an implementation to support the security model and also optimize tail calls. This issue with Java has been discussed to death all over the web; there seem to be rumors that Java 7 might have some support. â Carl
1538:
to the list of monographs on recursive programming. My edit was undone because the book was previously removed due to self promotion by the author. This latest publication on the topic is a valuable resource that should be included.
1456:
The current examples are weak. Almost all of them are as just as naturally (or more so!) expressed iteratively (factorial, gcd, binary search, list traversal). The Towers of Hanoi example, rather than presenting the algorithm for
1837:
problems can be solved using iteration rather than recursion. But what on earth does "needs to identify and index the smaller instances at programming time" mean? I'll wait a few days for discussion before rewriting the lead.
748:
1818:, but it is still a recursive function (just one that doesn't terminate in some cases -- just like the iterative equivalent). Here, again, the program could perfectly well have been written iteratively, but it is the
579:
WTF? Does the existence of a decades-old 1-minute bass solo really deserve to be mentioned at the top of this page? Is there an official WP rule that says every trivial alternative usage needs to be spelled out? -
1694:(1961), the recursive formulation makes it much more straightforward to express the logic of Quicksort, and to understand how it operates, but the algorithm (the method of solving the problem) is the same.
1860:
we should confine ourselves to the case of "smaller" subproblems (I'd prefer "simpler" to indicate this is a programmer-defined measure, not just size), since it conveys the main idea of recursion. Below
1047:
If I call fib(3), it will in turn call fib(2) and fib(1). Both of these will return 1, but they will return 1 to the fib(3) call, which adds them together and gets 2, indeed the correct value for k = 3.
1465:
of moves, with no explanation or motivation. There are no examples of mutual (or multiple) recursion; a simple example would be a symbolic differentiation program for expressions involving + and *. --
1814:
If the
Collatz conjecture is correct, then you could define the "smallness" of the problem instance as the step count of the number. If it is not, the function doesn't terminate for all values of
2047:
More importantly, it does not distinguish between recursive structure and the way in which that structure is used to solve problems. It fails to point out that pure recursion can be understood
207:
493:
902:
The example programs should check for n==0 rather than n==1. Currently they simply crash when input is 0. (They shouldn't because fact(0) is defined 1 in the fact function definition.) --
758:
autodidactic programmers did not learn programming by studying pseudo-code first and might never have seen it before. An example that "compiles out of the box" is often much more helpful.
1228:. Similarly, there's plenty examples online that show that GCC can not only optimize tail-recursive calls, but also quasi-tail-recursive calls, as in the naive definition of fibonacci.
347:
981:
All examples in this tutorial can be rewriten using simple while loop. All presented exaples are recursions of same category. None of current examples show true strength of recursion.
2157:
1653:, which the same group of authors is responsible for. There is also a similar book and IDE that uses Java designed for a second semester course on Data Structures and Algorithms.
1514:
I find that the else-if's make the structure of this code far clearer than a sequence of if/returns. They let you see at a glance that only one of the clauses will be executed. --
518:
I think it would be cool to have a paragraph to recognize the fathers of the science of recursion. von
Neumann is a likely lead, but haven't found any primary sources just yet.
1357:
Then there will be left some other material for "Recursion(computer science)" like "recursive procedures" with the procedure(subroutine) calling itself and other similar matter
264:
202:
1595:
The embedded reference to this book in the article feels like advertising, especially by referring to it by an abbreviation. Sure this should be rewritten and simply cited? --
747:
FYI, the current Manual of Style draft for code samples and algorithms can be found here: (Note that I don't agree with everything that is currently written in this draft.)
2051:, without understanding execution at all. Consider, for example, the Prolog program, which expresses that alice likes logic, and that she likes anything that likes logic:
1999:
2172:
1624:
135:
125:
1697:
In recursion, the solution does not necessarily "depend on solutions to smaller instances". The following is a perfectly valid recursive Python program for finding the
2147:
833:
Recursion is a great example where the choice of language really matters. So doing basic regression test and comparison between languages can be very informative.
2177:
1628:. I believe that it is a 'feature' of the people who write such things to just use acronyms for everything, and I don't know that there is much help for them...
2162:
1868:
Finally, I agree that the sentence about iteration is incomprehensible at best. It should be replaced by a sentence which appropriately summarizes the section "
1274:
The article needs to emphasize that a termination condition is essential or the algorithm is not recursion - it is an infinite loop and a run-time failure.
101:
35:
1243:
I think the issue is you are identifying "tail recursion" with compiler optimization. In the Scheme language, for example, all conforming implementations
2187:
2167:
483:
309:
1050:
This program is, however, rather bugged. If you compute fib(0), you get 1, which is incorrect. It ought to have a second base case to account for this.
2142:
792:
Beginning learners are often struggling to learn even the basics of syntax and having an example in 'their' language makes it much more approachable.
2152:
1484:
Would anybody object if I were to remove the "else" reserved words in the "Example implementation of binary search in C" code? It always makes my
841:
Creating a separate page for examples would be best if someone can find/make a template so it can get the needed metadata and indexed as
Wikidata.
1677:
In computer science, recursion is a method of solving a problem where the solution depends on solutions to smaller instances of the same problem.
283:
984:
Number of examples whit recursion of same type can be reduced. Complex examples should be added, for instance: Simple brute force (for instance
459:
148:
92:
69:
1899:âthisâ refers to âa program making use of iterationâ, and not just âiterationâ or âsuch problemsâ (which is what the grammar badly implies).
2182:
372:
1596:
730:
551:
795:
Recursion is a difficult subject for some students to wrap their head around. Consider having more than one example in a given language.
1051:
1024:
963:
935:
883:
701:
566:
525:
255:
660:? I also notice that this section is unsourced. (Google finds very few usages of this term outside of Knowledge and copies thereof.)
1990:
1972:
1895:âSuch problems can generally be solved by iteration, but this needs to identify and index the smaller instances at programming time.â
1380:
1902:
To put this more simply: make sure the sentence says WHAT needs to i.d. and indexâŚwhen (non-recursive) programs solve via iteration.
1633:] which is available for Windows, MacOS, and Linux (released as self-installing script or as an Ubuntu PPA, and it is available from
1229:
1224:
I just ran this test on my default OSX-installed JVM, and it shows that the code was transformed into its non-recursive equivalent:
450:
411:
236:
1829:
Such problems can generally be solved by iteration, but this needs to identify and index the smaller instances at programming time.
1316:- Does the phrase "evaluating properties and then processing depending on those properties" say anything more than the simple term
1379:
programming languages. It looks like it needs a serious rewrite, but I don't feel familiar enough with the topic to do so myself.
903:
2137:
328:
1293:
933:
Wouldn't checking if n <= 1 be better? I agree that n == 1 is incorrect, but n == 0 adds a needless cycle for input : -->
723:-Why use a programming language at all? Programming examples should simply be written in pseudo-code, in my opinion. -Adam
1330:- How exactly would an iterative solution "intuitively" perform conditional processing without any conditional statements?
1646:
1004:
293:
174:
44:
1023:
Since k decreases each time, it will eventually hit 2. When it does so, the function returns 1 and does nothing else.
960:
However, this seems more like a standard series of function calls...it doesn't seem to be "calling itself" in any way.
820:
Authors should use comments to illustrate the steps and point out language features and idioms in use (e.g. if using a
1642:
303:
217:
1388:
1923:
problems that can be solved recursively can be solved without recursion; it suffices to maintain a push-down stack;
1877:
1559:
338:
100:
related articles on
Knowledge. If you would like to participate, please visit the project page, where you can join
544:
Base case redirects here. Would it not be helpful therefore to have a clear definition of the term, 'base case'?
2119:
1968:
365:
1600:
1277:
Diagnosis and debugging techniques for recursion problems (such as stack overflow) would also be good to add.
734:
555:
1055:
1028:
967:
887:
647:
631:
625:
2048:
2036:
Moreover, because of its focus on programming, the article limits problem solving and execution methods to
1488:
act up when an else follows a return inasmuch as the else is redundant and no considered "best practices."
1384:
1337:
939:
767:
705:
570:
529:
600:
1427:
815:
We can skip commercial languages. If we need to focus, it should be on GCC languages, Python, BASH and JS.
784:
I don't think that code examples are going to fill up
Knowledge to the bursting point. I would encourage
1873:
1578:
1555:
1544:
1426:
Does anyone know of a comprehensive hierarchy of recursion techniques? I found the following hierarchy
1333:
1233:
922:
599:
Wouldn't it be a good idea to include some information about
Recursive procedures and processes? (as in
585:
274:
50:
1000:
836:
Remind me how high you can go with
Fibonacci numbers before the JVM crashes when it runs out of memory?
436:
683:
2115:
1493:
1281:
992:
907:
879:
726:
547:
521:
1020:
The current Java code for
Fibonacci numbers just outputs 1 no matter what was inputted, doesn't it?
21:
2014:
1574:
1540:
607:
996:
458:
on
Knowledge. If you would like to participate, please visit the project page, where you can join
1994:
1956:
1942:
1843:
1698:
1519:
1470:
1411:
1399:
1364:
1289:
985:
763:
442:
1833:
I have a Ph.D. in computer science, but I have no idea what this is supposed to mean. Of course
426:
405:
2037:
1658:
1225:
665:
193:
2041:
918:
864:
844:
A pictures is worth 2šⰠwords. Consider simple flow charts and UML2 to go with your source.
643:
581:
245:
97:
1535:
873:
Yes - see recurrence...a good example of it being applied to determine complexity is here:
2123:
2018:
1960:
1946:
1911:
1907:
1881:
1847:
1662:
1604:
1582:
1563:
1548:
1523:
1497:
1489:
1474:
1446:
1442:
1415:
1368:
1341:
1297:
1260:
1237:
1059:
1032:
1008:
971:
943:
926:
911:
891:
868:
821:
771:
749:
Knowledge:WikiProject_Computer_science/Manual_of_style_(computer_science)#Style_guidelines
738:
709:
686:
611:
589:
574:
559:
533:
2004:
1641:, that gradually exposes students to the full semantics and pragmatics of (open source
855:
825:
603:
319:
161:
657:
184:
Requested articles/Applied arts and sciences/Computer science, computing, and
Internet
2131:
1952:
1951:
PS I have been a Lisp programmer since 1967 and appreciate recursion quite deeply. --
1938:
1839:
1515:
1466:
1407:
1360:
1285:
1255:
622:
1437:
I think making the different types of recursion explicit would improve the article.
1654:
1504:
1485:
1403:
1395:
661:
1892:
The following is an awkward sentence; I fixed it but my edits have been revoked:
1394:
I agree completely. This section was a discursive, unencyclopedic essay with no
874:
2000:
Knowledge:Redirects for discussion/Log/2023 June 2 § Recursion(computer science)
860:
639:
455:
1903:
1687:
1638:
1438:
432:
780:
Just to be contrarian...why not have a ton of examples (maybe on other pages)
1869:
1691:
1612:
1221:
The article wrongly claims that neither C nor Java optimize tail recursion.
226:
1040:
No. Eventually k hits 2 or lower and returns 1, but that value is returned
621:
Should there be something about arm's length recursion in this article? --
84:
63:
1856:
I agree with your second reason (smaller vs. arbitrary). However, I think
1251:
679:
It would be nice to have a simple code example for generative recursion.
1979:
2030:
1634:
812:
It would be good to have examples with generics/templates and without.
1554:
Can you give a reason for your claim? Why is the resource valuable? -
1650:
2024:
This article presents a narrow view of recursion in computer science
1997:. Readers of this page are welcome to comment on this redirect at
1853:
I have no opinion about your first reason (method vs. construct).
1271:
Recursion is a major cause of problems in software applications.
788:
examples in a range of languages. This serves several purposes:
656:
How is this different from just enlarging the base case(s), e.g.
1673:
The lead of this article has some problems. The article begins:
1508:
853:
Is it possible to give general statements about the complexity (
1932:
whatever the point is, it probably doesn't belong in the lead.
954:
In this article, it gives an example of recursion as follows:
302:
Find pictures for the biographies of computer scientists (see
15:
798:
This is where having additional pages would be helpful, but
1226:
http://www.ibm.com/developerworks/java/library/j-diag8.html
1631:
To go with the book they have an open source didactic IDE
1354:
Most of this material should be "Recursion(mathematics)"
700:.) So they should be moved to the structural section.
1985:
1078:* @param k indicates which Fibonacci number to compute.
934:
0 (e.g., for 3! it computes 3x2x1x1 instead of 3x2x1).
1822:, not the "method of solution", which is "recursive".
1480:
Else in "Example implementation of binary search in C"
1327:- What is "cumbersome" about a conditional statement?
1993:
to determine whether its use and function meets the
988:solving) Searching filename in directories tree ..
454:, a collaborative effort to improve the coverage of
96:, a collaborative effort to improve the coverage of
1917:This was a terrible sentence for multiple reasons:
1267:
Not enough about termination and recursion problems
1398:. I have removed it, following WP policies about
208:Computer science articles needing expert attention
1072:* Recursively calculate the kth Fibonacci number.
1926:"identify and index" isn't intelligible English;
1461:the disks, just presents the calculation of the
2158:Knowledge level-5 vital articles in Technology
875:http://www.cs.duke.edu/~ola/ap/recurrence.html
348:WikiProject Computer science/Unreferenced BLPs
8:
800:can someone else suggest a template, please?
753:In my opinion we should provide pseudo-code
265:Computer science articles without infoboxes
203:Computer science articles needing attention
715:Hodge-podge of languages used in Knowledge
400:
169:Here are some tasks awaiting attention:
143:
58:
2173:Top-importance Computer science articles
1573:for free, without purchase of the book.
1373:
402:
60:
19:
2148:Knowledge vital articles in Technology
1825:The next sentence is just mystifying:
1690:pointed out in his seminal article on
110:Knowledge:WikiProject Computer science
2178:WikiProject Computer science articles
1929:"at programming time" makes no sense;
1536:Introduction to Recursive Programming
113:Template:WikiProject Computer science
7:
2163:C-Class vital articles in Technology
1870:Recursion#Recursion versus iteration
1157:2 then fib(k) = fib(k-1) + fib(k-2).
448:This article is within the scope of
90:This article is within the scope of
1511:-like program by that name. Anyway.
1374:Section 'Fibonacci' is a total mess
1081:* @return the kth Fibonacci number.
49:It is of interest to the following
1430:that covers just list processing:
1117:// If k <= 2 then fib(k) = 1.
824:, probably should you are using a
595:Recursive Procedures and Processes
284:Timeline of computing 2020âpresent
14:
2188:Mid-priority mathematics articles
2168:C-Class Computer science articles
1530:Books about recursive programming
898:Factorial Implementations for n=0
849:Complexity of recursive functions
468:Knowledge:WikiProject Mathematics
310:Computing articles needing images
2143:Knowledge level-5 vital articles
1978:
675:Generative (synthetic) recursion
630:Good point â thanks! Done â see
616:
471:Template:WikiProject Mathematics
435:
425:
404:
160:
83:
62:
29:
20:
2003:until a consensus is reached.
1937:I have removed the sentence. --
1681:This is incorrect in two ways:
720:they're both very widely used.
698:n+1 where n is a natural number
488:This article has been rated as
130:This article has been rated as
2153:C-Class level-5 vital articles
1663:02:53, 21 September 2023 (UTC)
1622:is what it goes by (just like
1042:to the function that called it
1:
1416:00:13, 25 February 2013 (UTC)
1389:23:22, 24 February 2013 (UTC)
1033:03:54, 24 December 2009 (UTC)
972:04:38, 17 February 2009 (UTC)
892:05:49, 17 February 2009 (UTC)
590:20:35, 8 September 2010 (UTC)
560:23:50, 13 February 2010 (UTC)
462:and see a list of open tasks.
364:Tag all relevant articles in
104:and see a list of open tasks.
2183:C-Class mathematics articles
1882:15:34, 10 January 2021 (UTC)
1605:15:41, 7 February 2018 (UTC)
1524:22:48, 22 October 2015 (UTC)
1498:21:26, 22 October 2015 (UTC)
1475:10:53, 9 February 2015 (UTC)
1422:Hierarchy of recursion types
859:) of recursive functions? --
692:natural numbers, defined as
648:07:22, 7 December 2012 (UTC)
612:12:03, 7 February 2009 (UTC)
373:WikiProject Computer science
149:WikiProject Computer science
93:WikiProject Computer science
1986:Recursion(computer science)
1969:Recursion(computer science)
1848:21:30, 6 January 2021 (UTC)
1583:21:19, 3 October 2017 (UTC)
1564:05:01, 3 October 2017 (UTC)
1549:03:54, 3 October 2017 (UTC)
1369:09:57, 7 January 2013 (UTC)
1298:17:50, 30 August 2010 (UTC)
927:08:00, 24 August 2008 (UTC)
912:13:05, 22 August 2008 (UTC)
869:12:29, 11 August 2008 (UTC)
304:List of computer scientists
2204:
1447:13:48, 21 March 2014 (UTC)
1217:Java, C and tail recursion
1060:13:50, 14 March 2010 (UTC)
687:16:31, 26 April 2007 (UTC)
534:14:18, 10 April 2012 (UTC)
136:project's importance scale
2124:12:31, 6 March 2024 (UTC)
2029:ancestor relation in the
1961:02:56, 6 March 2022 (UTC)
1947:02:53, 6 March 2022 (UTC)
1912:00:59, 6 March 2022 (UTC)
1342:18:22, 17 June 2011 (UTC)
1313:Run that by me again ...
1261:14:54, 29 July 2010 (UTC)
1238:12:22, 29 July 2010 (UTC)
944:16:19, 7 April 2015 (UTC)
710:09:29, 20 June 2010 (UTC)
626:01:26, 2 March 2007 (UTC)
575:09:26, 20 June 2010 (UTC)
487:
420:
366:Category:Computer science
142:
129:
116:Computer science articles
78:
57:
2053:
2019:21:25, 2 June 2023 (UTC)
1991:redirects for discussion
1973:Redirects for discussion
1704:
1066:
1009:23:15, 17 May 2009 (UTC)
772:09:19, 3 June 2008 (UTC)
739:22:00, 2 June 2008 (UTC)
494:project's priority scale
368:and sub-categories with
1888:Poor grammar in opening
1305:Recursion vs. iteration
451:WikiProject Mathematics
2138:C-Class vital articles
1591:how to Design Programs
1503:You surely don't mean
1318:conditional processing
632:Arm's-length recursion
617:Arm's-Length Recursion
329:Computer science stubs
1347:The concept is messy!
1322:conditional execution
977:More complex examples
36:level-5 vital article
474:mathematics articles
147:Things you can help
1995:redirect guidelines
1989:has been listed at
1820:form of the program
662:â Steven G. Johnson
658:recursion unrolling
1699:Collatz conjecture
1153:// Recursive Case:
443:Mathematics portal
45:content assessment
2040:, and it ignores
2038:backward chaining
1618:I can vouch that
1404:original research
1301:
1284:comment added by
1259:
1012:
995:comment added by
986:Catalan's_problem
882:comment added by
741:
729:comment added by
638:âNils von Barth (
550:comment added by
524:comment added by
508:
507:
504:
503:
500:
499:
399:
398:
395:
394:
391:
390:
387:
386:
2195:
2111:
2108:
2105:
2102:
2099:
2096:
2093:
2090:
2087:
2084:
2081:
2078:
2075:
2072:
2069:
2066:
2063:
2060:
2057:
2042:forward chaining
2011:
1988:
1982:
1874:Jochen Burghardt
1810:
1807:
1804:
1801:
1798:
1795:
1792:
1789:
1786:
1783:
1780:
1777:
1774:
1771:
1768:
1765:
1762:
1759:
1756:
1753:
1750:
1747:
1744:
1741:
1738:
1735:
1732:
1729:
1726:
1723:
1720:
1717:
1714:
1711:
1708:
1556:Jochen Burghardt
1396:reliable sources
1300:
1278:
1249:
1212:
1209:
1206:
1203:
1200:
1197:
1194:
1191:
1188:
1185:
1182:
1179:
1176:
1173:
1170:
1167:
1164:
1161:
1158:
1154:
1151:
1148:
1145:
1142:
1139:
1136:
1133:
1130:
1127:
1124:
1121:
1118:
1115:
1112:
1109:
1106:
1103:
1100:
1097:
1094:
1091:
1088:
1085:
1082:
1079:
1076:
1073:
1070:
1011:
989:
894:
724:
562:
536:
476:
475:
472:
469:
466:
445:
440:
439:
429:
422:
421:
416:
408:
401:
377:
371:
246:Computer science
175:Article requests
164:
157:
156:
144:
118:
117:
114:
111:
108:
107:Computer science
98:Computer science
87:
80:
79:
74:
70:Computer science
66:
59:
42:
33:
32:
25:
24:
16:
2203:
2202:
2198:
2197:
2196:
2194:
2193:
2192:
2128:
2127:
2116:Robert Kowalski
2113:
2112:
2109:
2106:
2103:
2100:
2097:
2094:
2091:
2088:
2085:
2082:
2079:
2076:
2073:
2070:
2067:
2064:
2061:
2058:
2055:
2026:
2005:
1984:
1976:
1890:
1812:
1811:
1808:
1805:
1802:
1799:
1796:
1793:
1790:
1787:
1784:
1781:
1778:
1775:
1772:
1769:
1766:
1763:
1760:
1757:
1754:
1751:
1748:
1745:
1742:
1739:
1736:
1733:
1730:
1727:
1724:
1721:
1718:
1715:
1712:
1709:
1706:
1671:
1593:
1532:
1482:
1454:
1435:
1424:
1376:
1349:
1307:
1279:
1269:
1219:
1214:
1213:
1210:
1207:
1204:
1201:
1198:
1195:
1192:
1189:
1186:
1183:
1180:
1177:
1174:
1171:
1168:
1165:
1162:
1159:
1156:// If k : -->
1155:
1152:
1149:
1146:
1143:
1140:
1137:
1134:
1131:
1128:
1125:
1122:
1119:
1116:
1113:
1110:
1107:
1104:
1101:
1098:
1095:
1092:
1089:
1086:
1083:
1080:
1077:
1074:
1071:
1068:
1018:
990:
979:
952:
950:Possible error?
900:
877:
851:
782:
717:
677:
619:
597:
545:
542:
519:
516:
473:
470:
467:
464:
463:
441:
434:
414:
383:
380:
375:
369:
357:Project-related
352:
333:
314:
288:
269:
250:
231:
212:
188:
115:
112:
109:
106:
105:
72:
43:on Knowledge's
40:
30:
12:
11:
5:
2201:
2199:
2191:
2190:
2185:
2180:
2175:
2170:
2165:
2160:
2155:
2150:
2145:
2140:
2130:
2129:
2054:
2025:
2022:
1975:
1965:
1964:
1963:
1949:
1935:
1934:
1933:
1930:
1927:
1924:
1889:
1886:
1885:
1884:
1866:
1863:in the article
1854:
1831:
1830:
1705:
1703:
1702:
1695:
1679:
1678:
1670:
1667:
1666:
1665:
1629:
1616:
1597:158.180.128.10
1592:
1589:
1588:
1587:
1586:
1585:
1567:
1566:
1531:
1528:
1527:
1526:
1512:
1481:
1478:
1453:
1450:
1432:
1423:
1420:
1419:
1418:
1375:
1372:
1348:
1345:
1306:
1303:
1268:
1265:
1264:
1263:
1218:
1215:
1067:
1065:
1064:
1063:
1062:
1048:
1045:
1017:
1014:
978:
975:
951:
948:
947:
946:
930:
929:
899:
896:
856:Big O notation
850:
847:
846:
845:
842:
839:
838:
837:
831:
830:
829:
826:design pattern
818:
817:
816:
806:
805:
804:
803:
802:
781:
778:
777:
776:
775:
774:
759:
751:
731:216.125.160.51
716:
713:
676:
673:
672:
671:
670:
669:
651:
650:
618:
615:
596:
593:
552:82.138.219.211
541:
538:
515:
512:
510:
506:
505:
502:
501:
498:
497:
486:
480:
479:
477:
460:the discussion
447:
446:
430:
418:
417:
409:
397:
396:
393:
392:
389:
388:
385:
384:
382:
381:
379:
378:
361:
353:
351:
350:
344:
334:
332:
331:
325:
315:
313:
312:
307:
299:
289:
287:
286:
280:
270:
268:
267:
261:
251:
249:
248:
242:
232:
230:
229:
223:
213:
211:
210:
205:
199:
189:
187:
186:
180:
168:
166:
165:
153:
152:
140:
139:
132:Top-importance
128:
122:
121:
119:
102:the discussion
88:
76:
75:
73:Topâimportance
67:
55:
54:
48:
26:
13:
10:
9:
6:
4:
3:
2:
2200:
2189:
2186:
2184:
2181:
2179:
2176:
2174:
2171:
2169:
2166:
2164:
2161:
2159:
2156:
2154:
2151:
2149:
2146:
2144:
2141:
2139:
2136:
2135:
2133:
2126:
2125:
2121:
2117:
2052:
2050:
2049:declaratively
2045:
2043:
2039:
2034:
2032:
2023:
2021:
2020:
2016:
2012:
2010:
2009:
2002:
2001:
1996:
1992:
1987:
1983:The redirect
1981:
1974:
1970:
1966:
1962:
1958:
1954:
1950:
1948:
1944:
1940:
1936:
1931:
1928:
1925:
1922:
1919:
1918:
1916:
1915:
1914:
1913:
1909:
1905:
1900:
1896:
1893:
1887:
1883:
1879:
1875:
1871:
1867:
1864:
1859:
1855:
1852:
1851:
1850:
1849:
1845:
1841:
1836:
1828:
1827:
1826:
1823:
1821:
1817:
1700:
1696:
1693:
1689:
1684:
1683:
1682:
1676:
1675:
1674:
1668:
1664:
1660:
1656:
1652:
1648:
1644:
1640:
1636:
1632:
1630:
1627:
1626:
1621:
1617:
1614:
1609:
1608:
1607:
1606:
1602:
1598:
1590:
1584:
1580:
1576:
1571:
1570:
1569:
1568:
1565:
1561:
1557:
1553:
1552:
1551:
1550:
1546:
1542:
1537:
1529:
1525:
1521:
1517:
1513:
1510:
1506:
1502:
1501:
1500:
1499:
1495:
1491:
1487:
1479:
1477:
1476:
1472:
1468:
1464:
1460:
1451:
1449:
1448:
1444:
1440:
1431:
1429:
1421:
1417:
1413:
1409:
1405:
1401:
1397:
1393:
1392:
1391:
1390:
1386:
1382:
1371:
1370:
1366:
1362:
1358:
1355:
1352:
1346:
1344:
1343:
1339:
1335:
1334:John lindgren
1331:
1328:
1325:
1323:
1319:
1314:
1311:
1304:
1302:
1299:
1295:
1291:
1287:
1283:
1275:
1272:
1266:
1262:
1257:
1253:
1246:
1242:
1241:
1240:
1239:
1235:
1231:
1227:
1222:
1216:
1114:// Base Case:
1061:
1057:
1053:
1052:76.121.28.181
1049:
1046:
1043:
1039:
1038:
1037:
1036:
1035:
1034:
1030:
1026:
1025:174.57.188.50
1021:
1015:
1013:
1010:
1006:
1002:
998:
994:
987:
982:
976:
974:
973:
969:
965:
964:68.40.187.164
961:
958:
955:
949:
945:
941:
937:
936:142.20.20.193
932:
931:
928:
924:
920:
916:
915:
914:
913:
909:
905:
897:
895:
893:
889:
885:
884:68.40.187.164
881:
876:
871:
870:
866:
862:
858:
857:
848:
843:
840:
835:
834:
832:
827:
823:
819:
814:
813:
811:
810:
807:
801:
797:
796:
794:
793:
791:
790:
789:
787:
779:
773:
769:
765:
764:Ghettoblaster
760:
756:
752:
750:
746:
745:
744:
743:
742:
740:
736:
732:
728:
721:
714:
712:
711:
707:
703:
702:76.191.222.13
699:
695:
689:
688:
685:
680:
674:
667:
663:
659:
655:
654:
653:
652:
649:
645:
641:
637:
636:
635:
633:
628:
627:
624:
614:
613:
609:
605:
601:
594:
592:
591:
587:
583:
577:
576:
572:
568:
567:76.191.222.13
563:
561:
557:
553:
549:
539:
537:
535:
531:
527:
526:165.234.0.138
523:
513:
511:
495:
491:
485:
482:
481:
478:
461:
457:
453:
452:
444:
438:
433:
431:
428:
424:
423:
419:
413:
410:
407:
403:
374:
367:
363:
362:
360:
358:
354:
349:
346:
345:
343:
341:
340:
335:
330:
327:
326:
324:
322:
321:
316:
311:
308:
305:
301:
300:
298:
296:
295:
290:
285:
282:
281:
279:
277:
276:
271:
266:
263:
262:
260:
258:
257:
252:
247:
244:
243:
241:
239:
238:
233:
228:
225:
224:
222:
220:
219:
214:
209:
206:
204:
201:
200:
198:
196:
195:
190:
185:
182:
181:
179:
177:
176:
171:
170:
167:
163:
159:
158:
155:
154:
150:
146:
145:
141:
137:
133:
127:
124:
123:
120:
103:
99:
95:
94:
89:
86:
82:
81:
77:
71:
68:
65:
61:
56:
52:
46:
38:
37:
27:
23:
18:
17:
2114:
2046:
2035:
2027:
2007:
2006:
1998:
1977:
1971:" listed at
1920:
1901:
1897:
1894:
1891:
1862:
1857:
1834:
1832:
1824:
1819:
1815:
1813:
1680:
1672:
1623:
1619:
1594:
1533:
1505:Agent Orange
1486:Agent Orange
1483:
1462:
1458:
1455:
1436:
1425:
1381:72.82.63.137
1377:
1359:
1356:
1353:
1350:
1332:
1329:
1326:
1321:
1317:
1315:
1312:
1308:
1276:
1273:
1270:
1244:
1223:
1220:
1041:
1022:
1019:
983:
980:
962:
959:
956:
953:
901:
872:
854:
852:
799:
785:
783:
754:
722:
718:
697:
693:
690:
681:
678:
629:
620:
598:
578:
565:Just added.
564:
543:
520:â Preceding
517:
509:
490:Mid-priority
489:
449:
415:Midâpriority
356:
355:
339:Unreferenced
337:
336:
318:
317:
292:
291:
273:
272:
254:
253:
235:
234:
216:
215:
192:
191:
173:
172:
131:
91:
51:WikiProjects
34:
1858:in the lead
1701:step count:
1507:, but some
1280:âPreceding
1230:130.92.9.56
991:âPreceding
919:Quuxplusone
878:âPreceding
822:GoF pattern
725:âPreceding
684:84.9.82.184
582:Frankie1969
546:âPreceding
465:Mathematics
456:mathematics
412:Mathematics
2132:Categories
1688:Tony Hoare
1669:Definition
1639:Snap Store
1490:Damotclese
904:80.66.6.99
2033:article.
2008:Steel1943
1692:Quicksort
1649:dialect)
1613:GNU Guile
1016:Java code
604:Kamitsaha
540:Base Case
227:Computing
39:is rated
1953:Macrakis
1939:Macrakis
1840:Macrakis
1637:and the
1575:Bkthfrst
1541:Bkthfrst
1534:I added
1516:Macrakis
1467:Macrakis
1452:Examples
1408:Macrakis
1361:Stamcose
1294:contribs
1286:Brutzman
1282:unsigned
1005:contribs
993:unsigned
917:Done. --
880:unsigned
727:unsigned
623:Skaraoke
548:unsigned
522:unsigned
275:Maintain
218:Copyedit
2031:Datalog
1758:collatz
1710:collatz
1655:DrKC MD
1635:Flathub
1087:private
997:Rahulov
514:History
492:on the
256:Infobox
194:Cleanup
134:on the
41:C-class
1749:return
1737:return
1651:Racket
1647:Scheme
1459:moving
1400:essays
1166:return
1141:return
1090:static
861:Abdull
640:nbarth
237:Expand
47:scale.
2107:logic
2095:likes
2080:alice
2074:likes
2068:logic
2062:alice
2056:likes
1904:Benlc
1872:". -
1463:count
1439:pgr94
1129:<=
320:Stubs
294:Photo
151:with:
28:This
2120:talk
2015:talk
1957:talk
1943:talk
1908:talk
1878:talk
1844:talk
1791:else
1743:else
1659:talk
1643:Lisp
1625:SICP
1620:HtDP
1601:talk
1579:talk
1560:talk
1545:talk
1520:talk
1509:lint
1494:talk
1471:talk
1443:talk
1412:talk
1402:and
1385:talk
1365:talk
1338:talk
1290:talk
1256:talk
1245:must
1234:talk
1160:else
1056:talk
1029:talk
1001:talk
968:talk
940:talk
923:talk
908:talk
888:talk
865:talk
786:good
768:talk
735:talk
706:talk
694:zero
666:talk
644:talk
608:talk
602:) --
586:talk
571:talk
556:talk
530:talk
2044:.
1921:all
1835:all
1707:def
1428:pdf
1320:or
1252:CBM
1190:fib
1169:fib
1102:int
1096:fib
1093:int
1069:/**
755:and
696:or
642:) (
484:Mid
126:Top
2134::
2122:)
2110:).
2092::-
2071:).
2017:)
1959:)
1945:)
1910:)
1880:)
1846:)
1838:--
1785:==
1773:if
1767://
1728:==
1722:if
1719:):
1661:)
1603:)
1581:)
1562:)
1547:)
1522:)
1496:)
1473:)
1445:)
1414:)
1387:)
1367:)
1340:)
1324:?
1296:)
1292:â˘
1254:¡
1236:)
1205:);
1120:if
1084:*/
1058:)
1031:)
1007:)
1003:â˘
970:)
942:)
925:)
910:)
890:)
867:)
828:).
770:)
737:)
708:)
682:--
646:)
634:.
610:)
588:)
573:)
558:)
532:)
376:}}
370:{{
2118:(
2104:,
2101:X
2098:(
2089:)
2086:X
2083:,
2077:(
2065:,
2059:(
2013:(
1967:"
1955:(
1941:(
1906:(
1876:(
1842:(
1816:n
1809:)
1806:1
1803:+
1800:n
1797:*
1794:3
1788:0
1782:2
1779:%
1776:n
1770:2
1764:n
1761:(
1755:+
1752:1
1746::
1740:0
1734::
1731:1
1725:n
1716:n
1713:(
1657:(
1645:/
1599:(
1577:(
1558:(
1543:(
1518:(
1492:(
1469:(
1441:(
1410:(
1383:(
1363:(
1336:(
1288:(
1258:)
1250:(
1232:(
1211:}
1208:}
1202:2
1199:-
1196:k
1193:(
1187:+
1184:)
1181:1
1178:-
1175:k
1172:(
1163:{
1150:}
1147:;
1144:1
1138:{
1135:)
1132:2
1126:k
1123:(
1111:{
1108:)
1105:k
1099:(
1075:*
1054:(
1027:(
999:(
966:(
938:(
921:(
906:(
886:(
863:(
766:(
733:(
704:(
668:)
664:(
606:(
584:(
569:(
554:(
528:(
496:.
359::
342::
323::
306:)
297::
278::
259::
240::
221::
197::
178::
138:.
53::
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.