155:
781:
1920:
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.
1934:
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,
475:
102:
3573:
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.
47:
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.
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
3577:
5404:
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:
5449:
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
5454:
4695:
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).
5520:
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.
5073:
5442:
5078:
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.
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:
4688:
4802:
1134:
1051:
1018:
981:
5437:
4627:
4287:
2789:
3771:
5513:
5255:
3588:
2220:
Blair, Ann, Duguid, Paul, Goeing, Anja-Silvia and
Grafton, Anthony. Information: A Historical Companion, Princeton: Princeton University Press, 2021. p. 247
4681:
4643:
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
5300:
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.
643:
4359:
5459:
4807:
1566:
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
5506:
5216:
1653:
When a problem shows optimal substructures—meaning the optimal solution to a problem can be constructed from optimal solutions to subproblems—and
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.
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
5777:
4817:
4569:
4548:
4481:
4462:
4443:
4424:
4403:
4272:
4244:
4202:
4181:
4155:
4072:
4000:
3905:
3883:
3748:
3711:
3669:
3648:
3517:
3470:
3444:
3293:
3269:
3231:
3071:
Dyer, Martin; Frieze, Alan; Kannan, Ravi (January 1991). "A Random
Polynomial-time Algorithm for Approximating the Volume of Convex Bodies".
3026:
2864:
2590:
2477:
2387:
2188:"A procedure which has all the characteristics of an algorithm except that it possibly lacks finiteness may be called a 'computational method
5383:
2818:
331:("Addition and subtraction in Indian arithmetic"). In the early 12th century, Latin translations of said al-Khwarizmi texts involving the
2892:
1211:
enable computing devices that make extensive use of image processing (like digital cameras and medical equipment) to consume less power.
4837:
4832:
4652:
1412:
seek an approximation that is close to the true solution. Such algorithms have practical value for many hard problems. For example, the
2611:
586:. Babylonian clay tablets describe and employ algorithmic procedures to compute the time and place of significant astronomical events.
253:
2522:
4225:
3760:
3723:
3681:
3243:
3180:
2932:
2505:
2355:
2295:
2253:
1206:
To illustrate the potential improvements possible even in well-established algorithms, a recent significant innovation, relating to
141:
123:
83:
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.
3210:
2090:
730:(punch cards), and "telephone switching technologies" led to the development of the first computers. By the mid-19th century, the
5250:
4934:
2031:
1579:
This technique involves solving a difficult problem by transforming it into a better-known problem for which we have (hopefully)
1155:
686:
mechanism that provides the tick and tock of a mechanical clock. "The accurate automatic machine" led immediately to "mechanical
4660:
647:
332:
4997:
4757:
4142:. Intelligent Systems, Control and Automation: Science and Engineering. Vol. 74. Switzerland: Springer. pp. 111–127.
2056:
1594:
1584:
112:
3690:
3351:) where he defines the notion of "effective calculability" in terms of "an algorithm", and he uses the word "terminates", etc.
4924:
4527:
4511:
4491:
Hertzke, Allen D.; McRorie, Chris (1998). "The
Concept of Moral Ecology". In Lawler, Peter Augustine; McConkey, Dale (eds.).
3816:, p. 237ff. Kleene's definition of "general recursion" (known now as mu-recursion) was used by Church in his 1935 paper
2123:
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.
4929:
4822:
4597:
2137:"Any classical mathematical algorithm, for example, can be described in a finite number of English words" (Rogers 1987:2).
1877:
780:
3695:, ACM Transactions on Computational Logic, Vol 1, no 1 (July 2000), pp. 77–111. Includes bibliography of 33 sources.
1662:
5698:
5668:
5653:
5483:
4827:
3505:
3454:
2248:. Untimely Meditations. Vol. 14. Translated by Chase, Jefferson. Cambridge, Massachusetts: MIT Press. p. 147.
1666:
1472:
1226:
272:
5772:
4869:
4592:
2829:
2201:"An algorithm has one or more outputs, i.e., quantities which have a specified relation to the inputs" (Knuth 1973:5).
1968:
1939:
1725:
1507:
1395:
1322:
1058:
Different algorithms may complete the same task with a different set of instructions in less or more time, space, or '
402:
57:
2785:
408:
One informal definition is "a set of rules that precisely defines a sequence of operations", which would include all
5723:
5597:
5587:
5567:
5487:
4951:
3799:
2014:
1263:
613:
594:
65:
35:
280:
are commonly called "algorithms", they actually rely on heuristics as there is no truly "correct" recommendation.
5602:
5347:
5280:
5275:
5238:
4769:
4742:
4712:
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:
3943:
2003:
446:
257:
4056:
1250:
514:
Since antiquity, step-by-step procedures for solving mathematical problems have been recorded. This includes in
5204:
5199:
5108:
5068:
4784:
2041:
1429:. The term is usually used for those algorithms which seem inherently quantum or use some essential feature of
565:
381:
in 1391, English adopted the French term. In the 15th century, under the influence of the Greek word ἀριθμός (
1657:, meaning the same subproblems are used to solve many different problem instances, a quicker approach called
5741:
5703:
5393:
3734:
2977:
2021:
2008:
1978:
1741:
1489:
1409:
1391:
878:
806:
604:
159:
2972:
1465:
solve a variety of problems, including finding the shortest path between two points and cracking passwords.
5547:
5398:
5388:
5362:
5184:
5179:
5174:
5169:
5127:
5090:
5036:
4762:
4752:
4730:
3080:
1698:
1654:
1580:
1574:
1363:
1351:
1326:
1310:
1271:
1207:
1201:
1181:
1165:
1151:
1059:
942:
898:
515:
292:
31:
5607:
5577:
5315:
5295:
5233:
5162:
4941:
4919:
4894:
4794:
3549:
2046:
2036:
1993:
1988:
1963:
1669:
can be found by using the shortest path to the goal from all adjacent vertices. Dynamic programming and
1548:
1434:
1381:
1189:
870:
608:
364:
300:
237:
154:
4363:
3461:
The
Undecidable: Basic Papers On Undecidable Propositions, Unsolvable Problems and Computable Functions
1919:
1706:
1510:
specifies rules for moving around a graph and is useful for such problems. This category also includes
795:
In 1928, a partial formalization of the modern concept of algorithms began with attempts to solve the
5718:
5693:
5638:
5473:
5367:
5352:
5267:
5194:
5157:
5152:
5142:
4902:
4856:
2051:
1998:
1983:
1716:
1634:
1616:
1525:
1451:
1438:
1291:
1267:
1173:
1159:
894:
797:
627:
590:
583:
519:
308:
3085:
1637:
for directed graphs. If a problem additionally requires that one or more of the unknowns must be an
5767:
5728:
5713:
5658:
5342:
5211:
5122:
5009:
4980:
4704:
4668:
3699:
2846:
2741:(2016). "The (black) art of run-time evaluation: Are we comparing algorithms or implementations?".
1733:
1720:
1702:
1648:
1642:
1588:
1562:
1540:
1426:
1347:
1230:
818:
622:
265:
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.
5746:
5648:
5643:
5557:
5479:
5132:
5118:
5100:
5083:
5063:
5046:
4956:
4779:
4496:
4356:, pp. 155ff. Turing's paper that defined "the oracle" was his PhD thesis while at Princeton.
4304:
4110:
4102:
4042:
4034:
3973:
3962:
3850:
3791:
3740:
3418:
3410:
3383:
3375:
3334:
3160:
3098:
3032:
2766:
2734:
2553:
2445:
2239:
2026:
1958:
1925:
1754:
1675:
1623:
1458:
1377:
1234:
734:, the precursor of the telephone, was in use throughout the world. By the late 19th century, the
666:
561:
531:
523:
458:
277:
401:
For a detailed presentation of the various points of view on the definition of "algorithm", see
4587:
3640:
2815:
1565:
always return the correct answer, but their running time is only probabilistically bound, e.g.
1071:
287:, an algorithm can be expressed within a finite amount of space and time and in a well-defined
5708:
5552:
5305:
5041:
5019:
4946:
4907:
4884:
4606:
4565:
4544:
4477:
4458:
4439:
4420:
4399:
4268:
4240:
4221:
4198:
4177:
4151:
4068:
3996:
3901:
3879:
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:
2375:
2351:
2291:
2249:
2119:
1737:
1630:
1430:
1422:
1350:
is one that invokes itself repeatedly until it meets a termination condition, and is a common
854:
695:
691:
527:
3763:. Cf. Chapter "The Spirit of Truth" for a history leading to, and a discussion of, his proof.
1241:
is used to describe e.g., an algorithm's run-time growth as the size of its input increases.
5688:
5673:
5223:
5014:
5002:
4985:
4963:
4912:
4864:
4725:
4389:
4341:
4333:
4296:
4143:
4094:
4026:
3952:
3840:
3783:
3614:
3545:
3402:
3367:
3326:
3258:
3150:
3090:
3014:
2850:
2750:
2607:
2537:
2429:
1973:
1948:
1685:
1515:
1511:
1413:
1314:
1306:
1297:
1188:
Empirical testing is useful for uncovering unexpected interactions that affect performance.
1169:
814:
683:
442:
409:
378:
284:
188:
178:
3928:
Elements of
Mathematical Logic and its Application to the theory of Subrecursive Algorithms
5663:
5329:
5285:
5112:
5056:
5051:
5029:
4990:
4812:
4737:
4664:
4531:
4515:
3934:
3253:
3066:
2920:
2833:
2822:
2561:
1556:
1552:
1367:
1295:). However practical applications of algorithms are sometimes patentable. For example, in
1283:
1254:
1110:
1027:
994:
957:
842:
826:
707:
699:
687:
352:
344:
288:
249:
1398:
solve problems via guessing. Guesses are typically made more accurate through the use of
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
5529:
4973:
4414:
3989:
3824:
3767:
3659:
3633:
3628:
3561:
3459:
3347:, p. 89ff. The first expression of "Church's Thesis". See in particular page 100 (
3280:
where they discuss "certain enumerable sets not effectively (mechanically) enumerable".
2916:
2082:
1694:
1536:
1259:
1238:
986:
890:
768:
727:
582:
clay tablets described algorithms for computing formulas. Algorithms were also used in
489:
438:
3306:, and Costa, J.F. (2000) An analog characterization of the subrecursive functions. In
5761:
5678:
5633:
5290:
5245:
5228:
4874:
4747:
4673:
4346:
4285:(1936–37). "On Computable Numbers, With An Application to the Entscheidungsproblem".
4214:
4192:
3984:
3864:
3795:
3730:
3686:
3541:
3533:
3482:
3355:
3314:
3249:
3191:
3187:
2320:
Stone requires that "it must terminate in a finite number of steps" (Stone 1973:7–8).
2284:
Dietrich, Eric (1999). "Algorithm". In Wilson, Robert Andrew; Keil, Frank C. (eds.).
1690:
1601:
1359:
1063:
914:
906:
902:
874:
834:
822:
810:
802:
723:
662:
639:
424:
304:
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
5628:
5592:
5562:
5310:
5189:
4968:
4879:
4774:
4657:
4503:
4321:
4282:
4082:
3966:
3915:
3893:
3583:
3565:
3557:
3537:
3529:
3422:
2738:
2557:
2403:
1519:
1503:
1139:
910:
784:
703:
413:
320:
296:
17:
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
5498:
4559:
4453:
Thomas H. Cormen; Charles E. Leiserson; Ronald L. Rivest; Clifford Stein (2009).
4393:
4308:
3820:
that proved the "decision problem" to be "undecidable" (i.e., a negative result).
3008:
2854:
2285:
2243:
1475:
repeatedly reduces a problem to one or more smaller instances of itself (usually
5582:
5421:
5337:
4147:
3920:
Volume 2/Seminumerical Algorithms, The Art of Computer Programming First Edition
3486:
2811:
2578:
1933:
1790:
1729:
1670:
1539:
can be the fastest algorithm for some problems is an open question known as the
838:
757:
746:
735:
538:
450:
423:. In general, a program is an algorithm only if it stops eventually—even though
245:
241:
174:
4609:
4337:
4300:
5572:
5357:
4416:
The Advent of the Algorithm: The 300-Year Journey from an Idea to the Computer
3303:
3018:
2754:
1915:
1786:
1532:
1399:
1366:
to solve problems. Problems may be suited for one implementation or the other.
1177:
858:
711:
618:
454:
336:
3812:
Presented to the American Mathematical Society, September 1935. Reprinted in
3619:
3602:
2986:
2762:
2549:
2441:
2418:"Mathematics of the Yoruba People and of Their Neighbors in Southern Nigeria"
4614:
4014:
3498:
2179:
which are given to it initially before the algorithm begins" (Knuth 1973:5).
1480:
1476:
1355:
1325:. Additionally, some cryptographic algorithms have export restrictions (see
927:
862:
830:
731:
690:" beginning in the 13th century and finally to "computational machines"—the
579:
546:
261:
3393:
Church, Alonzo (1936). "Correction to a Note on the Entscheidungsproblem".
2826:
1661:
avoids recomputing solutions that have already been computed. For example,
474:
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
4535:. Stanford, California: Center for the Study of Language and Information.
4519:. Stanford, California: Center for the Study of Language and Information.
3478:
2176:
1302:
654:
417:
373:
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
5683:
4132:
4106:
4038:
3854:
3787:
3553:
3414:
3379:
3338:
3164:
2449:
2417:
1638:
1587:
is not dominated by the resulting reduced algorithms. For example, one
550:
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
5024:
4842:
3871:
3494:
3062:
1318:
866:
788:
764:
420:
233:
4098:
4030:
3845:
3828:
3406:
3371:
3330:
3155:
3138:
2433:
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.
4395:
Habits of the Heart: Individualism and Commitment in American Life
4375:
4313:. Corrections, ibid, vol. 43(1937) pp. 544–546. Reprinted in
2925:
Back to Basic: The History, Corruption, and Future of the Language
1953:
1633:. Problems that can be solved with linear programming include the
1499:
1172:, and is often practiced abstractly without the use of a specific
779:
542:
153:
3203:
Bulletin of European Association for Theoretical Computer Science
2211:
resort to random methods or devices, e.g., dice" (Rogers 1987:2).
853:
Algorithms can be expressed in many kinds of notation, including
5612:
3692:
Sequential Abstract State Machines Capture Sequential Algorithms
3593:
2172:
5502:
5460:
European Community on Computational Methods in Applied Sciences
4677:
4561:
Poems that Solve Puzzles: The History and Science of Algorithms
4216:
Unto Others: The Evolution and Psychology of Unselfish Behavior
3510:
Engines of Logic: Mathematicians and the Origin of the Computer
2672:, Valley News West Lebanon NH, Thursday, March 31, 1983, p. 13.
1709:
are greedy algorithms that can solve this optimization problem.
893:
programs can be expressed as a sequence of machine tables (see
745:) was in use, as were Hollerith cards (c. 1890). Then came the
486:
about 20th and 21st century development of computer algorithms.
2856:
Algorithm Design: Foundations, Analysis, and Internet Examples
468:
371:, or "Thus spoke Al-Khwarizmi". Around 1230, the English word
95:
40:
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.).
1394:
solve the problem with exact decision at every step; whereas
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
2973:"The Experts: Does the Patent System Encourage Innovation?"
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.
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
119:
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
3878:(Tenth ed.). North-Holland Publishing Company.
3264:(4th ed.). Cambridge University Press, London.
1551:
return a correct answer with high probability. E.g.
589:
Algorithms for arithmetic are also found in ancient
206:
197:
5621:
5540:
5430:
5414:
5376:
5328:
5266:
5141:
5099:
4893:
4855:
4793:
4711:
4138:. In van Rysewyk, Simon; Pontier, Matthijs (eds.).
191:
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:
4541:Moral Machines: Teaching Robots Right from Wrong
4539:Wallach, Wendell; Allen, Colin (November 2008).
3772:"General Recursive Functions of Natural Numbers"
2816:ACM-SIAM Symposium On Discrete Algorithms (SODA)
2116:Information Retrieval: Algorithms and Heuristics
905:for more), as flowcharts and drakon-charts (see
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
4326:Proceedings of the London Mathematical Society
4324:(1939). "Systems of Logic Based on Ordinals".
4288:Proceedings of the London Mathematical Society
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:
2158:"an algorithm is a procedure for computing a
428:
389:"arithmetic"), the Latin word was altered to
8:
5256:Supersymmetric theory of stochastic dynamics
4624:Dictionary of Algorithms and Data Structures
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.
3120:Linear Programming 2: Theory and Extensions
329:kitab al-jam' wa'l-tafriq al-ḥisāb al-hindī
5521:
5507:
5499:
5263:
4790:
4696:
4682:
4674:
3900:. Reading, Massachusetts: Addison–Wesley.
3173:Computer Structures: Readings and Examples
3171:Bell, C. Gordon and Newell, Allen (1971),
2470:The History of Mathematics: A Brief Course
4509:Selected Papers on Analysis of Algorithms
4360:United States Patent and Trademark Office
4345:
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:
3218:Includes a bibliography of 56 references.
3154:
3084:
2491:
2489:
1804:. Output: The largest number in the list
1112:
1073:
1029:
996:
959:
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.
2786:"Better Math Makes Faster Data Networks"
2668:Melina Hill, Valley News Correspondent,
2422:The Two-Year College Mathematics Journal
1105:) outperforms a sequential search (cost
603:. Algorithms were later used in ancient
4525:Selected Papers on Design of Algorithms
4220:. Cambridge: Harvard University Press.
2893:"Big-O notation (article) | Algorithms"
2071:
1800:LargestNumber Input: A list of numbers
1253:, any algorithm can be computed by any
1220:
669:, the earliest codebreaking algorithm.
657:, a 9th-century Arab mathematician, in
4472:Harel, David; Feldman, Yishai (2004).
3829:"Recursive Predicates and Quantifiers"
3437:The Muslim contribution to mathematics
3175:, McGraw–Hill Book Company, New York.
2614:from the original on February 27, 2015
2585:. New York: Springer. pp. 40–62.
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
4493:Community and Political Thought Today
4474:Algorithmics: The Spirit of Computing
4167:from the original on October 9, 2022.
3898:Fundamental Algorithms, Third Edition
3216:from the original on October 9, 2022.
3043:from the original on October 18, 2017
2711:
2709:
2707:
2705:
2369:
2367:
1555:is the subclass of these that run in
1535:. Whether randomized algorithms with
7:
4653:Associations for Computing Machinery
4640:The Stony Brook Algorithm Repository
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:
909:for more), as a form of rudimentary
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
4705:Industrial and applied mathematics
2670:A Tinkerer Gets a Place in History
2376:"Algorithms in Indian Mathematics"
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
25:
4935:Stochastic differential equations
4131:Santos-Lang, Christopher (2015).
3435:Daffa', Ali Abdullah al- (1977).
2792:from the original on May 13, 2014
2743:Knowledge and Information Systems
2087:Merriam-Webster Online Dictionary
1502:) can be modelled as problems on
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)
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
2523:"Ancient Babylonian Algorithms"
2402:Hayashi, T. (2023, January 1).
2329:Boolos and Jeffrey 1974,1999:19
2057:Computational complexity theory
1498:Many problems (such as playing
1373:Serial, parallel or distributed
625:, which was first described in
427:may sometimes prove desirable.
4930:Partial differential equations
4803:Arbitrary-precision arithmetic
2859:. John Wiley & Sons, Inc.
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ī
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:
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
311:, incorporate random input.
307:; some algorithms, known as
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
1783:(Quasi-)formal description:
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
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
461:, or a mechanical device.
400:
232:) is a finite sequence of
36:Algorithm (disambiguation)
29:
5737:
5468:
5276:Algebra of physical space
4743:Automated theorem proving
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
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).
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
18:Computer algorithms
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:
5281:Feynman integral
5264:
5224:Potential theory
5113:random variables
5003:Fourier analysis
4986:Operator algebra
4913:Clifford algebra
4865:Computer algebra
4791:
4698:
4691:
4684:
4675:
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
4605:
4604:
4586:
4583:
4578:
4572:
4557:
4551:
4538:
4532:Wayback Machine
4516:Wayback Machine
4490:
4484:
4471:
4465:
4452:
4446:
4433:
4427:
4412:
4406:
4388:
4384:
4382:Further reading
4371:
4354:The Undecidable
4322:Turing, Alan M.
4320:
4315:The Undecidable
4283:Turing, Alan M.
4281:
4275:
4262:
4247:
4234:
4228:
4211:
4205:
4190:
4184:
4171:
4164:
4158:
4135:
4130:
4125:The Undecidable
4121:The Undecidable
4099:10.2307/2269059
4081:
4075:
4062:
4053:The Undecidable
4031:10.2307/2269031
4013:
4003:
3983:
3933:
3926:Kosovsky, N.K.
3914:
3908:
3892:
3886:
3870:
3861:The Undecidable
3846:10.2307/1990131
3823:
3814:The Undecidable
3805:
3803:
3766:
3751:
3729:
3714:
3698:
3672:
3657:
3651:
3629:Dennett, Daniel
3627:
3600:
3582:Paul E. Black.
3581:
3572:
3520:
3504:
3473:
3453:
3447:
3434:
3429:The Undecidable
3407:10.2307/2269030
3392:
3372:10.2307/2269326
3354:
3349:The Undecidable
3345:The Undecidable
3331:10.2307/2371045
3313:
3296:
3283:
3278:Turing machines
3272:
3248:
3234:
3221:
3213:
3198:
3186:
3156:10.2307/1993169
3137:Axt, P (1959).
3136:
3132:
3127:
3126:
3114:
3110:
3086:10.1.1.145.4600
3070:
3067:convex polytope
3060:
3056:
3046:
3044:
3029:
3006:
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:
2845:
2844:
2840:
2834:Wayback Machine
2823:Wayback Machine
2809:
2805:
2795:
2793:
2783:
2782:
2778:
2733:
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.
2605:
2604:
2600:
2593:
2577:
2576:
2572:
2564:
2525:
2520:
2519:
2515:
2508:
2495:
2494:
2487:
2480:
2467:
2466:
2457:
2434:10.2307/3027363
2415:
2414:
2410:
2401:
2397:
2390:
2373:
2372:
2365:
2358:
2345:
2344:
2333:
2328:
2324:
2319:
2315:
2302:
2300:
2298:
2283:
2282:
2278:
2265:
2263:
2256:
2238:
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:
1109:
1108:
1106:
1070:
1069:
1067:
1026:
1025:
1023:
993:
992:
990:
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
225:
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:
5789:
5781:
5780:
5775:
5770:
5760:
5759:
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:
5528:
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:
4703:
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:
24:
14:
13:
10:
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:
4580:
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:
4381:
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:
3129:
3121:
3117:
3112:
3109:
3104:
3100:
3096:
3092:
3087:
3082:
3078:
3074:
3068:
3064:
3058:
3055:
3047:September 19,
3042:
3038:
3034:
3030:
3024:
3020:
3016:
3012:
3011:
3003:
3000:
2988:
2984:
2980:
2979:
2974:
2968:
2965:
2959:
2956:
2950:
2947:
2941:
2938:
2934:
2933:0-201-13433-0
2930:
2926:
2922:
2918:
2913:
2910:
2898:
2894:
2888:
2885:
2872:
2868:
2862:
2858:
2857:
2852:
2848:
2842:
2839:
2835:
2831:
2828:
2827:sFFT Web Page
2824:
2820:
2817:
2813:
2807:
2804:
2791:
2787:
2780:
2777:
2772:
2768:
2764:
2760:
2756:
2752:
2748:
2744:
2740:
2739:Zimek, Arthur
2736:
2730:
2727:
2721:
2718:
2712:
2710:
2708:
2706:
2702:
2696:
2693:
2687:
2684:
2681:Davis 2000:14
2678:
2675:
2671:
2665:
2662:
2656:
2653:
2647:
2644:
2638:
2635:
2629:
2626:
2613:
2609:
2602:
2599:
2594:
2588:
2584:
2580:
2574:
2571:
2563:
2559:
2555:
2551:
2547:
2543:
2539:
2535:
2531:
2524:
2517:
2514:
2509:
2507:9783319016283
2503:
2499:
2492:
2490:
2486:
2481:
2475:
2471:
2464:
2462:
2460:
2456:
2451:
2447:
2443:
2439:
2435:
2431:
2427:
2423:
2419:
2412:
2409:
2405:
2399:
2396:
2391:
2385:
2381:
2377:
2370:
2368:
2364:
2359:
2357:9783642181924
2353:
2349:
2342:
2340:
2338:
2336:
2332:
2326:
2323:
2317:
2314:
2310:
2299:
2297:9780262731447
2293:
2289:
2288:
2280:
2277:
2273:
2261:
2257:
2255:9780262536370
2251:
2247:
2246:
2241:
2235:
2232:
2226:
2223:
2217:
2214:
2207:
2204:
2198:
2195:
2185:
2182:
2178:
2174:
2168:
2165:
2161:
2155:
2152:
2146:
2144:
2140:
2134:
2132:
2128:
2125:
2121:
2117:
2111:
2109:
2105:
2092:
2088:
2084:
2078:
2076:
2072:
2065:
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:
1911:
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:
1748:
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:
1610:
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:
1445:
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:
1337:
1332:
1330:
1328:
1324:
1320:
1316:
1312:
1308:
1304:
1300:
1299:
1294:
1293:
1285:
1277:
1275:
1273:
1269:
1265:
1261:
1256:
1252:
1244:
1242:
1240:
1236:
1232:
1228:
1222:
1214:
1212:
1209:
1203:
1195:
1193:
1191:
1186:
1183:
1179:
1175:
1171:
1167:
1161:
1157:
1153:
1145:
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:
936:
934:
933:
929:
921:
919:
916:
915:assembly code
912:
908:
907:state diagram
904:
903:control table
900:
896:
892:
884:
882:
880:
876:
872:
868:
867:drakon-charts
864:
860:
856:
848:
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
775:
773:
770:
766:
761:
759:
748:
737:
733:
729:
725:
724:Jacquard loom
717:
715:
713:
709:
705:
701:
697:
693:
689:
685:
677:
672:
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:
509:
501:
491:
485:
482:This section
480:
476:
471:
470:
464:
462:
460:
456:
452:
448:
444:
440:
435:
434:
430:
426:
422:
419:
416:procedure or
415:
411:
404:
396:
394:
392:
388:
384:
380:
376:
375:
370:
366:
362:
358:
354:
350:
346:
342:
338:
334:
330:
326:
322:
314:
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
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:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.