鱼C论坛

 找回密码
 立即注册
查看: 5950|回复: 0

[小天才资讯] 东尼·霍尔 Tony Hoare -快速排序算法、霍尔逻辑、交谈循序程式之父

[复制链接]
发表于 2017-1-25 08:05:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2017-1-29 10:01 编辑

Snip20170125_325.png
1934.1.11 - 至今


英国计算机科学家,图灵奖得主。

小时候在英国本土受教育。

他设计了快速排序算法、霍尔逻辑、交谈循序程式。

快速排序步骤:
1.gif


在平均状况下,排序 n 个项目要Ο(n log n)次比较。

在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。

事实上,快速排序通常明显比其他Ο(n log n) 算法更快!

因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。

快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。

1 从数列中挑出一个元素,称为 “基准”(pivot)。

2 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。

在这个分区退出之后,该基准就处于数列的中间位置,这个称为分区(partition)操作。

3 递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。

递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。

虽然一直递归下去,但是这个算法总会退出,因为在每次的迭代(iteration)中,它至少会把一个元素摆到它最后的位置去。

Snip20170125_326.png



  • 成就


  • 1956年,在牛津大学墨顿学院取得西洋古典学学士学位。

    在大学毕业后,进入英国皇家海军服兵役18个月,在此学会俄语。

    1958年,退伍后,回到牛津大学,研读统计学,取得学士后学位。

    在此期间,开始学习程式设计。为了进一步学习俄语,他以英国文化协会的交换学生身份。

    至苏联莫斯科国立大学留学,跟随安德雷·柯尔莫哥洛夫学习数学,并研究机器翻译。

    1960年,在莫斯科国立大学取得博士学位后,任职于伦敦艾略特兄弟公司(Elliott Brothers Ltd)。

    开发出第一个商用的ALGOL 60编译器,很快就成为公司的首席工程师。

    1968年,成为贝尔法斯特女王大学的教授。

    1977年,回到牛津大学担任教授。

    现为牛津大学荣誉教授,并在剑桥微软研究院担任研究员。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 22:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表