算法大师:
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]和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。
动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分(即子问题),再根据子问题的解以得出原问题