but is now used in solving a broad range of problems in many fields. By complexity Algorithms can be classified by the amount of time they need to complete compared to their input size: Constant time: if the time needed by the algorithm is the same, regardless of the input size. E.g. an access to an array element. Logarithmic time: if the time is a logarithmic function of the input size. E.g. binary search algorithm. Linear time: if the time is proportional to the input size. E.g. the traverse of a list. Polynomial time: if the time is a power of the input size. E.g. the bubble sort algorithm has quadratic time complexity. Exponential time: if the time is an exponential function of the input size. E.g. Brute-force search. Some problems may have multiple algorithms of differing complexity, while other problems might have no algorithms or no known efficient algorithms. There are also mappings from some problems to other problems. Owing to this, it was found to be more suitable to classify the problems themselves instead of the algorithms into equivalence classes based on the complexity of the best possible algorithms for them. Continuous algorithms The adjective "continuous" when applied to the word "algorithm" can mean: An algorithm operating on data that represents continuous quantities, even though this data is represented by discrete approximations—such algorithms are studied in numerical analysis; or An algorithm in the form of a differential equation that operates continuously on the data, running on an analog computer. Legal issues Algorithms, by themselves, 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), and hence algorithms are not patentable (as in Gottschalk v. Benson). However practical applications of algorithms are sometimes patentable. For example, in Diamond v. Diehr, the application of a simple feedback algorithm to aid in the curing of synthetic rubber was deemed patentable. The patenting of software is highly controversial, and there are highly criticized patents involving algorithms, especially data compression algorithms, such as Unisys' LZW patent. Additionally, some cryptographic algorithms have export restrictions (see export of cryptography). History: Development of the notion of "algorithm" Ancient Near East The earliest evidence of algorithms is found in the Babylonian mathematics of ancient Mesopotamia (modern Iraq). A Sumerian clay tablet found in Shuruppak near Baghdad and dated to circa