Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)归海一刀
published in(发表于) 2014/5/31 8:02:16
Dominate the world 10 algorithms,

10 algorithms-algorithms-dominate this world IT news Dominate the world 10 algorithms

Reddit post introduces the importance of algorithms on we are now living, and which algorithm to modern civilization and the contribution of Max. If you understand the algorithm, when reading this article, you may be asking, "authors know what algorithm is that? ", Or" Facebook's ' flow ' (News Feed) is an algorithm for it? "If the" flow "is the algorithm, then everything can be boiled down to an algorithm. Talents, combined with the post, what I tried to explain the algorithm was next, and where 10 algorithm is leading our world.

What is an algorithm?

In short, any well-defined computational steps called algorithms, receives one or a set of values for input, output one or a set of values. (Source: homas h. Cormen, Chales e. Leiserson of the introduction to algorithms 3rd Edition)

Can be understood, the algorithm is a series of steps used to solve a specific problem (not just computer require algorithms, in our daily lives is also using algorithms). Algorithm must have the following 3 key features:

[1] there are poor. After you perform a finite number of steps, the algorithm must be suspended.

[2] specificity. Each step must be a precise definition of the algorithm.

[3] the feasibility. Specific algorithms can solve a specific problem within a specific time,

In fact, the algorithm is widely used in the computer field, but comes from mathematics. In fact, the oldest mathematical algorithm dating back to 1600 BC-Babylonians about begging factorization algorithm for square root of peace.

What 10 computer algorithms to create our today's lives? Consider the following form, in no particular order:

1. merge sort (MERGE SORT), quick sort (QUICK SORT) sorted and stacked (HEAP SORT)

Efficient sorting algorithms? It depends on the situation. Here's what I put together about the 3 algorithms reasons, maybe you're one of the more commonly used, but they are different.

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

Quick sort algorithm, combining algorithm for set partition and divide-and-conquer algorithm is not very stable, but in dealing with random arrays (AM-based arrays), efficiency is quite high.

Stack sort, using priority queue mechanism, reducing the search time of sorts, is not very stable.

Compared with the early sorting algorithms (such as bubbling algorithm), these algorithms are sorting algorithms on a big stage. Also thanks to these algorithms, today's data mining, artificial intelligence, link analysis, and computational tools most of the pages.

2. the Fourier transform and the fast Fourier transform

Both types of algorithm is simple, yet quite powerful, the whole digital world is inseparable from them, its function is to implement time domain and frequency domain function between the mutual transformation. To see this article, thanks to these algorithms,.

Internet, WIFI, smart phone, landline, computer, router, as well as almost all computer-related devices are more or less associated with them. Not both of these algorithms, you simply cannot get electronic, computer or telecommunications engineering degree. (USA)

3. Kesi thanks to algorithms (Dijkstra's algorithm)

Can say, if there is no such algorithm, efficient certainly does not now on the Internet. As long as they can "map" model represents the issues can use this algorithm to find the "map" the shortest distance between two nodes.

Although nowadays there are better ways to solve the shortest path problem, but daikesi thanks to the calculation method of stability still cannot replace.

4. the RSA asymmetric encryption algorithm

No exaggeration to say that, if there is no such algorithm's contribution to key learning and network security, Internet status may not be so high. Now the networks have no sense of, but encountered money-related issues, we need to ensure that there is enough of a sense, if you thought the Web safe, certainly not dumb enough to enter your bank card information on a Web page.

RSA algorithm, key pioneers in the field one of the most amazing algorithm, proposed by the RSA's three founders, lays the key areas of research today. Using this algorithm to solve simple and complex: to ensure the safety of situations, how to share between users and platform-independent key.

5. hash algorithms (Secure Hash Algorithm)

Specifically, this is not an algorithm, but rather a set of cryptographic hash functions, by the United States National Institute of standards and technology first proposed. Whether it's your app store, email, and antivirus software, or browser, use this algorithm to keep you on track to download, and whether it was "man in the middle attack", or "phishing".

6. algorithm for integer factorization quality (Integer factorization)

This is actually a mathematical algorithm, but has been widely used in the computer field. If no such algorithm, encrypted information is not so secure. Through a series of steps, it can break up a number of synthesis into a factor that cannot be divided.

Many cryptographic protocols using this algorithm, such as RSA algorithm mentioned.

7. link analysis algorithm (Link Analysis)

In the age of the Internet, is crucial to the analysis of the relationship among the different entrance. From the search engines and social networking sites, marketing analysis tools, are sparing no effort to find the Internet is constructed.

Link analysis algorithm is the most confusing one of the algorithms, implementations differ, and their own characteristics so that each implementation algorithm of alienation, but the principles are very similar.

Mechanisms to link analysis algorithm is very simple: you can use a matrix representation of the painting "maps" form the Eigen value problems. Eigen value problems can help you analyze this "figure" structure, as well as the weights for each node. The algorithm presented in 1976 Gabriel Pinski and Francis Narin.

Who would use this algorithm? Google page rank, when Facebook sends you information flow (so information flow, not algorithms, but the effect of the algorithm), Google+ and featured functions of Facebook friends, LinkedIn recommendation, Youtube video testimonials, and much more.

Widely believed that Google is the first to use the institutions of this kind of algorithm, but in fact as early as in 1996 (Google 2 years ago) created by Robin "RankDex" have used the idea of smaller search engines. Hyper Search search algorithms are founders of Maximo·maqiaoli had used similar algorithms. The two men later became legends in Google's history.

8. the calculus algorithm (Proportional Integral Derivative Algorithm)

A plane, a car, television, mobile phones, satellite, factories and have this algorithm in robot form.

In simple terms, this algorithm is mainly through "control loop feedback mechanism", decrease the preset output and actual output signal error. As long as the required signal processing or electronic systems for control and automation of mechanical, hydraulic and heating systems, you need to use this method.

Without it, there would be no modern civilization.

9. data compression algorithm

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

Where can I see them? Just compress files in the folder. You are looking at this page is the use of data compression algorithms to download information to your computer. In addition to text, games, videos, music and data storage, cloud computing, and so on are. It makes the system easier and more efficient.

10. random number generation algorithms

Until now, computer, there is no way to generate "true" random numbers, pseudo-random number generation algorithm that would have been enough. These algorithms are used in many fields, such as network connections, encryption technology, secure hash algorithm, online games, artificial intelligence, as well as the analysis of conditions in the initialization.

This form is not complete, many algorithms are closely related to us does not mention, such as machine learning and matrix multiplication. In addition, knowledge is limited, if there are leaks, look to correct me.


(

主宰这个世界的10种算法 - 算法 - IT资讯
主宰这个世界的10种算法

Reddit有篇帖子介绍了算法对我们现在生活的重要性,以及哪些算法对现代文明所做贡献最大。如果对算法有所了解,读这篇文章时你可能会问“作者知道算法为何物吗?”,或是“Facebook的‘信息流’(News Feed)算是一种算法吗?”,如果“信息流”是算法,那就可以把所有事物都归结为一种算法。才疏学浅,结合那篇帖子,接下来我试着解释一下算法是什么,又是哪10个算法正在主导我们的世界。

什么是算法?

简而言之,任何定义明确的计算步骤都可称为算法,接受一个或一组值为输入,输出一个或一组值。 (来源:homas H. Cormen, Chales E. Leiserson《算法导论第3版》)

可以这样理解,算法是用来解决特定问题的一系列步骤(不仅计算机需要算法,我们在日常生活中也在使用算法)。算法必须具备如下3个重要特性:

[1]有穷性。执行有限步骤后,算法必须中止。

[2]确切性。算法的每个步骤都必须确切定义。

[3]可行性。特定算法须可以在特定的时间内解决特定问题,

其实,算法虽然广泛应用在计算机领域,但却完全源自数学。实际上,最早的数学算法可追溯到公元前1600年-Babylonians有关求因式分解和平方根的算法。

那么又是哪10个计算机算法造就了我们今天的生活呢?请看下面的表单,排名不分先后:

1.归并排序(MERGE SORT),快速排序(QUICK SORT)和堆积排序(HEAP SORT)

哪个排序算法效率最高?这要看情况。这也就是我把这3种算法放在一起讲的原因,可能你更常用其中一种,不过它们各有千秋。

归并排序算法,是目前为止最重要的算法之一,是分治法的一个典型应用,由数学家John von Neumann于1945年发明。

快速排序算法,结合了集合划分算法和分治算法,不是很稳定,但在处理随机列阵(AM-based arrays)时效率相当高。

堆积排序,采用优先伫列机制,减少排序时的搜索时间,同样不是很稳定。

与早期的排序算法相比(如冒泡算法),这些算法将排序算法提上了一个大台阶。也多亏了这些算法,才有今天的数据发掘,人工智能,链接分析,以及大部分网页计算工具。

2.傅立叶变换和快速傅立叶变换

这两种算法简单,但却相当强大,整个数字世界都离不开它们,其功能是实现时间域函数与频率域函数之间的相互转化。能看到这篇文章,也是托这些算法的福。

因特网,WIFI,智能机,座机,电脑,路由器,卫星等几乎所有与计算机相关的设备都或多或少与它们有关。不会这两种算法,你根本不可能拿到电子,计算机或者通信工程学位。(USA)

3.代克思托演算法(Dijkstra's algorithm)

可以这样说,如果没有这种算法,因特网肯定没有现在的高效率。只要能以“图”模型表示的问题,都能用这个算法找到“图”中两个节点间的最短距离。

虽然如今有很多更好的方法来解决最短路径问题,但代克思托演算法的稳定性仍无法取代。

4. RSA非对称加密算法

毫不夸张地说,如果没有这个算法对密钥学和网络安全的贡献,如今因特网的地位可能就不会如此之高。现在的网络毫无安全感,但遇到钱相关的问题时我们必需要保证有足够的安全感,如果你觉得网络不安全,肯定不会傻乎乎地在网页上输入自己的银行卡信息。

RSA算法,密钥学领域最牛叉的算法之一,由RSA公司的三位创始人提出,奠定了当今的密钥研究领域。用这个算法解决的问题简单又复杂:保证安全的情况下,如何在独立平台和用户之间分享密钥。

5.哈希安全算法(Secure Hash Algorithm)

确切地说,这不是一种算法,而是一组加密哈希函数,由美国国家标准技术研究所首先提出。无论是你的应用商店,电子邮件和杀毒软件,还是浏览器等等,都使用这种算法来保证你正常下载,以及是否被“中间人攻击”,或者“网络钓鱼”。

6.整数质因子分解算法(Integer factorization)

这其实是一个数学算法,不过已经广泛应用与计算机领域。如果没有这个算法,加密信息也不会如此安全。通过一系列步骤将,它可以将一个合成数分解成不可再分的数因子。

很多加密协议都采用了这个算法,就比如刚提到的RSA算法。

7.链接分析算法(Link Analysis)

在因特网时代,不同入口间关系的分析至关重要。从搜索引擎和社交网站,到市场分析工具,都在不遗余力地寻找因特网的正真构造。

链接分析算法一直是这个领域最让人费解的算法之一,实现方式不一,而且其本身的特性让每个实现方式的算法发生异化,不过基本原理却很相似。

链接分析算法的机制其实很简单:你可以用矩阵表示一幅“图“,形成本征值问题。本征值问题可以帮助你分析这个“图”的结构,以及每个节点的权重。这个算法于1976年由Gabriel Pinski和Francis Narin提出。

谁会用这个算法呢?Google的网页排名,Facebook向你发送信息流时(所以信息流不是算法,而是算法的结果),Google+和Facebook的好友推荐功能,LinkedIn的工作推荐,Youtube的视频推荐,等等。

普遍认为Google是首先使用这类算法的机构,不过其实早在1996年(Google问世2年前)李彦宏就创建的“RankDex”小型搜索引擎就使用了这个思路。而Hyper Search搜索算法建立者马西莫·马奇奥里也曾使用过类似的算法。这两个人都后来都成为了Google历史上的传奇人物。

8.比例微积分算法(Proportional Integral Derivative Algorithm)

飞机,汽车,电视,手机,卫星,工厂和机器人等等事物中都有这个算法的身影。

简单来讲,这个算法主要是通过“控制回路反馈机制”,减小预设输出信号与真实输出信号间的误差。只要需要信号处理,或电子系统来控制自动化机械,液压和加热系统,都需要用到这个算个法。

没有它,就没有现代文明。

9.数据压缩算法

数据压缩算法有很多种,哪种最好?这要取决于应用方向,压缩mp3,JPEG和MPEG-2文件都不一样。

哪里能见到它们?不仅仅是文件夹中的压缩文件。你正在看的这个网页就是使用数据压缩算法将信息下载到你的电脑上。除文字外,游戏,视频,音乐,数据储存,云计算等等都是。它让各种系统更轻松,效率更高。

10.随机数生成算法

到如今,计算机还没有办法生成“正真的”随机数,但伪随机数生成算法就足够了。这些算法在许多领域都有应用,如网络连接,加密技术,安全哈希算法,网络游戏,人工智能,以及问题分析中的条件初始化。

这个表单并不完整,很多与我们密切相关的算法都没有提到,如机器学习和矩阵乘法。另外,知识有限,如有批漏,还望指正。


)


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759