Knowledge

Algorithm

Source 📝

155: 781: 1920: 225: 1934: 881:). Natural language expressions of algorithms tend to be verbose and ambiguous and are rarely used for complex or technical algorithms. Pseudocode, flowcharts, drakon-charts, and control tables are structured expressions of algorithms that avoid common ambiguities of natural language. Programming languages are primarily for expressing algorithms in a computer-executable form, but are also used to define or document algorithms. 1385:
the results back together. Resource consumption in these algorithms is not only processor cycles on each processor but also the communication overhead between the processors. Some sorting algorithms can be parallelized efficiently, but their communication overhead is expensive. Iterative algorithms are generally parallelizable, but some problems have no parallel algorithms and are called inherently serial problems.
475: 102: 3573: 47: 4123:, p. 223ff. Herein is Rosser's famous definition of "effective method": "...a method each step of which is precisely predetermined and which is certain to produce the answer in a finite number of steps... a machine which will then solve any problem of the set with no human intervention beyond inserting the question and (later) reading the answer" (p. 225–226, 918:
how it is implemented on the Turing machine. An implementation description describes the general manner in which the machine moves its head and stores data in order to carry out the algorithm, but does not give exact states. In the most detail, a formal description gives the exact state table and list of transitions of the Turing machine.
1645:. A linear programming algorithm can solve such a problem if it can be proved that all restrictions for integer values are superficial, i.e., the solutions satisfy these restrictions anyway. In the general case, a specialized algorithm or an algorithm that finds approximate solutions is used, depending on the difficulty of the problem. 931:(SEQUENCE, GOTO), the diamond (IF-THEN-ELSE), and the dot (OR-tie). The Böhm–Jacopini canonical structures are made of these primitive shapes. Sub-structures can "nest" in rectangles, but only if a single exit occurs from the superstructure. The symbols and their use to build the canonical structures are shown in the diagram. 1488:, which solves an identical subproblem and uses the solution of this subproblem to solve the bigger problem. Divide and conquer divides the problem into multiple subproblems and so the conquer stage is more complex than decrease and conquer algorithms. An example of a decrease and conquer algorithm is the 1384:
algorithms. Parallel algorithms take advantage of computer architectures where multiple processors can work on a problem at the same time. Distributed algorithms use multiple machines connected via a computer network. Parallel and distributed algorithms divide the problem into subproblems and collect
1184:
is tested using real code. The efficiency of a particular algorithm may be insignificant for many "one-off" problems but it may be critical for algorithms designed for fast interactive, commercial or long life scientific usage. Scaling from small n to large n frequently exposes inefficient algorithms
1688:
is similar to a dynamic programming algorithm in that it works by examining substructures, in this case not of the problem but of a given solution. Such algorithms start with some solution, which may be given or have been constructed in some way and improve it by making small modifications. For some
917:
called "sets of quadruples", and more. Algorithm representations can also be classified into three accepted levels of Turing machine description: high-level description, implementation description, and formal description. A high-level description describes qualities of the algorithm itself, ignoring
1530:
Such algorithms make some choices randomly (or pseudo-randomly). They can be very useful in finding approximate solutions for problems where finding exact solutions can be impractical (see heuristic method below). For some of these problems, it is known that the fastest approximations must involve
1464:
Brute force is a problem-solving method of systematically trying every possible option until the optimal solution is found. This approach can be very time-consuming, testing every possible combination of variables. It is often used when other methods are unavailable or too complex. Brute force can
1673:
go together. The main difference between dynamic programming and divide and conquer is that subproblems are more or less independent in divide and conquer, whereas subproblems overlap in dynamic programming. The difference between dynamic programming and straightforward recursion is in caching or
1210:
algorithms (used heavily in the field of image processing), can decrease processing time up to 1,000 times for applications like medical imaging. In general, speed improvements depend on special properties of the problem, which are very common in practical applications. Speedups of this magnitude
2210:
Whether or not a process with random interior processes (not including the input) is an algorithm is debatable. Rogers opines that: "a computation is carried out in a discrete stepwise fashion, without the use of continuous methods or analog devices ... carried forward deterministically, without
930:
offers a way to describe and document an algorithm (and a computer program corresponding to it). Like the program flow of a Minsky machine, a flowchart always starts at the top of a page and proceeds down. Its primary symbols are only four: the directed arrow showing program flow, the rectangle
1723:
can be used to find a solution close to the optimal solution in cases where finding the optimal solution is impractical. These algorithms work by getting closer and closer to the optimal solution as they progress. In principle, if run for an infinite amount of time, they will find the optimal
1237:. Techniques for designing and implementing algorithm designs are also called algorithm design patterns, with examples including the template method pattern and the decorator pattern. One of the most important aspects of algorithm design is resource (run-time, memory usage) efficiency; the 1416:, where there is a set of items and the goal is to pack the knapsack to get the maximum total value. Each item has some weight and some value. The total weight that can be carried is no more than some fixed number X. So, the solution must consider weights of items as well as their value. 1628:
When searching for optimal solutions to a linear function bound to linear equality and inequality constraints, the constraints of the problem can be used directly in producing the optimal solutions. There are algorithms that can solve any problem in this category, such as the popular
3863:, p. 255ff. Kleene refined his definition of "general recursion" and proceeded in his chapter "12. Algorithmic theories" to posit "Thesis I" (p. 274); he would later repeat this thesis (in Kleene 1952:300) and name it "Church's Thesis"(Kleene 1952:317) (i.e., the 1759:
One of the simplest algorithms is to find the largest number in a list of numbers of random order. Finding the solution requires looking at every number in the list. From this follows a simple algorithm, which can be stated in a high-level description in English prose, as:
4055:, pp. 289ff. Post defines a simple algorithmic-like process of a man writing marks or erasing marks and going from box to box and eventually halting, as he follows a list of simple instructions. This is cited by Kleene as one source of his "Thesis I", the so-called 947:
It is often important to know how much time, storage, or other cost an algorithm may require. Methods have been developed for the analysis of algorithms to obtain such quantitative answers (estimates); for example, an algorithm that adds up the elements of a list of
771:
in 1937. While working in Bell Laboratories, he observed the "burdensome" use of mechanical calculators with gears. "He went home one evening in 1937 intending to test his idea... When the tinkering was over, Stibitz had constructed a binary adding device".
1483:
is an example of divide and conquer. Sorting can be done on each segment of data after dividing data into segments and sorting of entire data can be obtained in the conquer phase by merging the segments. A simpler variant of divide and conquer is called a
1288:
By themselves, algorithms are not usually patentable. In the United States, a claim consisting solely of simple manipulations of abstract concepts, numbers, or signals does not constitute "processes" (USPTO 2006), so algorithms are not patentable (as in
1257:
model. Turing completeness only requires four instruction types—conditional GOTO, unconditional GOTO, assignment, HALT. However, Kemeny and Kurtz observe that, while "undisciplined" use of unconditional GOTOs and conditional IF-THEN GOTOs can result in
3980:. Imprint Moscow, Academy of Sciences of the USSR, 1954 Description 444 p. 28 cm. Added t.p. in Russian Translation of Works of the Mathematical Institute, Academy of Sciences of the USSR, v. 42. Original title: Teoriya algerifmov. 5459: 275:
is an approach to problem-solving that may not be fully specified or may not guarantee correct or optimal results, especially in problem domains where there is no well-defined correct or optimal result. For example, although social media
1693:, that is, at solutions that cannot be improved by the algorithm but are not optimum. The most popular use of greedy algorithms is for finding the minimal spanning tree where finding the optimal solution is possible with this method. 1740:. Some of them, like simulated annealing, are non-deterministic algorithms while others, like tabu search, are deterministic. When a bound on the error of the non-optimal solution is known, the algorithm is further categorized as an 1674:
memoization of recursive calls. When subproblems are independent and there is no repetition, memoization does not help; hence dynamic programming is not a solution for all complex problems. By using memoization or maintaining a
1262:", a programmer can write structured programs using only these instructions; on the other hand "it is also possible, and not too hard, to write badly structured programs in a structured language". Tausworthe augments the three 989:. The algorithm only needs to remember two values: the sum of all the elements so far, and its current position in the input list. If the space required to store the input numbers is not counted, it has a space requirement of 1591:
for finding the median in an unsorted list involves first sorting the list (the expensive portion) and then pulling out the middle element in the sorted list (the cheap portion). This technique is also known as
431:
define an algorithm to be an explicit set of instructions for determining an output, that can be followed by a computing machine or a human who could only carry out specific elementary operations on symbols
226: 303:, proceeds through a finite number of well-defined successive states, eventually producing "output" and terminating at a final ending state. The transition from one state to the next is not necessarily 1376:
Algorithms are usually discussed with the assumption that computers execute one instruction of an algorithm at a time on serial computers. Serial algorithms are designed for these environments, unlike
1192:
may be used to compare before/after potential improvements to an algorithm after program optimization. Empirical tests cannot replace formal analysis, though, and are non-trivial to perform fairly.
706:
in the mid-19th century. Lovelace is credited with the first creation of an algorithm intended for processing on a computer, Babbage's analytical engine, which is the first device considered a real
3577: 1619:
there is a more specific classification of algorithms; an algorithm for such problems may fall into one or more of the general categories described above as well as into one of the following:
2149:
Well defined concerning the agent that executes the algorithm: "There is a computing agent, usually human, which can react to the instructions and carry out the computations" (Rogers 1987:2).
5404: 714:. Lovelace is sometimes called "history's first programmer" as a result, though a full implementation of Babbage's second device would not be realized until decades after her lifetime. 5449: 1370:
is a puzzle commonly solved using recursive implementation. Every recursive version has an equivalent (but possibly more or less complex) iterative version, and vice versa.
5454: 4695: 1225:
Algorithm design is a method or mathematical process for problem-solving and engineering algorithms. The design of algorithms is part of many solution theories, such as
1101: 5520: 1134: 1051: 1018: 981: 112: 2789: 3771: 5073: 2220:
Blair, Ann, Duguid, Paul, Goeing, Anja-Silvia and Grafton, Anthony. Information: A Historical Companion, Princeton: Princeton University Press, 2021. p. 247
5442: 5078: 4374:
Zaslavsky, C. (1970). Mathematics of the Yoruba People and of Their Neighbors in Southern Nigeria. The Two-Year College Mathematics Journal, 1(2), 76–99.
3069:(described using a membership oracle) can be approximated to high accuracy by a randomized polynomial time algorithm, but not by a deterministic one: see 1180:
is typical for analysis as it is a simple and general representation. Most algorithms are implemented on particular hardware/software platforms and their
1775:
For each remaining number in the set: if this number is larger than the current largest number, consider this number to be the largest number in the set.
4688: 1266:: SEQUENCE, IF-THEN-ELSE, and WHILE-DO, with two more: DO-WHILE and CASE. An additional benefit of a structured program is that it lends itself to 1653:
When a problem shows optimal substructures—meaning the optimal solution to a problem can be constructed from optimal solutions to subproblems—and
4802: 1606:
In this approach, multiple solutions are built incrementally and abandoned when it is determined that they cannot lead to a valid full solution.
1176:
or implementation. Algorithm analysis resembles other mathematical disciplines as it focuses on the algorithm's properties, not implementation.
123: 5437: 4627: 4287: 2162:(concerning some chosen notation for integers) ... this limitation (to numerical functions) results in no loss of generality", (Rogers 1987:1). 1785:
Written in prose but much closer to the high-level language of a computer program, the following is the more formal coding of the algorithm in
1724:
solution. Their merit is that they can find a solution very close to the optimal solution in a relatively short time. Such algorithms include
3973: 3071:
Dyer, Martin; Frieze, Alan; Kannan, Ravi (January 1991). "A Random Polynomial-time Algorithm for Approximating the Volume of Convex Bodies".
2188:"A procedure which has all the characteristics of an algorithm except that it possibly lacks finiteness may be called a 'computational method 5513: 5255: 3588: 1322: 2818: 331:("Addition and subtraction in Indian arithmetic"). In the early 12th century, Latin translations of said al-Khwarizmi texts involving the 4681: 4643: 2892: 1211:
enable computing devices that make extensive use of image processing (like digital cameras and medical equipment) to consume less power.
1412:
seek an approximation that is close to the true solution. Such algorithms have practical value for many hard problems. For example, the
5300: 2611: 643: 586:. Babylonian clay tablets describe and employ algorithmic procedures to compute the time and place of significant astronomical events. 4359: 2522: 1206:
To illustrate the potential improvements possible even in well-established algorithms, a recent significant innovation, relating to
4807: 1778:
When there are no numbers left in the set to iterate over, consider the current largest number to be the largest number of the set.
1566: 3210: 2090: 730:(punch cards), and "telephone switching technologies" led to the development of the first computers. By the mid-19th century, the 5506: 5216: 1579:
This technique involves solving a difficult problem by transforming it into a better-known problem for which we have (hopefully)
686:
mechanism that provides the tick and tock of a mechanical clock. "The accurate automatic machine" led immediately to "mechanical
4660: 4142:. Intelligent Systems, Control and Automation: Science and Engineering. Vol. 74. Switzerland: Springer. pp. 111–127. 3690: 3351:) where he defines the notion of "effective calculability" in terms of "an algorithm", and he uses the word "terminates", etc. 5777: 4817: 4569: 4548: 4527: 4511: 4491:
Hertzke, Allen D.; McRorie, Chris (1998). "The Concept of Moral Ecology". In Lawler, Peter Augustine; McConkey, Dale (eds.).
4481: 4462: 4443: 4424: 4403: 4272: 4244: 4202: 4181: 4155: 4072: 4000: 3905: 3883: 3816:, p. 237ff. Kleene's definition of "general recursion" (known now as mu-recursion) was used by Church in his 1935 paper 3748: 3711: 3669: 3648: 3517: 3470: 3444: 3293: 3269: 3231: 3026: 2864: 2590: 2477: 2387: 3431:, p. 110ff. Church shows that the Entscheidungsproblem is unsolvable in about 3 pages of text and 3 pages of footnotes. 3040: 2870: 2259: 1678:
of subproblems already solved, dynamic programming reduces the exponential nature of many problems to polynomial complexity.
5383: 2137:"Any classical mathematical algorithm, for example, can be described in a finite number of English words" (Rogers 1987:2). 4837: 4832: 4652: 3695:, ACM Transactions on Computational Logic, Vol 1, no 1 (July 2000), pp. 77–111. Includes bibliography of 33 sources. 2248:. Untimely Meditations. Vol. 14. Translated by Chase, Jefferson. Cambridge, Massachusetts: MIT Press. p. 147. 253: 2829: 2201:"An algorithm has one or more outputs, i.e., quantities which have a specified relation to the inputs" (Knuth 1973:5). 1058:
Different algorithms may complete the same task with a different set of instructions in less or more time, space, or '
4225: 3760: 3723: 3681: 3243: 3180: 2932: 2785: 2505: 2355: 2295: 2253: 408:
One informal definition is "a set of rules that precisely defines a sequence of operations", which would include all
141: 83: 5250: 4934: 3799: 2031: 1155: 280:
are commonly called "algorithms", they actually rely on heuristics as there is no truly "correct" recommendation.
4997: 4757: 4317:, p. 116ff. Turing's famous paper completed as a Master's dissertation while at King's College Cambridge UK. 4255:. His succinct informal definition: "...any sequence of instructions that can be obeyed by a robot, is called an 4161: 2056: 1594: 1584: 332: 514:
Since antiquity, step-by-step procedures for solving mathematical problems have been recorded. This includes in
4924: 2123: 1429:. The term is usually used for those algorithms which seem inherently quantum or use some essential feature of 647: 381:
in 1391, English adopted the French term. In the 15th century, under the influence of the Greek word ἀριθμός (
4929: 4822: 4597: 1877: 1657:, meaning the same subproblems are used to solve many different problem instances, a quicker approach called 5698: 5668: 5653: 5483: 4827: 3505: 3454: 2972: 1666: 1662: 1472: 1465:
solve a variety of problems, including finding the shortest path between two points and cracking passwords.
1226: 272: 5772: 4869: 4592: 1968: 1939: 1725: 1507: 1395: 402: 57: 1669:
can be found by using the shortest path to the goal from all adjacent vertices. Dynamic programming and
5723: 5597: 5587: 5567: 5487: 4951: 4363: 3461:
The Undecidable: Basic Papers On Undecidable Propositions, Unsolvable Problems and Computable Functions
2014: 1510:
specifies rules for moving around a graph and is useful for such problems. This category also includes
1263: 613: 594: 65: 35: 17: 795:
In 1928, a partial formalization of the modern concept of algorithms began with attempts to solve the
5602: 5347: 5280: 5275: 5238: 4769: 4742: 4712: 3943: 2003: 446: 257: 3085: 1637:
for directed graphs. If a problem additionally requires that one or more of the unknowns must be an
5204: 5199: 5108: 5068: 4784: 4056: 2741:(2016). "The (black) art of run-time evaluation: Are we comparing algorithms or implementations?". 2041: 1250: 780: 565: 4452: 682:
Bolter credits the invention of the weight-driven clock as "the key invention ," specifically the
116:
that states a Knowledge editor's personal feelings or presents an original argument about a topic.
5741: 5703: 5393: 4356:, pp. 155ff. Turing's paper that defined "the oracle" was his PhD thesis while at Princeton. 3734: 2977: 2021: 2008: 1978: 1741: 1489: 1409: 1391: 878: 806: 734:, the precursor of the telephone, was in use throughout the world. By the late 19th century, the 604: 424: 159: 5029: 401:
For a detailed presentation of the various points of view on the definition of "algorithm", see
5547: 5398: 5388: 5362: 5184: 5179: 5174: 5169: 5127: 5090: 5036: 4762: 4752: 4730: 4587: 3640: 3080: 2815: 1698: 1654: 1580: 1574: 1565:
always return the correct answer, but their running time is only probabilistically bound, e.g.
1363: 1351: 1326: 1310: 1271: 1207: 1201: 1181: 1165: 1151: 1071: 1059: 942: 898: 515: 292: 287:, an algorithm can be expressed within a finite amount of space and time and in a well-defined 31: 2375: 1350:
is one that invokes itself repeatedly until it meets a termination condition, and is a common
5607: 5577: 5315: 5295: 5233: 5162: 4941: 4919: 4894: 4794: 3763:. Cf. Chapter "The Spirit of Truth" for a history leading to, and a discussion of, his proof. 3549: 2046: 2036: 1993: 1988: 1963: 1706: 1548: 1434: 1381: 1241:
is used to describe e.g., an algorithm's run-time growth as the size of its input increases.
1189: 870: 608: 364: 300: 237: 3258: 2607: 1188:
Empirical testing is useful for uncovering unexpected interactions that affect performance.
5718: 5693: 5638: 5473: 5367: 5352: 5267: 5194: 5157: 5152: 5142: 4902: 4856: 3928:
Elements of Mathematical Logic and its Application to the theory of Subrecursive Algorithms
2051: 1998: 1983: 1716: 1634: 1616: 1525: 1451: 1438: 1291: 1267: 1173: 1159: 894: 797: 627: 590: 583: 519: 308: 2561: 1295:). However practical applications of algorithms are sometimes patentable. For example, in 1110: 1027: 994: 957: 8: 5767: 5728: 5713: 5658: 5342: 5211: 5122: 5009: 4980: 4704: 4668: 3699: 2846: 1733: 1720: 1702: 1648: 1642: 1588: 1562: 1540: 1426: 1398:
solve problems via guessing. Guesses are typically made more accurate through the use of
1347: 1230: 818: 622: 265: 4007:
Minsky expands his "...idea of an algorithm – an effective procedure..." in chapter 5.1
3195: 2290:. MIT Cognet library. Cambridge, Massachusetts: MIT Press (published 2001). p. 11. 488:
Please expand the section to include this information. Further details may exist on the
5746: 5648: 5643: 5557: 5479: 5132: 5118: 5100: 5083: 5063: 5046: 4956: 4779: 4496: 4414: 4304: 4110: 4102: 4042: 4034: 3989: 3962: 3850: 3791: 3740: 3659: 3633: 3459: 3418: 3410: 3383: 3375: 3347:, p. 89ff. The first expression of "Church's Thesis". See in particular page 100 ( 3334: 3280:
where they discuss "certain enumerable sets not effectively (mechanically) enumerable".
3160: 3098: 3032: 2766: 2734: 2553: 2445: 2239: 2082: 2026: 1958: 1925: 1754: 1675: 1623: 1458: 1377: 1234: 666: 582:
clay tablets described algorithms for computing formulas. Algorithms were also used in
561: 531: 523: 458: 277: 3306:, and Costa, J.F. (2000) An analog characterization of the subrecursive functions. In 154: 5708: 5552: 5305: 5041: 5019: 4946: 4907: 4884: 4673: 4606: 4565: 4544: 4477: 4458: 4439: 4420: 4399: 4346: 4285:(1936–37). "On Computable Numbers, With An Application to the Entscheidungsproblem". 4268: 4240: 4221: 4214: 4198: 4192: 4177: 4151: 4068: 3996: 3901: 3879: 3795: 3756: 3744: 3719: 3707: 3677: 3665: 3644: 3525: 3513: 3490: 3466: 3440: 3289: 3265: 3239: 3227: 3176: 3115: 3022: 2982: 2928: 2860: 2758: 2586: 2545: 2501: 2473: 2437: 2383: 2351: 2320:
Stone requires that "it must terminate in a finite number of steps" (Stone 1973:7–8).
2291: 2284:
Dietrich, Eric (1999). "Algorithm". In Wilson, Robert Andrew; Keil, Frank C. (eds.).
2249: 2119: 1919: 1737: 1630: 1430: 1422: 854: 695: 691: 527: 4114: 4085:(1939). "An Informal Exposition of Proofs of Godel's Theorem and Church's Theorem". 4046: 3387: 3102: 3036: 2962:
Knuth 1973 section 1.2.1, expanded by Tausworthe 1977 at pages 100ff and Chapter 9.1
2770: 2272:
the next level of abstraction of central bureaucracy: globally operating algorithms.
1313:
is controversial, and there are criticized patents involving algorithms, especially
5688: 5673: 5223: 5014: 5002: 4985: 4963: 4912: 4864: 4725: 4657: 4389: 4341: 4333: 4296: 4143: 4094: 4026: 3966: 3952: 3840: 3783: 3614: 3583: 3545: 3422: 3402: 3367: 3326: 3150: 3090: 3014: 2850: 2750: 2557: 2537: 2429: 2403: 1973: 1948: 1685: 1515: 1511: 1413: 1314: 1306: 1297: 1169: 814: 683: 442: 409: 378: 284: 188: 178: 119: 4524: 4508: 767:
were invented in 1835. These led to the invention of the digital adding device by
653:
The first cryptographic algorithm for deciphering encrypted code was developed by
412:(including programs that do not perform numeric calculations), and any prescribed 5663: 5498: 5329: 5285: 5112: 5056: 5051: 4990: 4812: 4737: 4664: 4559: 4531: 4515: 4453:
Thomas H. Cormen; Charles E. Leiserson; Ronald L. Rivest; Clifford Stein (2009).
4393: 4308: 3934: 3820:
that proved the "decision problem" to be "undecidable" (i.e., a negative result).
3253: 3066: 3008: 2920: 2854: 2833: 2822: 2285: 2243: 1556: 1552: 1475:
repeatedly reduces a problem to one or more smaller instances of itself (usually
1367: 1283: 1254: 842: 826: 707: 699: 687: 352: 344: 288: 249: 4147: 3920:
Volume 2/Seminumerical Algorithms, The Art of Computer Programming First Edition
1539:
can be the fastest algorithm for some problems is an open question known as the
423:. In general, a program is an algorithm only if it stops eventually—even though 5529: 4973: 4609: 4337: 4300: 3824: 3767: 3628: 3561: 2916: 1694: 1536: 1259: 1238: 986: 890: 768: 727: 489: 438: 4416:
The Advent of the Algorithm: The 300-Year Journey from an Idea to the Computer
3018: 2754: 1366:
to solve problems. Problems may be suited for one implementation or the other.
5761: 5678: 5633: 5290: 5245: 5228: 4874: 4747: 3984: 3864: 3812:
Presented to the American Mathematical Society, September 1935. Reprinted in
3730: 3686: 3619: 3602: 3541: 3533: 3482: 3355: 3314: 3249: 3191: 3187: 2986: 2762: 2549: 2441: 2418:"Mathematics of the Yoruba People and of Their Neighbors in Southern Nigeria" 1690: 1601: 1359: 1063: 914: 906: 902: 874: 834: 822: 802: 723: 662: 639: 304: 2179:
which are given to it initially before the algorithm begins" (Knuth 1973:5).
1325:. Additionally, some cryptographic algorithms have export restrictions (see 810: 690:" beginning in the 13th century and finally to "computational machines"—the 5628: 5592: 5562: 5310: 5189: 4968: 4879: 4774: 4503: 4321: 4282: 4082: 3915: 3893: 3565: 3557: 3537: 3529: 3393:
Church, Alonzo (1936). "Correction to a Note on the Entscheidungsproblem".
2826: 2738: 1661:
avoids recomputing solutions that have already been computed. For example,
1519: 1503: 1139: 910: 784: 703: 413: 320: 296: 233: 4368:, Manual of Patent Examining Procedure (MPEP). Latest revision August 2006 3957: 3938: 3501:
are included; those cited in the article are listed here by author's name.
3226:(1984 ed.). Chapel Hill, NC: The University of North Carolina Press. 3094: 2541: 1689:
problems they can find the optimal solution while for others they stop at
5582: 5421: 5337: 4535:. Stanford, California: Center for the Study of Language and Information. 4519:. Stanford, California: Center for the Study of Language and Information. 3486: 2811: 2578: 1790: 1729: 1670: 838: 757: 746: 735: 538: 450: 245: 241: 174: 2341: 2339: 2337: 2335: 1450:
Another way of classifying algorithms is by their design methodology or
445:. However, algorithms are also implemented by other means, such as in a 5572: 5357: 4132: 4106: 4038: 3854: 3787: 3414: 3379: 3338: 3303: 3164: 2449: 2417: 1786: 1587:
is not dominated by the resulting reduced algorithms. For example, one
1532: 1399: 1177: 858: 711: 618: 454: 336: 30:"Algorithms" redirects here. For the subfield of computer science, see 4639: 4009:
Computability, Effective Procedures and Algorithms. Infinite machines.
2610:. Wichita State University: Department of Mathematics and Statistics. 5405:
The Unreasonable Effectiveness of Mathematics in the Natural Sciences
4614: 4014: 3498: 2332: 1480: 1476: 1355: 927: 862: 830: 731: 579: 546: 261: 4098: 4030: 3845: 3828: 3406: 3371: 3330: 3155: 3138: 2433: 1933: 1772:
Assume the first number in the set is the largest number in the set.
1769:
If there are no numbers in the set, then there is no highest number.
256:
to divert the code execution through various routes (referred to as
3704:
From Frege to Gödel, A Source Book in Mathematical Logic, 1879–1931
3607:
Baltic International Yearbook of Cognition, Logic and Communication
2309:
An algorithm is a recipe, method, or technique for doing something.
2176: 1302: 654: 417: 373: 4395:
Habits of the Heart: Individualism and Commitment in American Life
4375: 4313:. Corrections, ibid, vol. 43(1937) pp. 544–546. Reprinted in 3478: 2925:
Back to Basic: The History, Corruption, and Future of the Language
1633:. Problems that can be solved with linear programming include the 1172:, and is often practiced abstractly without the use of a specific 5683: 3553: 3203:
Bulletin of European Association for Theoretical Computer Science
2211:
resort to random methods or devices, e.g., dice" (Rogers 1987:2).
1638: 853:
Algorithms can be expressed in many kinds of notation, including
550: 3692:
Sequential Abstract State Machines Capture Sequential Algorithms
474: 5460:
European Community on Computational Methods in Applied Sciences
5024: 4842: 4561:
Poems that Solve Puzzles: The History and Science of Algorithms
4216:
Unto Others: The Evolution and Psychology of Unselfish Behavior
3871: 3510:
Engines of Logic: Mathematicians and the Origin of the Computer
3494: 3062: 2672:, Valley News West Lebanon NH, Thursday, March 31, 1983, p. 13. 1709:
are greedy algorithms that can solve this optimization problem.
1318: 893:
programs can be expressed as a sequence of machine tables (see
866: 788: 764: 745:) was in use, as were Hollerith cards (c. 1890). Then came the 486:
about 20th and 21st century development of computer algorithms.
420: 2856:
Algorithm Design: Foundations, Analysis, and Internet Examples
371:, or "Thus spoke Al-Khwarizmi". Around 1230, the English word 4623: 3317:(1936). "An Unsolvable Problem of Elementary Number Theory". 3139:"On a Subrecursive Hierarchy and Primitive Recursive Degrees" 2378:. In Emch, Gerard G.; Sridharan, R.; Srinivas, M. D. (eds.). 1953: 1499: 1394:
solve the problem with exact decision at every step; whereas
542: 215: 5455:
International Council for Industrial and Applied Mathematics
4265:
Standardized Development of Computer Software Part 1 Methods
295:. Starting from an initial state and initial input (perhaps 5612: 4471: 3593: 2973:"The Experts: Does the Patent System Encourage Innovation?" 2172: 1905:" terminates the algorithm and outputs the following value. 1583:
algorithms. The goal is to find a reducing algorithm whose
809:" or "effective method". Those formalizations included the 526:(around 800 BC and later), the Ifa Oracle (around 500 BC), 212: 203: 113:
personal reflection, personal essay, or argumentative essay
3007:
Kellerer, Hans; Pferschy, Ulrich; Pisinger, David (2004).
2498:
A Brief History of Cryptology and Cryptographic Algorithms
1665:, the shortest path to a goal from a vertex in a weighted 805:. Later formalizations were framed as attempts to define " 236:
instructions, typically used to solve a class of specific
4436:
A History of Algorithms: From the Pebble to the Microchip
4365:
2106.02 **>Mathematical Algorithms: 2100 Patentability
4237:
Introduction to Computer Organization and Data Structures
4065:
Theory of Recursive Functions and Effective Computability
3308:
Proc. of the 4th Conference on Real Numbers and Computers
2348:
A History of Algorithms: From the Pebble to the Microchip
209: 200: 194: 4648: 3706:((1967) ed.). Harvard University Press, Cambridge. 3006: 2500:. Springer Science & Business Media. pp. 12–3. 1479:) until the instances are small enough to solve easily. 537:
The earliest evidence of algorithms is found in ancient
367:
of Al-Khwarizmi's name; the text starts with the phrase
4017:(1936). "Finite Combinatory Processes, Formulation I". 3995:(First ed.). Prentice-Hall, Englewood Cliffs, NJ. 2927:, Addison-Wesley Publishing Company, Inc. Reading, MA, 2350:. Springer Science & Business Media. pp. 7–8. 244:. Algorithms are used as specifications for performing 158:
Flowchart of using successive subtractions to find the
4703: 3639:. New York: Touchstone/Simon & Schuster. pp.  3477:
Davis gives commentary before each article. Papers of
638:).Examples of ancient Indian mathematics included the 299:), the instructions describe a computation that, when 5074:
Numerical methods for ordinary differential equations
4176:(3rd ed.). Morgan Kaufmann Publishers/Elsevier. 1113: 1074: 1030: 997: 960: 5450:
Société de Mathématiques Appliquées et Industrielles
5443:
Japan Society for Industrial and Applied Mathematics
5079:
Numerical methods for partial differential equations
4793: 3878:(Tenth ed.). North-Holland Publishing Company. 3264:(4th ed.). Cambridge University Press, London. 2733: 1915: 1551:
return a correct answer with high probability. E.g.
589:
Algorithms for arithmetic are also found in ancient
206: 197: 5266: 4138:. In van Rysewyk, Simon; Pontier, Matthijs (eds.). 2727: 191: 5528: 4604: 4213: 3988: 3632: 3458: 3257: 2380:Contributions to the History of Indian Mathematics 1128: 1095: 1045: 1012: 975: 659:A Manuscript On Deciphering Cryptographic Messages 3833:Transactions of the American Mathematical Society 3818:An Unsolvable Problem of Elementary Number Theory 3664:((1968, 1994) ed.). St. Martin's Press, NY. 3548:as the show-stealing villain. Very brief bios of 3224:Turing's Man: Western Culture in the Computer Age 3143:Transactions of the American Mathematical Society 1543:. There are two large classes of such algorithms: 5759: 4541:Moral Machines: Teaching Robots Right from Wrong 4539:Wallach, Wendell; Allen, Colin (November 2008). 3772:"General Recursive Functions of Natural Numbers" 3070: 2845: 2816:ACM-SIAM Symposium On Discrete Algorithms (SODA) 2116:Information Retrieval: Algorithms and Heuristics 905:for more), as flowcharts and drakon-charts (see 4557: 2783: 2659:Bell and Newell diagram 1971:39, cf. Davis 2000 1408:While many algorithms reach an exact solution, 60:for grammar, style, cohesion, tone, or spelling 5438:Society for Industrial and Applied Mathematics 4628:National Institute of Standards and Technology 4490: 4326:Proceedings of the London Mathematical Society 4324:(1939). "Systems of Logic Based on Ordinals". 4288:Proceedings of the London Mathematical Society 3698: 3358:(1936). "A Note on the Entscheidungsproblem". 3196:"Algorithms: A Quest for Absolute Definitions" 2287:The MIT Encyclopedia of the Cognitive Sciences 2245:The Death Algorithm and Other Digital Dilemmas 319:Around 825 AD, Persian scientist and polymath 5514: 4689: 3248: 3186: 2158:"an algorithm is a procedure for computing a 428: 389:"arithmetic"), the Latin word was altered to 5256:Supersymmetric theory of stochastic dynamics 4624:Dictionary of Algorithms and Data Structures 4538: 4398:. Berkeley: University of California Press. 4251:Cf. in particular the first chapter titled: 4212:Sober, Elliott; Wilson, David Sloan (1998). 4133:"Moral Ecology Approaches to Machine Ethics" 3589:Dictionary of Algorithms and Data Structures 3010:Knapsack Problems | Hans Kellerer | Springer 2583:Episodes from the Early History of Astronomy 2463: 2461: 2459: 889:There are many possible representations and 821:recursive functions of 1930, 1934 and 1935, 4644:State University of New York at Stony Brook 4267:. Englewood Cliffs NJ: Prentice–Hall, Inc. 4211: 4130: 3120:Linear Programming 2: Theory and Extensions 2804: 921: 329:kitab al-jam' wa'l-tafriq al-ḥisāb al-hindī 5521: 5507: 4696: 4682: 4262: 3900:. Reading, Massachusetts: Addison–Wesley. 3434: 3173:Computer Structures: Readings and Examples 3171:Bell, C. Gordon and Newell, Allen (1971), 2470:The History of Mathematics: A Brief Course 2238: 1145: 717: 4509:Selected Papers on Analysis of Algorithms 4412: 4360:United States Patent and Trademark Office 4345: 4281: 4253:Algorithms, Turing Machines, and Programs 4194:Introduction to the Theory of Computation 3991:Computation: Finite and Infinite Machines 3956: 3922:. Reading, Massachusetts: Addison–Wesley. 3844: 3618: 3600: 3581: 3218:Includes a bibliography of 56 references. 3154: 3084: 2491: 2489: 2456: 2415: 1804:. Output: The largest number in the list 1244: 952:numbers would have a time requirement of 791:", the first published computer algorithm 341:Liber Alghoarismi de practica arismetrice 142:Learn how and when to remove this message 84:Learn how and when to remove this message 4239:(1972 ed.). McGraw-Hill, New York. 3933: 2786:"Better Math Makes Faster Data Networks" 2668:Melina Hill, Valley News Correspondent, 2422:The Two-Year College Mathematics Journal 2283: 1610: 1105:) outperforms a sequential search (cost 779: 603:. Algorithms were later used in ancient 153: 4525:Selected Papers on Design of Algorithms 4433: 4220:. Cambridge: Harvard University Press. 3627: 2893:"Big-O notation (article) | Algorithms" 2345: 1800:LargestNumber Input: A list of numbers 1253:, any algorithm can be computed by any 1220: 1195: 936: 677: 669:, the earliest codebreaking algorithm. 657:, a 9th-century Arab mathematician, in 14: 5760: 4472:Harel, David; Feldman, Yishai (2004). 4388: 4320: 4190: 4081: 4062: 3983: 3870: 3829:"Recursive Predicates and Quantifiers" 3823: 3766: 3729: 3657: 3437:The Muslim contribution to mathematics 3392: 3354: 3313: 3283: 3221: 3175:, McGraw–Hill Book Company, New York. 2614:from the original on February 27, 2015 2585:. New York: Springer. pp. 40–62. 2495: 2486: 2373: 2262:from the original on December 22, 2019 2093:from the original on February 14, 2020 722:Bell and Newell (1971) write that the 457:or an insect looking for food), in an 5502: 4677: 4605: 4493:Community and Political Thought Today 4474:Algorithmics: The Spirit of Computing 4234: 4171: 4167:from the original on October 9, 2022. 3914: 3898:Fundamental Algorithms, Third Edition 3892: 3504: 3453: 3216:from the original on October 9, 2022. 3043:from the original on October 18, 2017 2711: 2709: 2707: 2705: 2577: 2520: 2467: 2369: 2367: 1555:is the subclass of these that run in 1535:. Whether randomized algorithms with 1445: 509: 4653:Associations for Computing Machinery 4640:The Stony Brook Algorithm Repository 4013: 3524:Davis offers concise biographies of 3310:, Odense University, pp. 91–109 2825:, Kyoto, January 2012. See also the 2145: 2143: 2133: 2131: 2110: 2108: 2077: 2075: 1337: 909:for more), as a form of rudimentary 468: 95: 40: 3136: 2873:from the original on April 28, 2015 1358:algorithms use repetitions such as 1221:Algorithm § By design paradigm 661:. He gave the first description of 437:Most algorithms are intended to be 327:("Book of Indian computation") and 252:. More advanced algorithms can use 24: 4705:Industrial and applied mathematics 4381: 2702: 2670:A Tinkerer Gets a Place in History 2376:"Algorithms in Indian Mathematics" 2364: 2214: 2114:David A. Grossman, Ophir Frieder, 1388:Deterministic or non-deterministic 1305:algorithm to aid in the curing of 1264:Böhm-Jacopini canonical structures 884: 848: 25: 5789: 4935:Stochastic differential equations 4580: 4131:Santos-Lang, Christopher (2015). 3435:Daffa', Ali Abdullah al- (1977). 2792:from the original on May 13, 2014 2743:Knowledge and Information Systems 2140: 2128: 2105: 2087:Merriam-Webster Online Dictionary 2072: 1502:) can be modelled as problems on 1332: 1166:analysis, and study of algorithms 349:Liber Algorismi de numero Indorum 27:Sequence of operations for a task 5251:Supersymmetric quantum mechanics 3576: This article incorporates 3571: 2814:, Dina Katabi, and Eric Price, " 2784:Gillian Conahan (January 2013). 2032:List of algorithm general topics 1932: 1918: 1156:Profiling (computer programming) 775: 763:Telephone-switching networks of 756:) with its punched-paper use of 473: 429:Boolos, Jeffrey & 1974, 1999 187: 100: 45: 5133:Stochastic variational calculus 4925:Ordinary differential equations 4649:Collected Algorithms of the ACM 4543:. US: Oxford University Press. 4376:https://doi.org/10.2307/3027363 4174:Programming Language Pragmatics 3876:Introduction to Metamathematics 3603:"Evolution and moral diversity" 3319:American Journal of Mathematics 3129: 3109: 3055: 3000: 2965: 2956: 2947: 2938: 2910: 2885: 2839: 2777: 2718: 2693: 2684: 2675: 2662: 2653: 2644: 2635: 2626: 2605: 2599: 2571: 2523:"Ancient Babylonian Algorithms" 2514: 2409: 2402:Hayashi, T. (2023, January 1). 2396: 2329:Boolos and Jeffrey 1974,1999:19 2323: 2314: 2277: 2232: 2223: 2057:Computational complexity theory 1498:Many problems (such as playing 1373:Serial, parallel or distributed 1277: 625:, which was first described in 427:may sometimes prove desirable. 4930:Partial differential equations 4803:Arbitrary-precision arithmetic 2859:. John Wiley & Sons, Inc. 2204: 2195: 2182: 2165: 2152: 1486:decrease-and-conquer algorithm 1301:, the application of a simple 1123: 1117: 1090: 1078: 1062:' than others. For example, a 1040: 1034: 1007: 1001: 970: 964: 321:Muḥammad ibn Mūsā al-Khwārizmī 13: 1: 4818:Interactive geometry software 4263:Tausworthe, Robert C (1977). 4019:The Journal of Symbolic Logic 3395:The Journal of Symbolic Logic 3360:The Journal of Symbolic Logic 2699:Rosser 1939 in Davis 1965:225 2690:Kleene 1943 in Davis 1965:274 1454:. Some common paradigms are: 750: 739: 632: 611:, which was described in the 597: 568: 554: 396: 5778:Theoretical computer science 4063:Rogers, Hartley Jr. (1987). 3930:, LSU Publ., Leningrad, 1981 1473:divide-and-conquer algorithm 1425:run on a realistic model of 1396:non-deterministic algorithms 801:(decision problem) posed by 672: 314: 311:, incorporate random input. 307:; some algorithms, known as 7: 4870:Computational number theory 4833:Numerical-analysis software 4593:Encyclopedia of Mathematics 4564:. Oxford University Press. 4457:(3rd ed.). MIT Press. 4148:10.1007/978-3-319-08108-3_8 3118:and Mukund N. Thapa. 2003. 2650:Bolter 1984:33–34, 204–206. 2416:Zaslavsky, Claudia (1970). 1969:Algorithm characterizations 1940:Computer programming portal 1911: 1783:(Quasi-)formal description: 1748: 1508:graph exploration algorithm 1309:was deemed patentable. The 1185:that are otherwise benign. 1142:on sorted lists or arrays. 926:The graphical aid called a 710:computer instead of just a 403:Algorithm characterizations 333:Hindu–Arabic numeral system 10: 5794: 4455:Introduction To Algorithms 4434:Chabert, Jean-Luc (1999). 4197:. PWS Publishing Company. 4172:Scott, Michael L. (2009). 3512:. New York: W.W. Nortion. 3286:Super-Recursive Algorithms 2832:February 21, 2012, at the 2406:. Encyclopedia Britannica. 2346:Chabert, Jean-Luc (2012). 2015:Introduction to Algorithms 1888:" means that the value of 1752: 1537:polynomial time complexity 1281: 1218: 1199: 1149: 940: 614:Introduction to Arithmetic 595:Rhind Mathematical Papyrus 464: 461:, or a mechanical device. 400: 232:) is a finite sequence of 36:Algorithm (disambiguation) 29: 5737: 5621: 5540: 5468: 5430: 5414: 5376: 5328: 5276:Algebra of physical space 5141: 5099: 4893: 4855: 4743:Automated theorem proving 4711: 4663:December 6, 2015, at the 4522:Knuth, Donald E. (2010). 4413:Berlinski, David (2001). 4347:21.11116/0000-0001-91CE-3 4235:Stone, Harold S. (1972). 4087:Journal of Symbolic Logic 3944:Communications of the ACM 3939:"Algorithm=Logic+Control" 3465:. New York: Raven Press. 3222:Bolter, David J. (1984). 3019:10.1007/978-3-540-24777-7 2755:10.1007/s10115-016-1004-2 2521:Knuth, Donald E. (1972). 2472:. John Wiley & Sons. 2382:. Springer. p. 153. 2083:"Definition of ALGORITHM" 2004:Computational mathematics 1641:then it is classified in 1214: 1096:{\displaystyle O(\log n)} 447:biological neural network 258:automated decision-making 5069:Numerical linear algebra 4558:Bleakley, Chris (2020). 4338:10.1112/plms/s2-45.1.161 4301:10.1112/plms/s2-42.1.230 4191:Sipser, Michael (2006). 3620:10.4148/biyclc.v7i0.1775 3544:, Gödel and Turing with 2788:. discovermagazine.com. 2496:Dooley, John F. (2013). 2468:Cooke, Roger L. (2005). 2065: 2042:Regulation of algorithms 1892:changes to the value of 1663:Floyd–Warshall algorithm 1410:approximation algorithms 1392:Deterministic algorithms 1362:or data structures like 922:Flowchart representation 765:electromechanical relays 377:is attested and then by 5742:List of data structures 4808:Finite element analysis 4758:Constraint satisfaction 3736:Alan Turing: The Enigma 3635:Darwin's Dangerous Idea 3260:Computability and Logic 2978:The Wall Street Journal 2022:Government by algorithm 2009:Garbage in, garbage out 1979:Algorithmic composition 1764:High-level description: 1742:approximation algorithm 1655:overlapping subproblems 1575:Reduction of complexity 1490:binary search algorithm 1146:Formal versus empirical 807:effective calculability 718:Electromechanical relay 607:. Two examples are the 605:Hellenistic mathematics 560:describes the earliest 325:kitāb al-ḥisāb al-hindī 234:mathematically rigorous 160:greatest common divisor 5363:Mathematical economics 5037:Multivariable calculus 4920:Differential equations 4763:Constraint programming 4753:Computational geometry 4658:The Stanford GraphBase 4634:Algorithm repositories 4530:July 16, 2017, at the 4140:Machine Medical Ethics 3658:Dilson, Jesse (2007). 3578:public domain material 3439:. London: Croom Helm. 2374:Sriram, M. S. (2005). 2175:or more inputs, i.e., 1581:asymptotically optimal 1549:Monte Carlo algorithms 1495:Search and enumeration 1352:functional programming 1327:export of cryptography 1272:mathematical induction 1245:Structured programming 1202:Algorithmic efficiency 1182:algorithmic efficiency 1152:Empirical algorithmics 1130: 1097: 1047: 1014: 977: 943:Analysis of algorithms 899:state-transition table 792: 516:Babylonian mathematics 484:is missing information 339:appeared, for example 170: 122:by rewriting it in an 34:. For other uses, see 32:Analysis of algorithms 5316:Supersymmetry algebra 5301:Representation theory 5296:Renormalization group 4942:Differential geometry 4823:Optimization software 4795:Mathematical software 4514:July 1, 2017, at the 4390:Bellah, Robert Neelly 3958:10.1145/359131.359136 3776:Mathematische Annalen 3550:Joseph-Marie Jacquard 3284:Burgin, Mark (2004). 3095:10.1145/102782.102783 2821:July 4, 2013, at the 2567:on December 24, 2012. 2542:10.1145/361454.361514 2118:, 2nd edition, 2004, 2047:Theory of computation 2037:Medium is the message 1994:Algorithmic technique 1989:Algorithmic synthesis 1964:Algorithm engineering 1753:Further information: 1717:optimization problems 1617:optimization problems 1611:Optimization problems 1595:transform and conquer 1435:quantum superposition 1311:patenting of software 1268:proofs of correctness 1131: 1098: 1066:algorithm (with cost 1048: 1015: 978: 871:programming languages 845:of 1936–37 and 1939. 783: 648:Brāhmasphuṭasiddhānta 609:Sieve of Eratosthenes 593:, dating back to the 545:clay tablet found in 530:(around 240 BC), and 309:randomized algorithms 157: 5639:Breadth-first search 5368:Mathematical finance 5353:Social choice theory 5268:Algebraic structures 5217:in quantum mechanics 5153:Analytical mechanics 5119:Stochastic processes 5091:Variational calculus 4903:Approximation theory 4828:Statistical software 4057:Church–Turing thesis 3978:Theory of algorithms 3802:on September 3, 2014 3718:, 3rd edition 1976, 3700:van Heijenoort, Jean 2847:Goodrich, Michael T. 2052:Computability theory 1999:Algorithmic topology 1984:Algorithmic entities 1721:heuristic algorithms 1712:The heuristic method 1635:maximum flow problem 1563:Las Vegas algorithms 1526:Randomized algorithm 1461:or exhaustive search 1439:quantum entanglement 1405:Exact or approximate 1317:algorithms, such as 1292:Gottschalk v. Benson 1251:Church–Turing thesis 1196:Execution efficiency 1174:programming language 1160:Program optimization 1129:{\displaystyle O(n)} 1111: 1072: 1046:{\displaystyle O(n)} 1028: 1013:{\displaystyle O(1)} 995: 976:{\displaystyle O(n)} 958: 937:Algorithmic analysis 895:finite-state machine 798:Entscheidungsproblem 678:Weight-driven clocks 591:Egyptian mathematics 584:Babylonian astronomy 520:Egyptian mathematics 5729:Topological sorting 5659:Dynamic programming 5343:Operations research 5212:Perturbation theory 5010:Multilinear algebra 4981:Functional analysis 4838:Numerical libraries 4770:Computational logic 4669:Stanford University 4438:. Springer Verlag. 2953:Tausworthe 1977:142 2944:Tausworthe 1977:101 2810:Haitham Hassanieh, 2737:; Schubert, Erich; 2735:Kriegel, Hans-Peter 2240:Simanowski, Roberto 1734:simulated annealing 1659:dynamic programming 1649:Dynamic programming 1643:integer programming 1589:selection algorithm 1541:P versus NP problem 1427:quantum computation 1348:recursive algorithm 1231:dynamic programming 1168:is a discipline of 623:Euclidean algorithm 278:recommender systems 266:automated reasoning 260:) and deduce valid 5773:Mathematical logic 5747:List of algorithms 5654:Divide and conquer 5649:Depth-first search 5644:Brute-force search 5558:Binary search tree 5480:Mathematics portal 5377:Other applications 5101:Probability theory 5084:Validated numerics 5064:Numerical analysis 4957:Geometric analysis 4947:Differential forms 4780:Information theory 4607:Weisstein, Eric W. 4476:. Addison-Wesley. 3872:Kleene, Stephen C. 3825:Kleene, Stephen C. 3788:10.1007/BF01565439 3768:Kleene, Stephen C. 3741:Simon and Schuster 3601:Dean, Tim (2012). 3302:Campagnolo, M.L., 3122:. Springer-Verlag. 3061:For instance, the 2724:cf Tausworthe 1977 2171:"An algorithm has 2027:List of algorithms 1959:Algorithm aversion 1926:Mathematics portal 1880:. For instance, " 1876:"←" denotes 1755:List of algorithms 1738:genetic algorithms 1624:Linear programming 1468:Divide and conquer 1446:By design paradigm 1423:Quantum algorithms 1235:operation research 1227:divide-and-conquer 1126: 1093: 1043: 1010: 973: 793: 696:analytical engines 667:frequency analysis 562:division algorithm 532:Arabic mathematics 524:Indian mathematics 522:(around 1550 BC), 518:(around 2500 BC), 510:Ancient algorithms 459:electrical circuit 449:(for example, the 291:for calculating a 171: 124:encyclopedic style 111:is written like a 64:You can assist by 5755: 5754: 5553:Associative array 5496: 5495: 5330:Decision sciences 5324: 5323: 5306:Spacetime algebra 4998:Harmonic analysis 4964:Dynamical systems 4908:Clifford analysis 4885:Discrete geometry 4851: 4850: 4571:978-0-19-885373-2 4550:978-0-19-537404-9 4483:978-0-321-11784-7 4464:978-0-262-03384-8 4445:978-3-540-63369-3 4426:978-0-15-601391-8 4419:. Harvest Books. 4405:978-0-520-25419-0 4274:978-0-13-842195-3 4246:978-0-07-061726-1 4204:978-0-534-94728-6 4183:978-0-12-374514-9 4157:978-3-319-08107-6 4074:978-0-262-68052-3 4067:. The MIT Press. 4002:978-0-13-165449-5 3907:978-0-201-89683-1 3885:978-0-7204-2103-3 3750:978-0-671-49207-6 3713:978-0-674-32449-7 3671:978-0-312-10409-2 3650:978-0-684-80290-9 3519:978-0-393-32229-3 3472:978-0-486-43228-1 3446:978-0-85664-464-1 3295:978-0-387-95569-8 3271:978-0-521-20402-6 3233:978-0-8078-1564-9 3116:George B. Dantzig 3028:978-3-540-40286-2 2866:978-0-471-38365-9 2851:Tamassia, Roberto 2592:978-0-387-95136-2 2479:978-1-118-46029-0 2389:978-93-86279-25-5 2192:" (Knuth 1973:5). 1906: 1897: 1681:The greedy method 1631:simplex algorithm 1518:enumeration, and 1512:search algorithms 1431:Quantum computing 1419:Quantum algorithm 1338:By implementation 855:natural languages 787:'s diagram from " 726:, a precursor to 628:Euclid's Elements 566:Hammurabi dynasty 534:(around 800 AD). 528:Greek mathematics 507: 506: 443:computer programs 410:computer programs 152: 151: 144: 94: 93: 86: 16:(Redirected from 5785: 5724:String-searching 5523: 5516: 5509: 5500: 5499: 5281:Feynman integral 5264: 5263: 5224:Potential theory 5113:random variables 5003:Fourier analysis 4986:Operator algebra 4913:Clifford algebra 4865:Computer algebra 4791: 4790: 4698: 4691: 4684: 4675: 4674: 4620: 4619: 4601: 4575: 4554: 4504:Knuth, Donald E. 4500: 4495:. Westport, CT: 4487: 4468: 4449: 4430: 4409: 4351: 4349: 4312: 4278: 4250: 4231: 4219: 4208: 4187: 4168: 4166: 4137: 4118: 4078: 4050: 4006: 3994: 3970: 3960: 3935:Kowalski, Robert 3923: 3911: 3889: 3858: 3848: 3811: 3809: 3807: 3798:. Archived from 3754: 3717: 3675: 3654: 3638: 3624: 3622: 3597: 3575: 3574: 3523: 3476: 3464: 3450: 3426: 3391: 3342: 3299: 3276:: cf. Chapter 3 3275: 3263: 3254:Jeffrey, Richard 3237: 3217: 3215: 3200: 3168: 3158: 3123: 3113: 3107: 3106: 3088: 3059: 3053: 3052: 3050: 3048: 3004: 2998: 2997: 2995: 2993: 2981:. May 16, 2013. 2969: 2963: 2960: 2954: 2951: 2945: 2942: 2936: 2914: 2908: 2907: 2905: 2903: 2889: 2883: 2882: 2880: 2878: 2843: 2837: 2808: 2802: 2801: 2799: 2797: 2781: 2775: 2774: 2731: 2725: 2722: 2716: 2713: 2700: 2697: 2691: 2688: 2682: 2679: 2673: 2666: 2660: 2657: 2651: 2648: 2642: 2639: 2633: 2630: 2624: 2623: 2621: 2619: 2603: 2597: 2596: 2575: 2569: 2568: 2566: 2560:. Archived from 2527: 2518: 2512: 2511: 2493: 2484: 2483: 2465: 2454: 2453: 2413: 2407: 2400: 2394: 2393: 2371: 2362: 2361: 2343: 2330: 2327: 2321: 2318: 2312: 2311: 2306: 2304: 2281: 2275: 2274: 2269: 2267: 2236: 2230: 2227: 2221: 2218: 2212: 2208: 2202: 2199: 2193: 2191: 2186: 2180: 2169: 2163: 2156: 2150: 2147: 2138: 2135: 2126: 2112: 2103: 2102: 2100: 2098: 2079: 1974:Algorithmic bias 1949:Abstract machine 1942: 1937: 1936: 1928: 1923: 1922: 1900: 1875: 1686:greedy algorithm 1516:branch and bound 1414:Knapsack problem 1315:data compression 1307:synthetic rubber 1298:Diamond v. Diehr 1170:computer science 1138:) when used for 1137: 1135: 1133: 1132: 1127: 1104: 1102: 1100: 1099: 1094: 1054: 1052: 1050: 1049: 1044: 1021: 1019: 1017: 1016: 1011: 984: 982: 980: 979: 974: 755: 752: 744: 741: 684:verge escapement 637: 634: 602: 599: 577: 573: 570: 559: 556: 502: 499: 493: 477: 469: 351:, attributed to 343:, attributed to 285:effective method 264:(referred to as 240:or to perform a 231: 230: 229: 228: 221: 218: 217: 214: 211: 208: 205: 202: 199: 196: 193: 179:computer science 147: 140: 136: 133: 127: 104: 103: 96: 89: 82: 78: 75: 69: 49: 48: 41: 21: 5793: 5792: 5788: 5787: 5786: 5784: 5783: 5782: 5758: 5757: 5756: 5751: 5733: 5664:Graph traversal 5617: 5541:Data structures 5536: 5530:Data structures 5527: 5497: 5492: 5464: 5426: 5410: 5372: 5320: 5286:Poisson algebra 5262: 5144: 5137: 5095: 4991:Operator theory 4889: 4847: 4813:Tensor software 4789: 4738:Automata theory 4707: 4702: 4665:Wayback Machine 4586: 4583: 4578: 4572: 4551: 4532:Wayback Machine 4516:Wayback Machine 4484: 4465: 4446: 4427: 4406: 4384: 4382:Further reading 4371: 4354:The Undecidable 4322:Turing, Alan M. 4315:The Undecidable 4283:Turing, Alan M. 4275: 4247: 4228: 4205: 4184: 4164: 4158: 4135: 4125:The Undecidable 4121:The Undecidable 4099:10.2307/2269059 4075: 4053:The Undecidable 4031:10.2307/2269031 4003: 3926:Kosovsky, N.K. 3908: 3886: 3861:The Undecidable 3846:10.2307/1990131 3814:The Undecidable 3805: 3803: 3751: 3714: 3672: 3651: 3629:Dennett, Daniel 3582:Paul E. Black. 3572: 3520: 3473: 3447: 3429:The Undecidable 3407:10.2307/2269030 3372:10.2307/2269326 3349:The Undecidable 3345:The Undecidable 3331:10.2307/2371045 3296: 3278:Turing machines 3272: 3234: 3213: 3198: 3156:10.2307/1993169 3137:Axt, P (1959). 3132: 3127: 3126: 3114: 3110: 3086:10.1.1.145.4600 3067:convex polytope 3060: 3056: 3046: 3044: 3029: 3005: 3001: 2991: 2989: 2971: 2970: 2966: 2961: 2957: 2952: 2948: 2943: 2939: 2921:Thomas E. Kurtz 2915: 2911: 2901: 2899: 2891: 2890: 2886: 2876: 2874: 2867: 2844: 2840: 2834:Wayback Machine 2823:Wayback Machine 2809: 2805: 2795: 2793: 2782: 2778: 2732: 2728: 2723: 2719: 2715:Sipser 2006:157 2714: 2703: 2698: 2694: 2689: 2685: 2680: 2676: 2667: 2663: 2658: 2654: 2649: 2645: 2640: 2636: 2631: 2627: 2617: 2615: 2606:Ast, Courtney. 2604: 2600: 2593: 2576: 2572: 2564: 2525: 2519: 2515: 2508: 2494: 2487: 2480: 2466: 2457: 2434:10.2307/3027363 2414: 2410: 2401: 2397: 2390: 2372: 2365: 2358: 2344: 2333: 2328: 2324: 2319: 2315: 2302: 2300: 2298: 2282: 2278: 2265: 2263: 2256: 2237: 2233: 2228: 2224: 2219: 2215: 2209: 2205: 2200: 2196: 2189: 2187: 2183: 2170: 2166: 2157: 2153: 2148: 2141: 2136: 2129: 2113: 2106: 2096: 2094: 2081: 2080: 2073: 2068: 2063: 1938: 1931: 1924: 1917: 1914: 1909: 1872: 1809: 1757: 1751: 1613: 1557:polynomial time 1448: 1368:Towers of Hanoi 1340: 1335: 1286: 1284:Software patent 1280: 1255:Turing complete 1247: 1223: 1217: 1204: 1198: 1162: 1150:Main articles: 1148: 1112: 1109: 1108: 1106: 1073: 1070: 1069: 1067: 1029: 1026: 1025: 1023: 996: 993: 992: 990: 959: 956: 955: 953: 945: 939: 924: 887: 885:Turing machines 851: 849:Representations 843:Turing machines 827:lambda calculus 778: 753: 742: 728:Hollerith cards 720: 708:Turing-complete 700:Charles Babbage 680: 675: 635: 600: 575: 571: 557: 541:mathematics. A 512: 503: 497: 494: 487: 478: 467: 406: 399: 369:Dixit Algorismi 353:Adelard of Bath 345:John of Seville 317: 289:formal language 271:In contrast, a 250:data processing 224: 223: 190: 186: 148: 137: 131: 128: 120:help improve it 117: 105: 101: 90: 79: 73: 70: 63: 50: 46: 39: 28: 23: 22: 15: 12: 11: 5: 5791: 5781: 5780: 5775: 5770: 5753: 5752: 5750: 5749: 5744: 5738: 5735: 5734: 5732: 5731: 5726: 5721: 5716: 5711: 5706: 5701: 5696: 5691: 5686: 5681: 5676: 5671: 5666: 5661: 5656: 5651: 5646: 5641: 5636: 5631: 5625: 5623: 5619: 5618: 5616: 5615: 5610: 5605: 5600: 5595: 5590: 5585: 5580: 5575: 5570: 5565: 5560: 5555: 5550: 5544: 5542: 5538: 5537: 5526: 5525: 5518: 5511: 5503: 5494: 5493: 5491: 5490: 5477: 5469: 5466: 5465: 5463: 5462: 5457: 5452: 5447: 5446: 5445: 5434: 5432: 5428: 5427: 5425: 5424: 5418: 5416: 5412: 5411: 5409: 5408: 5401: 5396: 5391: 5386: 5380: 5378: 5374: 5373: 5371: 5370: 5365: 5360: 5355: 5350: 5345: 5340: 5334: 5332: 5326: 5325: 5322: 5321: 5319: 5318: 5313: 5308: 5303: 5298: 5293: 5288: 5283: 5278: 5272: 5270: 5261: 5260: 5259: 5258: 5253: 5243: 5242: 5241: 5236: 5226: 5221: 5220: 5219: 5209: 5208: 5207: 5202: 5197: 5192: 5187: 5182: 5177: 5167: 5166: 5165: 5160: 5149: 5147: 5139: 5138: 5136: 5135: 5130: 5125: 5116: 5105: 5103: 5097: 5096: 5094: 5093: 5088: 5087: 5086: 5081: 5076: 5071: 5061: 5060: 5059: 5054: 5049: 5044: 5034: 5033: 5032: 5027: 5022: 5017: 5007: 5006: 5005: 4995: 4994: 4993: 4988: 4978: 4977: 4976: 4974:Control theory 4971: 4961: 4960: 4959: 4954: 4949: 4939: 4938: 4937: 4932: 4927: 4917: 4916: 4915: 4905: 4899: 4897: 4891: 4890: 4888: 4887: 4882: 4877: 4872: 4867: 4861: 4859: 4853: 4852: 4849: 4848: 4846: 4845: 4840: 4835: 4830: 4825: 4820: 4815: 4810: 4805: 4799: 4797: 4788: 4787: 4782: 4777: 4772: 4767: 4766: 4765: 4755: 4750: 4745: 4740: 4735: 4734: 4733: 4728: 4717: 4715: 4709: 4708: 4701: 4700: 4693: 4686: 4678: 4672: 4671: 4655: 4646: 4636: 4635: 4631: 4630: 4621: 4602: 4582: 4581:External links 4579: 4577: 4576: 4570: 4555: 4549: 4536: 4520: 4501: 4488: 4482: 4469: 4463: 4450: 4444: 4431: 4425: 4410: 4404: 4385: 4383: 4380: 4379: 4378: 4370: 4369: 4357: 4318: 4279: 4273: 4260: 4259:" (p. 4). 4245: 4232: 4226: 4209: 4203: 4188: 4182: 4169: 4156: 4128: 4079: 4073: 4060: 4025:(3): 103–105. 4011: 4001: 3985:Minsky, Marvin 3981: 3971: 3951:(7): 424–436. 3931: 3924: 3912: 3906: 3890: 3884: 3868: 3821: 3782:(5): 727–742. 3764: 3749: 3731:Hodges, Andrew 3727: 3712: 3696: 3684: 3670: 3655: 3649: 3625: 3598: 3569: 3562:Claude Shannon 3518: 3502: 3471: 3451: 3445: 3432: 3401:(3): 101–102. 3356:Church, Alonzo 3352: 3325:(2): 345–363. 3315:Church, Alonzo 3311: 3300: 3294: 3281: 3270: 3250:Boolos, George 3246: 3232: 3219: 3192:Gurevich, Yuri 3188:Blass, Andreas 3184: 3169: 3133: 3131: 3128: 3125: 3124: 3108: 3054: 3027: 2999: 2964: 2955: 2946: 2937: 2917:John G. Kemeny 2909: 2884: 2865: 2838: 2803: 2776: 2749:(2): 341–378. 2726: 2717: 2701: 2692: 2683: 2674: 2661: 2652: 2643: 2641:Bolter 1984:26 2634: 2632:Bolter 1984:24 2625: 2608:"Eratosthenes" 2598: 2591: 2570: 2536:(7): 671–677. 2513: 2506: 2485: 2478: 2455: 2408: 2395: 2388: 2363: 2356: 2331: 2322: 2313: 2296: 2276: 2254: 2231: 2222: 2213: 2203: 2194: 2181: 2164: 2151: 2139: 2127: 2104: 2070: 2069: 2067: 2064: 2062: 2061: 2060: 2059: 2054: 2044: 2039: 2034: 2029: 2024: 2019: 2011: 2006: 2001: 1996: 1991: 1986: 1981: 1976: 1971: 1966: 1961: 1956: 1951: 1945: 1944: 1943: 1929: 1913: 1910: 1908: 1907: 1898: 1810: 1796: 1795: 1780: 1779: 1776: 1773: 1770: 1750: 1747: 1746: 1745: 1713: 1710: 1682: 1679: 1651: 1646: 1626: 1612: 1609: 1608: 1607: 1604: 1599: 1577: 1571: 1570: 1560: 1545: 1544: 1528: 1523: 1496: 1493: 1469: 1466: 1462: 1447: 1444: 1443: 1442: 1420: 1417: 1406: 1403: 1389: 1386: 1374: 1371: 1344: 1339: 1336: 1334: 1333:Classification 1331: 1279: 1276: 1260:spaghetti code 1246: 1243: 1239:big O notation 1216: 1213: 1200:Main article: 1197: 1194: 1147: 1144: 1125: 1122: 1119: 1116: 1092: 1089: 1086: 1083: 1080: 1077: 1042: 1039: 1036: 1033: 1009: 1006: 1003: 1000: 987:big O notation 972: 969: 966: 963: 941:Main article: 938: 935: 923: 920: 891:Turing machine 886: 883: 877:(processed by 875:control tables 850: 847: 777: 774: 769:George Stibitz 719: 716: 679: 676: 674: 671: 601: 1550 BC 576: 1600 BC 558: 2500 BC 511: 508: 505: 504: 481: 479: 472: 466: 463: 425:infinite loops 398: 395: 316: 313: 150: 149: 108: 106: 99: 92: 91: 53: 51: 44: 26: 9: 6: 4: 3: 2: 5790: 5779: 5776: 5774: 5771: 5769: 5766: 5765: 5763: 5748: 5745: 5743: 5740: 5739: 5736: 5730: 5727: 5725: 5722: 5720: 5717: 5715: 5712: 5710: 5707: 5705: 5702: 5700: 5697: 5695: 5692: 5690: 5687: 5685: 5682: 5680: 5679:Hash function 5677: 5675: 5672: 5670: 5667: 5665: 5662: 5660: 5657: 5655: 5652: 5650: 5647: 5645: 5642: 5640: 5637: 5635: 5634:Binary search 5632: 5630: 5627: 5626: 5624: 5620: 5614: 5611: 5609: 5606: 5604: 5601: 5599: 5596: 5594: 5591: 5589: 5586: 5584: 5581: 5579: 5576: 5574: 5571: 5569: 5566: 5564: 5561: 5559: 5556: 5554: 5551: 5549: 5546: 5545: 5543: 5539: 5535: 5531: 5524: 5519: 5517: 5512: 5510: 5505: 5504: 5501: 5489: 5485: 5481: 5478: 5476: 5475: 5471: 5470: 5467: 5461: 5458: 5456: 5453: 5451: 5448: 5444: 5441: 5440: 5439: 5436: 5435: 5433: 5431:Organizations 5429: 5423: 5420: 5419: 5417: 5413: 5406: 5402: 5400: 5397: 5395: 5392: 5390: 5387: 5385: 5382: 5381: 5379: 5375: 5369: 5366: 5364: 5361: 5359: 5356: 5354: 5351: 5349: 5346: 5344: 5341: 5339: 5336: 5335: 5333: 5331: 5327: 5317: 5314: 5312: 5309: 5307: 5304: 5302: 5299: 5297: 5294: 5292: 5291:Quantum group 5289: 5287: 5284: 5282: 5279: 5277: 5274: 5273: 5271: 5269: 5265: 5257: 5254: 5252: 5249: 5248: 5247: 5246:Supersymmetry 5244: 5240: 5237: 5235: 5232: 5231: 5230: 5229:String theory 5227: 5225: 5222: 5218: 5215: 5214: 5213: 5210: 5206: 5203: 5201: 5198: 5196: 5193: 5191: 5188: 5186: 5183: 5181: 5178: 5176: 5173: 5172: 5171: 5168: 5164: 5161: 5159: 5156: 5155: 5154: 5151: 5150: 5148: 5146: 5140: 5134: 5131: 5129: 5128:Path integral 5126: 5124: 5120: 5117: 5114: 5110: 5109:Distributions 5107: 5106: 5104: 5102: 5098: 5092: 5089: 5085: 5082: 5080: 5077: 5075: 5072: 5070: 5067: 5066: 5065: 5062: 5058: 5055: 5053: 5050: 5048: 5045: 5043: 5040: 5039: 5038: 5035: 5031: 5028: 5026: 5023: 5021: 5018: 5016: 5013: 5012: 5011: 5008: 5004: 5001: 5000: 4999: 4996: 4992: 4989: 4987: 4984: 4983: 4982: 4979: 4975: 4972: 4970: 4967: 4966: 4965: 4962: 4958: 4955: 4953: 4950: 4948: 4945: 4944: 4943: 4940: 4936: 4933: 4931: 4928: 4926: 4923: 4922: 4921: 4918: 4914: 4911: 4910: 4909: 4906: 4904: 4901: 4900: 4898: 4896: 4892: 4886: 4883: 4881: 4878: 4876: 4875:Combinatorics 4873: 4871: 4868: 4866: 4863: 4862: 4860: 4858: 4854: 4844: 4841: 4839: 4836: 4834: 4831: 4829: 4826: 4824: 4821: 4819: 4816: 4814: 4811: 4809: 4806: 4804: 4801: 4800: 4798: 4796: 4792: 4786: 4783: 4781: 4778: 4776: 4773: 4771: 4768: 4764: 4761: 4760: 4759: 4756: 4754: 4751: 4749: 4748:Coding theory 4746: 4744: 4741: 4739: 4736: 4732: 4729: 4727: 4724: 4723: 4722: 4719: 4718: 4716: 4714: 4713:Computational 4710: 4706: 4699: 4694: 4692: 4687: 4685: 4680: 4679: 4676: 4670: 4666: 4662: 4659: 4656: 4654: 4650: 4647: 4645: 4641: 4638: 4637: 4633: 4632: 4629: 4625: 4622: 4617: 4616: 4611: 4608: 4603: 4599: 4595: 4594: 4589: 4585: 4584: 4573: 4567: 4563: 4562: 4556: 4552: 4546: 4542: 4537: 4534: 4533: 4529: 4526: 4521: 4518: 4517: 4513: 4510: 4505: 4502: 4498: 4494: 4489: 4485: 4479: 4475: 4470: 4466: 4460: 4456: 4451: 4447: 4441: 4437: 4432: 4428: 4422: 4418: 4417: 4411: 4407: 4401: 4397: 4396: 4391: 4387: 4386: 4377: 4373: 4372: 4367: 4366: 4361: 4358: 4355: 4352:Reprinted in 4348: 4343: 4339: 4335: 4331: 4327: 4323: 4319: 4316: 4310: 4306: 4302: 4298: 4294: 4290: 4289: 4284: 4280: 4276: 4270: 4266: 4261: 4258: 4254: 4248: 4242: 4238: 4233: 4229: 4227:9780674930469 4223: 4218: 4217: 4210: 4206: 4200: 4196: 4195: 4189: 4185: 4179: 4175: 4170: 4163: 4159: 4153: 4149: 4145: 4141: 4134: 4129: 4126: 4122: 4119:Reprinted in 4116: 4112: 4108: 4104: 4100: 4096: 4092: 4088: 4084: 4080: 4076: 4070: 4066: 4061: 4058: 4054: 4051:Reprinted in 4048: 4044: 4040: 4036: 4032: 4028: 4024: 4020: 4016: 4012: 4010: 4004: 3998: 3993: 3992: 3986: 3982: 3979: 3975: 3972: 3968: 3964: 3959: 3954: 3950: 3946: 3945: 3940: 3936: 3932: 3929: 3925: 3921: 3917: 3916:Knuth, Donald 3913: 3909: 3903: 3899: 3895: 3894:Knuth, Donald 3891: 3887: 3881: 3877: 3873: 3869: 3866: 3865:Church thesis 3862: 3859:Reprinted in 3856: 3852: 3847: 3842: 3838: 3834: 3830: 3826: 3822: 3819: 3815: 3806:September 30, 3801: 3797: 3793: 3789: 3785: 3781: 3777: 3773: 3769: 3765: 3762: 3761:0-671-49207-1 3758: 3752: 3746: 3742: 3738: 3737: 3732: 3728: 3725: 3724:0-674-32449-8 3721: 3715: 3709: 3705: 3701: 3697: 3694: 3693: 3688: 3687:Yuri Gurevich 3685: 3683: 3682:0-312-10409-X 3679: 3673: 3667: 3663: 3662: 3656: 3652: 3646: 3642: 3637: 3636: 3630: 3626: 3621: 3616: 3612: 3608: 3604: 3599: 3595: 3591: 3590: 3585: 3579: 3570: 3567: 3563: 3559: 3555: 3551: 3547: 3543: 3539: 3535: 3531: 3527: 3521: 3515: 3511: 3507: 3506:Davis, Martin 3503: 3500: 3496: 3492: 3488: 3484: 3483:Alonzo Church 3480: 3474: 3468: 3463: 3462: 3456: 3455:Davis, Martin 3452: 3448: 3442: 3438: 3433: 3430: 3427:Reprinted in 3424: 3420: 3416: 3412: 3408: 3404: 3400: 3396: 3389: 3385: 3381: 3377: 3373: 3369: 3365: 3361: 3357: 3353: 3350: 3346: 3343:Reprinted in 3340: 3336: 3332: 3328: 3324: 3320: 3316: 3312: 3309: 3305: 3301: 3297: 3291: 3287: 3282: 3279: 3273: 3267: 3262: 3261: 3255: 3251: 3247: 3245: 3244:0-8078-4108-0 3241: 3235: 3229: 3225: 3220: 3212: 3208: 3204: 3197: 3193: 3189: 3185: 3182: 3181:0-07-004357-4 3178: 3174: 3170: 3166: 3162: 3157: 3152: 3149:(1): 85–105. 3148: 3144: 3140: 3135: 3134: 3121: 3117: 3112: 3104: 3100: 3096: 3092: 3087: 3082: 3078: 3074: 3068: 3064: 3058: 3047:September 19, 3042: 3038: 3034: 3030: 3024: 3020: 3016: 3012: 3011: 3003: 2988: 2984: 2980: 2979: 2974: 2968: 2959: 2950: 2941: 2934: 2933:0-201-13433-0 2930: 2926: 2922: 2918: 2913: 2898: 2894: 2888: 2872: 2868: 2862: 2858: 2857: 2852: 2848: 2842: 2835: 2831: 2828: 2827:sFFT Web Page 2824: 2820: 2817: 2813: 2807: 2791: 2787: 2780: 2772: 2768: 2764: 2760: 2756: 2752: 2748: 2744: 2740: 2739:Zimek, Arthur 2736: 2730: 2721: 2712: 2710: 2708: 2706: 2696: 2687: 2681:Davis 2000:14 2678: 2671: 2665: 2656: 2647: 2638: 2629: 2613: 2609: 2602: 2594: 2588: 2584: 2580: 2574: 2563: 2559: 2555: 2551: 2547: 2543: 2539: 2535: 2531: 2524: 2517: 2509: 2507:9783319016283 2503: 2499: 2492: 2490: 2481: 2475: 2471: 2464: 2462: 2460: 2451: 2447: 2443: 2439: 2435: 2431: 2427: 2423: 2419: 2412: 2405: 2399: 2391: 2385: 2381: 2377: 2370: 2368: 2359: 2357:9783642181924 2353: 2349: 2342: 2340: 2338: 2336: 2326: 2317: 2310: 2299: 2297:9780262731447 2293: 2289: 2288: 2280: 2273: 2261: 2257: 2255:9780262536370 2251: 2247: 2246: 2241: 2235: 2226: 2217: 2207: 2198: 2185: 2178: 2174: 2168: 2161: 2155: 2146: 2144: 2134: 2132: 2125: 2121: 2117: 2111: 2109: 2092: 2088: 2084: 2078: 2076: 2071: 2058: 2055: 2053: 2050: 2049: 2048: 2045: 2043: 2040: 2038: 2035: 2033: 2030: 2028: 2025: 2023: 2020: 2017: 2016: 2012: 2010: 2007: 2005: 2002: 2000: 1997: 1995: 1992: 1990: 1987: 1985: 1982: 1980: 1977: 1975: 1972: 1970: 1967: 1965: 1962: 1960: 1957: 1955: 1952: 1950: 1947: 1946: 1941: 1935: 1930: 1927: 1921: 1916: 1904: 1899: 1895: 1891: 1887: 1883: 1879: 1874: 1873: 1871: 1868: 1865: 1861: 1858: 1854: 1850: 1847: 1844: 1840: 1837: 1834: 1831: 1828: 1824: 1820: 1816: 1813: 1807: 1803: 1799: 1794: 1792: 1788: 1784: 1777: 1774: 1771: 1768: 1767: 1766: 1765: 1761: 1756: 1743: 1739: 1735: 1731: 1727: 1722: 1718: 1714: 1711: 1708: 1704: 1700: 1696: 1692: 1687: 1683: 1680: 1677: 1672: 1668: 1664: 1660: 1656: 1652: 1650: 1647: 1644: 1640: 1636: 1632: 1627: 1625: 1622: 1621: 1620: 1618: 1605: 1603: 1602:Back tracking 1600: 1597: 1596: 1590: 1586: 1582: 1578: 1576: 1573: 1572: 1568: 1564: 1561: 1558: 1554: 1550: 1547: 1546: 1542: 1538: 1534: 1529: 1527: 1524: 1521: 1517: 1513: 1509: 1505: 1501: 1497: 1494: 1491: 1487: 1482: 1481:Merge sorting 1478: 1474: 1470: 1467: 1463: 1460: 1457: 1456: 1455: 1453: 1440: 1436: 1432: 1428: 1424: 1421: 1418: 1415: 1411: 1407: 1404: 1401: 1397: 1393: 1390: 1387: 1383: 1379: 1375: 1372: 1369: 1365: 1361: 1357: 1353: 1349: 1345: 1342: 1341: 1330: 1328: 1324: 1320: 1316: 1312: 1308: 1304: 1300: 1299: 1294: 1293: 1285: 1275: 1273: 1269: 1265: 1261: 1256: 1252: 1242: 1240: 1236: 1232: 1228: 1222: 1212: 1209: 1203: 1193: 1191: 1186: 1183: 1179: 1175: 1171: 1167: 1161: 1157: 1153: 1143: 1141: 1140:table lookups 1120: 1114: 1087: 1084: 1081: 1075: 1065: 1064:binary search 1061: 1056: 1055:is required. 1037: 1031: 1004: 998: 988: 967: 961: 951: 944: 934: 933: 929: 919: 916: 915:assembly code 912: 908: 907:state diagram 904: 903:control table 900: 896: 892: 882: 880: 876: 872: 868: 867:drakon-charts 864: 860: 856: 846: 844: 840: 837:of 1936, and 836: 835:Formulation 1 832: 828: 824: 823:Alonzo Church 820: 816: 812: 808: 804: 803:David Hilbert 800: 799: 790: 786: 782: 776:Formalization 773: 770: 766: 761: 759: 748: 737: 733: 729: 725: 724:Jacquard loom 715: 713: 709: 705: 701: 697: 693: 689: 685: 670: 668: 664: 663:cryptanalysis 660: 656: 651: 649: 645: 644:Kerala School 641: 640:Shulba Sutras 636: 300 BC 630: 629: 624: 620: 616: 615: 610: 606: 596: 592: 587: 585: 581: 567: 564:. During the 563: 553:and dated to 552: 548: 544: 540: 535: 533: 529: 525: 521: 517: 501: 491: 485: 482:This section 480: 476: 471: 470: 462: 460: 456: 452: 448: 444: 440: 435: 434: 430: 426: 422: 419: 416:procedure or 415: 411: 404: 394: 392: 388: 384: 380: 376: 375: 370: 366: 362: 358: 354: 350: 346: 342: 338: 334: 330: 326: 322: 312: 310: 306: 305:deterministic 302: 298: 294: 290: 286: 281: 279: 274: 269: 267: 263: 259: 255: 251: 247: 243: 239: 235: 227: 220: 184: 180: 176: 169: 165: 161: 156: 146: 143: 135: 125: 121: 115: 114: 109:This article 107: 98: 97: 88: 85: 77: 67: 61: 59: 54:This article 52: 43: 42: 37: 33: 19: 5704:Root-finding 5629:Backtracking 5593:Segment tree 5563:Fenwick tree 5533: 5486: / 5482: / 5472: 5348:Optimization 5311:Superalgebra 5170:Field theory 5143:Mathematical 5121: / 4969:Chaos theory 4952:Gauge theory 4880:Graph theory 4775:Cryptography 4720: 4613: 4591: 4560: 4540: 4523: 4507: 4492: 4473: 4454: 4435: 4415: 4394: 4364: 4353: 4329: 4325: 4314: 4292: 4291:. Series 2. 4286: 4264: 4256: 4252: 4236: 4215: 4193: 4173: 4139: 4124: 4120: 4093:(2): 53–60. 4090: 4086: 4083:Rosser, J.B. 4064: 4052: 4022: 4018: 4008: 3990: 3977: 3948: 3942: 3927: 3919: 3897: 3875: 3860: 3839:(1): 41–73. 3836: 3832: 3817: 3813: 3804:. Retrieved 3800:the original 3779: 3775: 3739:. New York: 3735: 3703: 3691: 3660: 3634: 3610: 3606: 3587: 3566:Howard Aiken 3558:Ada Lovelace 3509: 3460: 3436: 3428: 3398: 3394: 3366:(1): 40–41. 3363: 3359: 3348: 3344: 3322: 3318: 3307: 3288:. Springer. 3285: 3277: 3259: 3223: 3206: 3202: 3172: 3146: 3142: 3130:Bibliography 3119: 3111: 3076: 3072: 3057: 3045:. Retrieved 3013:. Springer. 3009: 3002: 2990:. Retrieved 2976: 2967: 2958: 2949: 2940: 2924: 2912: 2900:. Retrieved 2897:Khan Academy 2896: 2887: 2875:. Retrieved 2855: 2841: 2806: 2794:. Retrieved 2779: 2746: 2742: 2729: 2720: 2695: 2686: 2677: 2669: 2664: 2655: 2646: 2637: 2628: 2618:February 27, 2616:. Retrieved 2601: 2582: 2579:Aaboe, Asger 2573: 2562:the original 2533: 2529: 2516: 2497: 2469: 2428:(2): 76–99. 2425: 2421: 2411: 2398: 2379: 2347: 2325: 2316: 2308: 2301:. Retrieved 2286: 2279: 2271: 2264:. Retrieved 2244: 2234: 2229:Stone 1973:4 2225: 2216: 2206: 2197: 2184: 2167: 2159: 2154: 2115: 2097:November 14, 2095:. Retrieved 2086: 2013: 1902: 1893: 1889: 1885: 1881: 1869: 1866: 1863: 1859: 1856: 1852: 1848: 1845: 1842: 1838: 1835: 1832: 1829: 1826: 1822: 1818: 1814: 1811: 1805: 1801: 1797: 1782: 1781: 1763: 1762: 1758: 1726:local search 1695:Huffman Tree 1691:local optima 1658: 1614: 1593: 1520:backtracking 1485: 1449: 1296: 1290: 1287: 1278:Legal status 1248: 1224: 1205: 1187: 1163: 1057: 1022:, otherwise 949: 946: 932: 925: 911:machine code 888: 879:interpreters 852: 796: 794: 785:Ada Lovelace 762: 743: 1870s 721: 704:Ada Lovelace 681: 658: 652: 626: 612: 588: 539:Mesopotamian 536: 513: 498:October 2023 495: 483: 436: 432: 414:bureaucratic 407: 390: 386: 385:, "number"; 382: 372: 368: 365:Latinization 360: 356: 348: 340: 328: 324: 318: 282: 270: 254:conditionals 246:calculations 182: 172: 167: 163: 138: 129: 110: 80: 71: 58:copy editing 56:may require 55: 5583:Linked list 5488:topics list 5422:Mathematics 5338:Game theory 5239:Topological 5205:Topological 5200:Statistical 5163:Hamiltonian 4610:"Algorithm" 4588:"Algorithm" 4332:: 161–228. 4295:: 230–265. 3974:A.A. Markov 3584:"algorithm" 3546:von Neumann 3079:(1): 1–17. 2812:Piotr Indyk 2530:Commun. ACM 2404:Brahmagupta 1791:pidgin code 1730:tabu search 1671:memoization 1477:recursively 1459:Brute-force 1382:distributed 839:Alan Turing 758:Baudot code 754: 1910 747:teleprinter 736:ticker tape 572: 1800 453:performing 451:human brain 439:implemented 391:algorithmus 357:alghoarismi 242:computation 175:mathematics 5768:Algorithms 5762:Categories 5719:Sweep line 5694:Randomized 5622:Algorithms 5573:Hash table 5534:algorithms 5394:Psychology 5358:Statistics 5158:Lagrangian 4785:Statistics 4721:Algorithms 4015:Post, Emil 3661:The Abacus 2177:quantities 2124:1402030045 2018:(textbook) 1878:assignment 1787:pseudocode 1585:complexity 1533:randomness 1400:heuristics 1323:LZW patent 1282:See also: 1219:See also: 1190:Benchmarks 1178:Pseudocode 863:flowcharts 859:pseudocode 712:calculator 692:difference 646:, and the 621:, and the 619:Nicomachus 580:Babylonian 574: – c. 455:arithmetic 397:Definition 355:. Hereby, 337:arithmetic 262:inferences 162:of number 132:April 2024 74:April 2024 66:editing it 18:Algorithms 5714:Streaming 5699:Recursion 5399:Sociology 5389:Chemistry 5185:Effective 5180:Conformal 5175:Classical 5047:Geometric 5020:Geometric 4615:MathWorld 4598:EMS Press 4257:algorithm 3874:(1991) . 3796:120517999 3499:Emil Post 3304:Moore, C. 3256:(1999) . 3081:CiteSeerX 2992:March 29, 2987:0099-9660 2763:0219-1377 2550:0001-0782 2442:0049-4925 1798:Algorithm 1356:Iterative 1343:Recursion 1085:⁡ 928:flowchart 831:Emil Post 829:of 1936, 760:on tape. 732:telegraph 673:Computers 547:Shuruppak 490:talk page 418:cook-book 361:algorismi 315:Etymology 273:heuristic 183:algorithm 5474:Category 5123:analysis 5042:Exterior 5015:Exterior 4895:Analysis 4857:Discrete 4731:analysis 4661:Archived 4600:. 2001 . 4528:Archived 4512:Archived 4506:(2000). 4392:(1985). 4362:(2006), 4162:Archived 4115:39499392 4047:40284503 3987:(1967). 3937:(1979). 3918:(1969). 3896:(1997). 3827:(1943). 3770:(1936). 3733:(1983). 3702:(2001). 3631:(1995). 3508:(2000). 3457:(1965). 3388:42323521 3211:Archived 3194:(2003). 3103:13268711 3041:Archived 3037:28836720 2877:June 14, 2871:Archived 2853:(2002). 2830:Archived 2819:Archived 2790:Archived 2771:40772241 2612:Archived 2581:(2001). 2303:July 22, 2260:Archived 2242:(2018). 2160:function 2091:Archived 1912:See also 1884:← 1830:for each 1749:Examples 1452:paradigm 1433:such as 1378:parallel 1354:method. 1303:feedback 1249:Per the 985:, using 815:Herbrand 688:automata 655:Al-Kindi 543:Sumerian 383:arithmos 374:algorism 301:executed 293:function 238:problems 5709:Sorting 5684:Minimax 5484:outline 5415:Related 5384:Biology 5234:Bosonic 5195:Quantum 5145:physics 5111: ( 4843:Solvers 4497:Praeger 4107:2269059 4039:2269031 3976:(1954) 3967:2509896 3855:1990131 3554:Babbage 3542:Hilbert 3526:Leibniz 3423:5557237 3415:2269030 3380:2269326 3339:2371045 3165:1993169 2902:June 3, 2796:May 13, 2558:7829945 2450:3027363 2266:May 27, 1890:largest 1882:largest 1870:largest 1860:largest 1853:largest 1823:largest 1699:Kruskal 1639:integer 1233:within 1136:⁠ 1107:⁠ 1103:⁠ 1068:⁠ 1053:⁠ 1024:⁠ 1020:⁠ 991:⁠ 983:⁠ 954:⁠ 551:Baghdad 465:History 379:Chaucer 363:is the 118:Please 5689:Online 5674:Greedy 5603:String 5057:Vector 5052:Tensor 5030:Vector 5025:Tensor 4726:design 4568:  4547:  4480:  4461:  4442:  4423:  4402:  4307:  4271:  4243:  4224:  4201:  4180:  4154:  4113:  4105:  4071:  4045:  4037:  3999:  3965:  3904:  3882:  3853:  3794:  3759:  3747:  3726:(pbk.) 3722:  3710:  3680:  3668:  3647:  3568:, etc. 3538:Cantor 3516:  3497:, and 3495:Kleene 3491:Rosser 3487:Turing 3469:  3443:  3421:  3413:  3386:  3378:  3337:  3292:  3268:  3242:  3230:  3179:  3163:  3101:  3083:  3073:J. ACM 3063:volume 3035:  3025:  2985:  2931:  2863:  2769:  2761:  2589:  2556:  2548:  2504:  2476:  2448:  2440:  2386:  2354:  2294:  2252:  2122:  1903:return 1867:return 1819:return 1815:L.size 1736:, and 1707:Sollin 1504:graphs 1364:stacks 1319:Unisys 1270:using 1215:Design 1158:, and 1060:effort 901:, and 819:Kleene 789:Note G 642:, the 421:recipe 347:, and 323:wrote 283:As an 5598:Stack 5588:Queue 5568:Graph 5548:Array 5190:Gauge 4309:73712 4305:S2CID 4165:(PDF) 4136:(PDF) 4111:S2CID 4103:JSTOR 4043:S2CID 4035:JSTOR 3963:S2CID 3851:JSTOR 3792:S2CID 3643:–36. 3580:from 3534:Frege 3530:Boole 3479:Gödel 3419:S2CID 3411:JSTOR 3384:S2CID 3376:JSTOR 3335:JSTOR 3214:(PDF) 3199:(PDF) 3161:JSTOR 3099:S2CID 3065:of a 3033:S2CID 2923:1985 2767:S2CID 2565:(PDF) 2554:S2CID 2526:(PDF) 2446:JSTOR 2066:Notes 1954:ALGOL 1851:> 1821:null 1676:table 1667:graph 1531:some 1500:chess 1360:loops 811:Gödel 549:near 297:empty 222: 181:, an 5669:Fold 5613:Trie 5608:Tree 5578:Heap 5532:and 4566:ISBN 4545:ISBN 4478:ISBN 4459:ISBN 4440:ISBN 4421:ISBN 4400:ISBN 4269:ISBN 4241:ISBN 4222:ISBN 4199:ISBN 4178:ISBN 4152:ISBN 4069:ISBN 3997:ISBN 3902:ISBN 3880:ISBN 3808:2013 3757:ISBN 3745:ISBN 3720:ISBN 3708:ISBN 3678:ISBN 3666:ISBN 3645:ISBN 3594:NIST 3514:ISBN 3467:ISBN 3441:ISBN 3290:ISBN 3266:ISBN 3240:ISBN 3228:ISBN 3177:ISBN 3049:2017 3023:ISBN 2994:2017 2983:ISSN 2929:ISBN 2919:and 2904:2024 2879:2018 2861:ISBN 2798:2014 2759:ISSN 2620:2015 2587:ISBN 2546:ISSN 2502:ISBN 2474:ISBN 2438:ISSN 2384:ISBN 2352:ISBN 2305:2020 2292:ISBN 2268:2019 2250:ISBN 2173:zero 2120:ISBN 2099:2019 1894:item 1886:item 1864:item 1857:then 1849:item 1833:item 1817:= 0 1703:Prim 1615:For 1506:. A 1164:The 702:and 694:and 335:and 268:). 248:and 177:and 166:and 4342:hdl 4334:doi 4297:doi 4144:doi 4095:doi 4027:doi 3953:doi 3841:doi 3784:doi 3780:112 3615:doi 3403:doi 3368:doi 3327:doi 3151:doi 3091:doi 3015:doi 2751:doi 2538:doi 2430:doi 1789:or 1715:In 1567:ZPP 1437:or 1380:or 1329:). 1321:'s 1229:or 1208:FFT 1082:log 913:or 873:or 841:'s 833:'s 825:'s 698:of 665:by 650:. 617:by 441:as 387:cf. 359:or 173:In 5764:: 4667:– 4651:– 4642:– 4626:– 4612:. 4596:. 4590:. 4340:. 4330:45 4328:. 4303:. 4293:42 4160:. 4150:. 4109:. 4101:. 4089:. 4041:. 4033:. 4021:. 3961:. 3949:22 3947:. 3941:. 3867:). 3849:. 3837:53 3835:. 3831:. 3790:. 3778:. 3774:. 3755:, 3743:. 3689:, 3676:, 3641:32 3613:. 3609:. 3605:. 3592:. 3586:. 3564:, 3560:, 3556:, 3552:, 3540:, 3536:, 3532:, 3528:, 3493:, 3489:, 3485:, 3481:, 3417:. 3409:. 3397:. 3382:. 3374:. 3362:. 3333:. 3323:58 3321:. 3252:; 3238:, 3209:. 3207:81 3205:. 3201:. 3190:; 3159:. 3147:92 3145:. 3141:. 3097:. 3089:. 3077:38 3075:. 3039:. 3031:. 3021:. 2975:. 2895:. 2869:. 2849:; 2765:. 2757:. 2747:52 2745:. 2704:^ 2552:. 2544:. 2534:15 2532:. 2528:. 2488:^ 2458:^ 2444:. 2436:. 2424:. 2420:. 2366:^ 2334:^ 2307:. 2270:. 2258:. 2142:^ 2130:^ 2107:^ 2089:. 2085:. 2074:^ 1862:← 1855:, 1846:if 1843:do 1841:, 1836:in 1825:← 1812:if 1808:. 1793:: 1732:, 1728:, 1719:, 1705:, 1701:, 1697:, 1684:A 1553:RP 1514:, 1471:A 1346:A 1274:. 1154:, 897:, 869:, 865:, 861:, 857:, 751:c. 740:c. 633:c. 598:c. 578:, 569:c. 555:c. 393:. 216:əm 5522:e 5515:t 5508:v 5407:" 5403:" 5115:) 4697:e 4690:t 4683:v 4618:. 4574:. 4553:. 4499:. 4486:. 4467:. 4448:. 4429:. 4408:. 4350:. 4344:: 4336:: 4311:. 4299:: 4277:. 4249:. 4230:. 4207:. 4186:. 4146:: 4127:) 4117:. 4097:: 4091:4 4077:. 4059:. 4049:. 4029:: 4023:1 4005:. 3969:. 3955:: 3910:. 3888:. 3857:. 3843:: 3810:. 3786:: 3753:. 3716:. 3674:. 3653:. 3623:. 3617:: 3611:7 3596:. 3522:. 3475:. 3449:. 3425:. 3405:: 3399:1 3390:. 3370:: 3364:1 3341:. 3329:: 3298:. 3274:. 3236:. 3183:. 3167:. 3153:: 3105:. 3093:: 3051:. 3017:: 2996:. 2935:. 2906:. 2881:. 2836:. 2800:. 2773:. 2753:: 2622:. 2595:. 2540:: 2510:. 2482:. 2452:. 2432:: 2426:1 2392:. 2360:. 2190:' 2101:. 1901:" 1896:. 1839:L 1827:L 1806:L 1802:L 1744:. 1598:. 1569:. 1559:. 1522:. 1492:. 1441:. 1402:. 1258:" 1124:) 1121:n 1118:( 1115:O 1091:) 1088:n 1079:( 1076:O 1041:) 1038:n 1035:( 1032:O 1008:) 1005:1 1002:( 999:O 971:) 968:n 965:( 962:O 950:n 817:– 813:– 749:( 738:( 631:( 500:) 496:( 492:. 433:. 405:. 219:/ 213:ð 210:ɪ 207:r 204:ə 201:ɡ 198:l 195:æ 192:ˈ 189:/ 185:( 168:s 164:r 145:) 139:( 134:) 130:( 126:. 87:) 81:( 76:) 72:( 68:. 62:. 38:. 20:)

Index

Algorithms
Analysis of algorithms
Algorithm (disambiguation)
copy editing
editing it
Learn how and when to remove this message
personal reflection, personal essay, or argumentative essay
help improve it
encyclopedic style
Learn how and when to remove this message
In a loop, subtract the larger number against the smaller number. Halt the loop when the subtraction will make a number negative. Assess two numbers, whether one of them is equal to zero or not. If yes, take the other number as the greatest common divisor. If no, put the two numbers in the subtraction loop again.
greatest common divisor
mathematics
computer science
/ˈælɡərɪðəm/

mathematically rigorous
problems
computation
calculations
data processing
conditionals
automated decision-making
inferences
automated reasoning
heuristic
recommender systems
effective method
formal language
function

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.