class= "Post_content" itemprop= "Articlebody" >
Reddit has a post about the importance of the algorithm to our lives, and which algorithms contribute the most to modern civilization. If you know something about the algorithm, you might ask "does the author know what the algorithm is?" when reading this article. "or" is Facebook's information Feed an algorithm? "If the information flow is an algorithm, it can be summed up as an algorithm." Talents, combining that post, I'm going to try to explain what the algorithm is and what 10 algorithms are leading our world ...
What is an algorithm?
In short, any well-defined computational step can be called an algorithm that accepts one or a set of values as input, outputting one or a set of values. (Source: Homas H. Cormen, Chales E. Leiserson, 3rd edition of Algorithmic Introduction)
It can be understood that the algorithm is a series of steps to solve a particular problem (not only the computer needs the algorithm, we also use the algorithm in the daily life). The algorithm must have the following 3 important features:
[1] There is a poor sex. After performing a finite step, the algorithm must be aborted.
[2] the exact sex. Each step of the algorithm must be defined exactly.
[3] feasibility. A particular algorithm must be able to solve a specific problem within a certain time,
In fact, although the algorithm is widely used in the computer field, but it is entirely derived from mathematics. In fact, the earliest mathematical algorithm can be traced back to the 1600 BC-babylonians on the solution of the factorization of the square root of the algorithm.
So what are the 10 computer algorithms that make up our lives today? Please look at the form below, ranking in no order:
1. Merging sort (merge sort), fast sort (quick sort) and stacking sort (HEAP sort)
Which sorting algorithm is the most efficient? It depends. That's why I put these 3 algorithms together and maybe you're more likely to use one, but they're different.
The merge sort algorithm, one of the most important algorithms so far, is a typical application of the partition method, invented by the mathematician John von Neumann in 1945.
The fast sorting algorithm, combined with the set partitioning algorithm and the partition algorithm, is not very stable, but it is very efficient when dealing with random array (am-based arrays).
Stacking sorting, using the priority queue mechanism, reduces the search time when sorting, and is also not very stable.
Compared with the earlier sorting algorithms, such as bubbling algorithms, these algorithms put the sorting algorithm on a large step. Thanks to these algorithms, today's data mining, artificial intelligence, link analysis, and most Web computing tools are available.
2. Fourier transform and fast Fourier transform
These two algorithms are simple, but very powerful, the whole digital world can not be separated from them, its function is to realize the time domain function and frequency domain function of the mutual transformation. To see this article is also a blessing for these algorithms.
Almost all computer-related devices, such as Internet, WIFI, smartphones, landline, computers, routers and satellites, are more or less related to them. Without these two algorithms, you will never get a degree in electronics, computer or communications engineering. (USA)
3 Marx algorithm (Dijkstra ' s algorithm)
It can be said that without this algorithm, the Internet is certainly not as efficient as it is now. This algorithm can be used to find the shortest distance between two nodes in the graph as long as it can be represented by the "graph" model.
Although there are many better ways to solve the shortest path problem today, the stability of the Dekes algorithm is still irreplaceable.
4. RSA Asymmetric Encryption Algorithm
It is no exaggeration to say that without this algorithm's contribution to cryptography and network security, the Internet may not be so high today. Now the network is insecure, but when it comes to money-related problems, we have to be sure that we have enough security, and if you think the Internet is unsafe, you will not foolishly enter your own bank card information on the Web page.
The RSA algorithm, one of the most fork algorithms in the key field, is proposed by three founders of RSA, which lays the key research field today. The problem solved by this algorithm is simple and complex: in the case of security, how to share the key between the independent platform and the user.
5. Hash security algorithm (Secure Hash Algorithm)
Rather, this is not an algorithm, but a set of cryptographic hash functions, first proposed by the American Institute of Standards and Technology. Whether it's your app store, email and antivirus, or browser, and so on, use this algorithm to ensure your normal downloads, as well as being "man-in-the-middle" or "phishing".
6. Integral mass factor factorization (integer factorization)
This is actually a mathematical algorithm, but has been widely used in computer fields. Without this algorithm, encrypted information would not be so secure. Through a series of steps, it can decompose a synthetic number into a number factor that cannot be divided.
Many cryptographic protocols use this algorithm, such as the RSA algorithm just mentioned.
7. Link Analysis Algorithm
In the internet age, the analysis of the relationship between different portals is essential. From search engines and social networking sites to market analysis tools, they are sparing no effort to find the true structure of the Internet.
The link analysis algorithm has always been one of the most puzzling algorithms in this field, the implementation is different, and its own characteristics make each implementation method of the algorithm dissimilation, but the basic principle is very similar.
The mechanism of the link analysis algorithm is actually very simple: you can use a matrix to represent a "graph" to form eigenvalue problems. Eigenvalue problems can help you analyze the structure of the graph and the weights of each node. This algorithm was presented by Gabriel Pinski and Francis Narin in 1976.
Who would use this algorithm? Google's Web page rankings, Facebook sends you a stream of information (so the flow of information is not an algorithm, it's the result of the algorithm), Google + and Facebook's buddy recommendation, LinkedIn's job recommendation, YouTube video recommendation, and more.
Google is widely believed to be the first to use this kind of algorithm, but in fact as early as 1996 (Google came out 2 years ago), Robin Li created the "Rankdex" small search engine used this idea. The Hyper search algorithm Massimo Machiori has used similar algorithms. All two of them have become legendary in Google's history.
8. Proportional calculus algorithm (proportional Integral derivative algorithm)
Airplanes, automobiles, televisions, mobile phones, satellites, factories and robots, and so on, have this algorithm.
In simple terms, this algorithm mainly through the "control loop feedback mechanism" to reduce the preset output signal and the real output signal error between. This calculation method is required as long as signal processing or electronic systems are needed to control the automation machinery, hydraulic and heating systems.
Without it, there would be no modern civilization.
9. Data compression algorithm
There are many kinds of data compression algorithms, which is the best? Depending on the direction of application, compression mp3,jpeg and MPEG-2 files are different.
Where can I see them? is not just a compressed file in a folder. The Web page you're looking at is using a data compression algorithm to download information to your computer. In addition to text, games, video, music, data storage, cloud computing and so on. It makes all kinds of systems easier and more efficient.
10. Random number generation algorithm
Up to now, the computer has no way to generate "true" random number, but pseudorandom number generation algorithm is enough. These algorithms are applied in many fields, such as network connectivity, cryptography, secure hashing algorithms, network games, artificial intelligence, and conditional initialization in problem analysis.
This form is not complete, and many of the algorithms that are closely related to us are not mentioned, such as machine learning and matrix multiplication. In addition, the knowledge is limited, if there is a batch of leaks, also hope to correct.