Data Structures and Algorithms [10] algorithm to dominate the world

Foreword

If you understand the algorithm, when reading this article, you may ask "the authors know why the algorithm was it?" Or "Facebook's 'information flow' (News Feed) be regarded as an algorithm do?", If the "message flow "is an algorithm, we can put everything boils down to an algorithm. Caishuxueqian, combined with essay post, then I try to explain what algorithms are, but also what algorithm is leading our world.

What is an algorithm?

In short, any well-defined algorithm calculation step can be called, or to accept a set of input values, output values ​​of one or a group. (Source: homas H. Cormen, Chales E. Leiserson "Introduction to Algorithms 3rd Edition")

Can be understood, the algorithm is a series of steps to solve a particular problem (not just need a computer algorithm, we also use an algorithm in daily life). Algorithm must have the following three important features:

  • Have poor resistance, after performing finite number of steps, the algorithm must be suspended.
  • The exact nature of each step of the algorithm must be precisely defined.
  • Feasibility, to be specific algorithm can solve specific problems within a specific period of time.

In fact, although the algorithm is widely used in the computer field, but entirely from mathematics. In fact, the earliest dating back to mathematical algorithms algorithm 1600 BC -Babylonians about seeking factoring and square roots.

So what is creating 10 computer algorithm we live it today? Look at the form below, in alphabetical order:

Merge sort (MERGE SORT), quick sort (QUICK SORT) and bulk ordering (HEAP SORT)
Here Insert Picture Description
which is the highest ranking algorithm efficiency? It depends on the situation. This is why I put three algorithms talking together, you may be more common one, but they are different.

Merge sort algorithm, it is by far one of the most important algorithms, is a typical application of divide and conquer by the mathematician John von Neumann invented in 1945.

Fast sorting algorithm that combines the set partitioning algorithm and the divide and conquer algorithm is not very stable, but when dealing with a random array (AM-based arrays) efficiency is very high.

Sort accumulation, the use of search time when the priority queue mechanism to reduce sorting, the same is not very stable.

Compared with earlier sorting algorithms (e.g., algorithms bubbling), the sorting algorithm algorithms put on a higher level. Also thanks to these algorithms, it is today's data mining, artificial intelligence, link analysis, and most pages computing tools.

Fourier transform and fast Fourier transform
Here Insert Picture Description
both the algorithm is simple, but very powerful, the entire digital world can not do without them, its function is to achieve mutual conversion between the frequency domain and time domain function function. Be able to read this article, also asked the blessing of these algorithms.

Internet, WIFI, intelligent machines, landline, computer, router, satellite, etc. Almost all computer-related equipment are more or less related to them. Both algorithms are not, you simply can not get the electronics, computer engineering or a degree in communications. (USA)

Dijkstra (Dijkstra's algorithm)
Here Insert Picture Description
can be said that, if there is no such algorithm, the Internet certainly not now high efficiency. As long as the problem can be expressed in a "map" model, you can find the shortest distance between the "map" of the two nodes using this algorithm.

Although nowadays there are many better ways to solve shortest path problems, but the stability behalf Kesi Tuo algorithms still can not be replaced.

RSA asymmetric encryption algorithm
is no exaggeration to say that without the contribution of this algorithm, the key is to learn and network security, and now the status of the Internet might not be so high. Now the network is no sense of security, but problems related to money we will need to ensure adequate security, if you feel insecure network, certainly not silly to enter their bank card information on the Web.

RSA algorithm, one of the key field of most cattle fork algorithm, proposed by the three founders of the company RSA, today laid the key areas of research. With this algorithm to solve the problem of simple and complex: to ensure the safety of the case, how to share keys between users and platform independent.

Security Hash Algorithm (Secure Hash Algorithm)
Rather, this is not an algorithm, but a set of cryptographic hash function, first proposed by the US National Institute of Standards and Technology. Whether your application store, e-mail and anti-virus software, or browser, etc., use this algorithm to ensure your normal download, and whether the "man in the middle attack", or "phishing."

Quality integer factorization algorithm (Integer factorization)
this is actually a mathematical algorithm, but has been widely used in the computer field. Without this algorithm, the encrypted information would not be so safe. By the series of steps, it can be decomposed into a number of combined number of factors are not subdivided.

A lot of encryption protocols using this algorithm, like on the RSA algorithm just mentioned.

Link analysis algorithm (Link Analysis)
Here Insert Picture Description

In the Internet age, the relationship between critical analysis of different entrance. From search engines and social networking sites to market analysis tools, we are sparing no effort to find the Internet is really constructed.

Link analysis algorithm has been one algorithm puzzling in this area most people, different implementations, but also its own characteristics so that each algorithm implementation of alienation, but the basic principle is very similar.

Mechanism link analysis algorithm is very simple: you can use the matrix representation of a "map", an intrinsic value problem. The intrinsic value of the right questions can help you analyze the structure of this "map", and each node weight. The algorithm proposed in 1976 by the Gabriel Pinski and Francis Narin.

Who would use this algorithm do? Google page rank, Facebook sends to you when the information flow (information flow is not so algorithm, but the result of the algorithm), Google + and Facebook friend recommendation feature, LinkedIn job recommendation, Youtube video recommendation, and so on.

Google is generally considered the first to use such algorithms agency, but in fact, as early as 1996 (Google published 2 years ago) Robin Li "RankDex" small search engine created on the use of this idea. The Hyper Search search algorithm creator Massimo Marchi Orie also use similar algorithms. Both men later became a legendary figure in the history of Google.

Proportional Integral algorithm (Proportional Integral Derivative Algorithm)
Here Insert Picture Description

Aircraft, automobiles, televisions, mobile phones, satellite, etc. factories and robots have this figure things algorithm.

Simply put, this algorithm is mainly through the "control-loop feedback mechanism" to reduce the error between the preset output signal and the real output signal. As long as the required signal processing, or an electronic system to control automated machinery, hydraulic and heating systems, the need to use a calculation method.

Without it, there would be no modern civilization.

Data compression algorithms
compress data There are many algorithms, which is best? It depends on the direction of the application, compressed mp3, JPEG, and MPEG-2 files are not the same.

Where can I see them? Compressed file more than just folders. You are looking at this web page is to use data compression algorithm to download information to your computer. In addition to text, games, videos, music, data storage, cloud computing and so on are. It makes a variety of systems easier and more efficient.

Random number generation algorithm
Here Insert Picture Description
to now, the computer has no way to produce "really positive" random number, but a pseudo-random number generation algorithm is sufficient. These algorithms have applications in many areas, such as network access, encryption, secure hash algorithm, online games, artificial intelligence, and problem analysis of conditions initialization.

Guess you like

Origin blog.csdn.net/Java__xiaoze/article/details/90696728