今天是: 2025年8月31日 星期日 返回首页 | 电脑培训学校简介 | 学校新闻 | 我要报名 | 就业体系 | 专业设计 | 联系我们
 
 
本站导航
· 校园文化 · 学校动态
· 学校公告 · 婚纱设计
· 平面设计 · 室内装潢
· 办公文秘 · 办公自动化
· 职称计算机
联系方式
邳州市天翼电脑培训学校
联系人:胡老师
手机:18114160677 13092300677
Q Q:439524682
邮箱:439524682@qq.com
网址:http://www.pzdnpx.com
地址:邳州市镇北一路铁路立交桥向东10米天翼电脑培训学校

最新文章
· 二庙城市花园案例
· 中粮国宾府案例
· 耀邦公馆案例
· 中原桃花岛府案例
· 恒大林溪郡案例
· 君临华府案例
· 东方帝景城案例
· 学平面设计是一个全面
当前位置:邳州电脑培训 --学校新闻
      
程序员须知的二十世纪最伟大10大算法

发布时间:2012-8-24  新闻类别:学校新闻 点击次数:1576
--本文来源于邳州电脑培训http://www.pzdnpx.com
     一、1946 蒙特卡洛方法 --本文来源于邳州电脑培训http://www.pzdnpx.com
     [1946: John von Neumann, Stan Ulam, and Nick Metropolis, all at the Los Alamos Scientific Laboratory, cook up the Metropolis algorithm, also known as the Monte Carlo method.]  --本文来源于邳州电脑培训http://www.pzdnpx.com
     1946年,美国拉斯阿莫斯国家实验室的三位科学家John von Neumann,Stan Ulam 和 Nick Metropolis共同发明,被称为蒙特卡洛方法。
     它的具体定义是:
     在广场上画一个边长一米的正方形,在正方形内部随意用粉笔画一个不规则的形状,现在要计算这个不规则图形的面积,怎么计算列?
     蒙特卡洛(Monte Carlo)方法告诉我们,均匀的向该正方形内撒N(N 是一个很大的自然数)个黄豆,随后数数有多少个黄豆在这个不规则几何形状内部,比如说有M个,
那么,这个奇怪形状的面积便近似于M/N,N越大,算出来的值便越。在这里我们要假定豆子都在一个平面上,相互之间没有重叠。
     蒙特卡洛方法可用于近似计算圆周率:让计算机每次随机生成两个0到1之间的数,看这两个实数是否在单位圆内。生成一系列随机点,统计单位圆内的点数与总点数,(圆面积和正方形面积之比为PI:1,PI为圆周率),当随机点取得越多(但即使取10的9次方个随机点时,其结果也仅在前4位与圆周率吻合)时,其结果越接近于圆周率。
     二、1947 单纯形法
     [1947: George Dantzig, at the RAND Corporation, creates the simplex method for linear programming.]
     1947年,兰德公司的,Grorge Dantzig,发明了单纯形方法。单纯形法,此后成为了线性规划学科的重要基石。所谓线性规划,简单的说,是给定一组线性(所有变量都是一次幂)约束条件(例如a1*x1+b1*x2+c1*x3>0),求一个给定的目标函数的极值。
     这么说似乎也太太太抽象了,但在现实中能派上用场的例子可不罕见——比如对于一个公司而言,其能够投入生产的人力物力有限(“线性约束条件”),而公司的目标是利润化(“目标函数取值”),看,线性规划并不抽象吧!线性规划作为运筹学(operation research)的一部分,成为管理科学领域的一种重要工具。而Dantzig提出的单纯形法便是求解类似线性规划问题的一个极其有效的方法。
     三、1950 Krylov子空间迭代法
     [1950: Magnus Hestenes, Eduard Stiefel, and Cornelius Lanczos, all from the Institute for Numerical Analysis at the National Bureau of Standards, initiate the development of Krylov subspace iteration methods.]
     1950年:美国国家标准局数值分析研究所的,马格努斯Hestenes,爱德华施蒂费尔和科尼利厄斯的Lanczos,发明了Krylov子空间迭代法。Krylov子空间迭代法是用来求解形如Ax=b 的方程,A是一个n*n 的矩阵,当n充分大时,直接计算变得非常困难,而Krylov方法则巧妙地将其变为Kxi+1=Kxi+b-Axi的迭代形式来求解。这里的K(来源于作者俄国人Nikolai Krylov姓氏的首字母)是一个构造出来的接近于A的矩阵,而迭代形式的算法的妙处在于,它将复杂问题化简为阶段性的易于计算的子步骤。
     四、1951 矩阵计算的分解方法
     [1951: Alston Householder of Oak Ridge National Laboratory formalizes the decompositional approach to matrix computations.]
     1951年,阿尔斯通橡树岭国家实验室的Alston Householder提出,矩阵计算的分解方法。这个算法证明了任何矩阵都可以分解为三角、对角、正交和其他特殊形式的矩阵,该算法的意义使得开发灵活的矩阵计算软件包成为可能。
     五、1957 优化的Fortran编译器
     [1957: John Backus leads a team at IBM in developing the Fortran optimizing compiler.]
     1957年:约翰巴库斯领导开发的IBM的团队,创造了Fortran优化编译器。Fortran,亦译为福传,是由Formula Translation两个字所组合而成,意思是“公式翻译”。它是世界上个被正式采用并流传至今的高级编程语言。这个语言现在,已经发展到了,Fortran 08,并为人们所熟知。
     六、1959-61 计算矩阵特征值的QR算法
     [1959–61: J.G.F. Francis of Ferranti Ltd, London, finds a stable method for computing eigenvalues, known as the QR algorithm.]
     1959-61:伦敦费伦蒂有限公司的J.G.F. Francis,找到了一种稳定的特征值的计算方法,这是的QR算法。这也是一个和线性代数有关的算法,学过线性代数的应该记得“矩阵的特征值”,计算特征值是矩阵计算的最核心内容之一,传统的求解方案涉及到高次方程求根,当问题规模大的时候十分困难。QR算法把矩阵分解成一个正交矩阵(希望读此文的你,知道什么是正交矩阵。:D。)与一个上三角矩阵的积,和前面提到的Krylov 方法类似,这又是一个迭代算法,它把复杂的高次方程求根问题化简为阶段性的易于计算的子步骤,使得用计算机求解大规模矩阵特征值成为可能。这个算法的作者是来自英国伦敦的J.G.F. Francis。
     七、1962 快速排序算法
     [1962: Tony Hoare of Elliott Brothers, Ltd., London, presents Quicksort.]
     1962年:伦敦的,托尼埃利奥特兄弟有限公司,霍尔提出了快速排序。哈哈,恭喜你,终于看到了可能是你个比较熟悉的算法~。快速排序算法作为排序算法中的经典算法,它被应用的影子随处可见。快速排序算法最早由Tony Hoare爵士设计,它的基本思想是将待排序列分为两半,左边的一半总是“小的”,右边的一半总是“大的”,这一过程不断递归持续下去,直到整个序列有序。说起这位Tony Hoare爵士,快速排序算法其实只是他不经意间的小小发现而已,他对于计算机贡献主要包括形式化方法理论,以及ALGOL60 编程语言的发明等,他也因这些成获得1980 年图灵奖。
========
关于快速排序算法的具体认识与应用,可参考我写的一篇文章,
精通八大排序算法系列、一、快速排序算法:
http://blog.csdn.net/v_JULY_v/archive/11/01/04/6116297.aspx
------------------------------------------------------------
快速排序的平均时间复杂度仅仅为O(Nlog(N)),相比于普通选择排序和冒泡排序等而言,
实在是历史性的创举。
     八、1965 快速傅立叶变换
     [1965: James Cooley of the IBM T.J. Watson Research Center and John Tukey of Princeton University and AT&T Bell Laboratories unveil the fast Fourier transform.]
     1965年:IBM 华生研究院的James Cooley,和普林斯顿大学的John Tukey,AT&T贝尔实验室共同推出了快速傅立叶变换。快速傅立叶算法是离散傅立叶算法(这可是数字信号处理的基石)的一种快速算法,其时间复杂度仅为O(Nlog(N));比时间效率更为重要的是,快速傅立叶算法非常容易用硬件实现,因此它在电子技术领域得到极其广泛的应用。日后,我会在我的经典算法研究系列,着重阐述此算法。
     九、1977 整数关系探测算法
     [1977: Helaman Ferguson and Rodney Forcade of Brigham Young University advance an integerrelation detection algorithm.]
     1977年:Helaman Ferguson和 伯明翰大学的Rodney Forcade,提出了Forcade检测算法的整数关系。整数关系探测是个古老的问题,其历史甚至可以追溯到欧几里德的时代。具体的说:给定—组实数 X1,X2,...,Xn,是否存在不全为零的整数a1,a2,...an,使得:a1 x 1 +a2 x2 + . . . + an x n =0?
     这一年BrighamYoung大学的Helaman Ferguson 和Rodney Forcade解决了这一问题。该算法应用于“简化量子场论中的Feynman图的计算”。ok,它并不要你懂,了解即可。
     十、1987 快速多极算法
     [1987: Leslie Greengard and Vladimir Rokhlin of Yale University invent the fast multipolealgorithm.]
     1987年:莱斯利的Greengard,和耶鲁大学的Rokhlin发明了快速多极算法。
     此快速多极算法用来计算“经由引力或静电力相互作用的N 个粒子运动的计算——例如银河系中的星体,或者蛋白质中的原子间的相互作用”。ok,了解即可。 
 
发表评论】【打印新闻】【关闭窗口  
最新学校新闻
  · 平面设计是一门创意的艺术,设计师需要具备开放的思维和解决 [2024/6/6]
  · 平面设计通常是团队合作的一部分,因此具备良好的项目管理和 [2024/6/6]
  · 平面设计软件的使用 [2024/5/17]
  · 平面设计往往需要手绘草图或数字插图作为创作的基础 [2024/4/11]
  · 学平面设计首先需要对美学和设计原理有一定的了解 [2024/4/11]
  · 一个优秀的平面设计者需要不断的丰富自己的经历 [2024/3/9]
  · 立体构成重于组合与重建,创造新的整体造型,此手法也称为“ [2024/2/21]
  · 了解平面构成的原理,点,线,面与空间的构成是非常重要的 [2024/2/21]
  · 网页设计(web design)是根据企业希望向浏览者传 [2024/1/13]
  · 品牌/商标/标志是平面设计的重要组成部分 [2023/12/15]
  · 广告和海报是平面设计中具有宣传性的信息展现形式之一,通过 [2023/12/15]
  · 设计作品中物体的大小和比例被称为比例 [2023/11/23]
  · 对于想要展现给大家看的东西和想要表达的信息,都可以通过强 [2023/11/23]
  · 怎样才能让作品在视觉上有空间感?可运用阴影、透视、投影等 [2023/10/9]
  · 纹理可以激起用户对画面的情感波动,从凸起的砂砾到广阔无边 [2023/9/20]

 
 
电脑培训学校新闻中心 | 友情链接 | 网站地图 | 邳州电脑培训学校加入收藏 |邳州电脑培训学校设为首页
邳州电脑培训关键字: 邳州电脑培训 - 邳州电脑学校 - 邳州市天翼电脑培训学校 - 邳州电脑培训
Copyright © 2011-2012 邳州市天翼电脑培训学校 All Rights Reserved.

你是第1262054位访客   建议使用1024×768以上分辨率,IE6.0以上浏览器    技术支持:
邳州慧网 银杏苗木 银杏树