|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 不二如是 于 2017-1-29 10:01 编辑
1934.1.11 - 至今
英国计算机科学家,图灵奖得主。
小时候在英国本土受教育。
他设计了快速排序算法、霍尔逻辑、交谈循序程式。
快速排序步骤:
在平均状况下,排序 n 个项目要Ο(n log n)次比较。
在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。
事实上,快速排序通常明显比其他Ο(n log n) 算法更快!
因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。
快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。
1 从数列中挑出一个元素,称为 “基准”(pivot)。
2 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。
在这个分区退出之后,该基准就处于数列的中间位置,这个称为分区(partition)操作。
3 递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。
递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。
虽然一直递归下去,但是这个算法总会退出,因为在每次的迭代(iteration)中,它至少会把一个元素摆到它最后的位置去。
- 成就
1956年,在牛津大学墨顿学院取得西洋古典学学士学位。
在大学毕业后,进入英国皇家海军服兵役18个月,在此学会俄语。
1958年,退伍后,回到牛津大学,研读统计学,取得学士后学位。
在此期间,开始学习程式设计。为了进一步学习俄语,他以英国文化协会的交换学生身份。
至苏联莫斯科国立大学留学,跟随安德雷·柯尔莫哥洛夫学习数学,并研究机器翻译。
1960年,在莫斯科国立大学取得博士学位后,任职于伦敦艾略特兄弟公司(Elliott Brothers Ltd)。
开发出第一个商用的ALGOL 60编译器,很快就成为公司的首席工程师。
1968年,成为贝尔法斯特女王大学的教授。
1977年,回到牛津大学担任教授。
现为牛津大学荣誉教授,并在剑桥微软研究院担任研究员。
|
|