算法(一)-------基本常识

算法大师:

Don E.Knuth 高德纳

其经典著作《计算机程序设计艺术》更是被誉为算法中“真正”的圣经,像KMP和LR(K)这样令人不可思议的算法

Udi Manber 乌迪·曼伯尔

Edsger Wybe Dijkstra 艾兹格·迪科斯彻

发现了图论中的最短路径算法(Dijkstra算法)The Humble Programmer---演讲

George Dantizig 乔治·伯纳德·丹齐格

运筹学大师, 冯诺伊曼理论奖, Linearprogramming and extensions一书中研究了线性编程模型

James Cooley

快速傅立叶变换(FFT), 数字信号处理技术, 哥伦比亚大学学习数学

Jon Bentley

最著名的就是涵盖从算法理论到软件工程各种主题的Programming Pearls(《编程珠玑》)

 

Nicklaus Wirth 尼古拉斯·沃斯

算法+数据结构=程序”

 

John Backus 约翰·巴克斯

Robert Sedgewick 罗伯特·塞奇威克

算法的讲解者,

Tony Hoare 托尼.霍尔

快速排序算法

 

算法定义:

算法:在数学(算学)和计算机科学中,为任何良定义的具体计算步骤的一个系列,常用于计算,数学处理和自动推理

形式化算法的概念部分源自尝试解决希尔伯特提出的判定问题,并在其后尝试定义有效可计算性[10]或者有效方法[11]中成形。这些尝试包括库尔特·哥德尔雅克·埃尔布朗斯蒂芬·科尔·克莱尼分别于1930年、1934年和1935年提出的递归函数阿隆佐·邱奇1936年提出的λ演算1936埃米尔·莱昂·珀斯特Formulation 1艾伦·图灵1937年提出的图灵机。即使在当前,依然常有直觉想法难以定义为形式化算法的情况。

 

判断算法的性能优劣,主要从其消耗的时间复杂度以及空间复杂度,通俗来说就是指算法消耗的时间资源与算法占用的空间资源

 

 

动态规划(英语:Dynamic programming,简称DP)是一种在数学管理科学计算机科学经济学生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。

动态规划常常适用于有重叠子问题[1]最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。

动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分(即子问题),再根据子问题的解以得出原问题

 

猜你喜欢

转载自blog.csdn.net/refreeom/article/details/82563755