鱼C论坛

 找回密码
 立即注册
查看: 254|回复: 9

[吹水] 快速排序之父「托尼·霍尔」离世,我们每天都在用他的代码。网友:编程界永远的神!

[复制链接]
发表于 2026-3-15 16:31:01 | 显示全部楼层 |阅读模式

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

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

x
3 月 11 日,计算机科学界传来噩耗,快速排序算法之父、图灵奖得主托尼·霍尔(Tony Hoare) 已于 2026 年 3 月 5 日在英国剑桥逝世,享年 92 岁。

这一消息由其友人通过计算机科学权威博客 Computational Complexity 正式发布,随后被 MIT 科技评论、Solidot 等多家科技媒体证实。

Xnip2026-03-15_16-28-47.png

托尼·霍尔是 20 世纪最具影响力的计算机科学家之一。

1960 年,他发明快速排序算法,凭借高效稳定的表现成为全球使用最广泛的排序算法,至今仍内置在 Python、Java、C++ 等几乎所有主流编程语言的标准库中,支撑着互联网海量数据处理。

他还创立霍尔逻辑,为程序正确性验证奠定理论基础;

提出 CSP 并发模型,深刻影响 Go、Erlang 等现代语言设计。

1980 年,霍尔斩获计算机领域最高荣誉图灵奖,2000 年被英国女王册封为爵士。

业内熟知的是,霍尔曾公开自嘲:

游客,如果您要查看本帖隐藏内容请回复

这句坦诚的反思,成为编程界流传最广的金句之一。

从年轻时期的算法天才,到终身耕耘的学术泰斗,托尼·霍尔用简洁优雅的代码与严谨理论,重塑了现代计算机科学的根基。

他的离去,是全球技术界的重大损失。

评论区聊聊你的想法



                               
登录/注册后可看大图




如果有收获,别忘了评分


                               
登录/注册后可看大图


                               
登录/注册后可看大图
                                                                    
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2026-3-15 16:31:31 | 显示全部楼层
代码会迭代,算法会优化,但真正的开创者永远被铭记。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-3-15 16:31:40 | 显示全部楼层
@FishC 介绍快速排序算法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-3-15 16:32:18 | 显示全部楼层
不二如是 发表于 2026-03-15 16:31
@FishC 介绍快速排序算法


快速排序算法介绍

快速排序是一种高效的排序算法,基于“分治”思想。它的平均时间复杂度为 O(n log n),在最坏情况下为 O(n^2),但通过优化可以避免最坏情况。

基本步骤:
1. 选择基准:从数组中选择一个元素作为基准(pivot)。
2. 分区操作:重新排列数组,所有小于基准的元素移到基准左边,大于基准的元素移到右边。基准元素位于最终正确位置。
3. 递归排序:对基准左右两边的子数组递归进行快速排序。

示例代码(Python):

  1. def quick_sort(arr):
  2.     if len(arr) <= 1:
  3.         return arr
  4.     pivot = arr[len(arr) // 2]  # 选择中间元素作为基准
  5.     left = [x for x in arr if x < pivot]
  6.     middle = [x for x in arr if x == pivot]
  7.     right = [x for x in arr if x > pivot]
  8.     return quick_sort(left) + middle + quick_sort(right)

  9. # 测试
  10. arr = [3, 6, 8, 10, 1, 2, 1]
  11. sorted_arr = quick_sort(arr)
  12. print(sorted_arr)
复制代码


关键特点:
- 原地排序:可以通过原地分区实现,节省空间。
- 不稳定排序:相等元素的相对位置可能改变。
- 优化技巧:如随机选择基准或使用三数取中法来避免最坏情况。

简单解释分区过程:
假设数组 [3, 6, 1, 2, 8],选择基准为 3。分区后,小于 3 的元素在左,大于 3 的在右,例如 [1, 2, 3, 6, 8]。然后递归处理左右部分。

希望这个介绍帮助你理解快速排序!如果有更多问题,随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-3-16 09:26:48 | 显示全部楼层
代码会迭代,算法会优化,但真正的开创者永远被铭记。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-3-16 09:27:11 | 显示全部楼层
不二如是 发表于 2026-03-16 09:26
代码会迭代,算法会优化,但真正的开创者永远被铭记。


快速排序(Quicksort)算法介绍

快速排序是一种高效的排序算法,由托尼·霍尔(Tony Hoare)于1960年发明。它采用“分而治之”的思想,平均时间复杂度为O(n log n),是目前最常用的排序算法之一。

算法核心思想:
1. 从数列中挑出一个元素作为“基准”(pivot)。
2. 重新排序数列,所有比基准值小的元素放在基准前面,所有比基准值大的元素放在基准后面。这个过程称为分区(partition)。
3. 递归地对基准值左右两边的子序列进行快速排序。

Python实现示例:

  1. def quick_sort(arr):
  2.     if len(arr) <= 1:
  3.         return arr
  4.     pivot = arr[len(arr) // 2]  # 选择中间元素作为基准
  5.     left = [x for x in arr if x < pivot]
  6.     middle = [x for x in arr if x == pivot]
  7.     right = [x for x in arr if x > pivot]
  8.     return quick_sort(left) + middle + quick_sort(right)

  9. # 测试
  10. arr = [3, 6, 8, 10, 1, 2, 1]
  11. sorted_arr = quick_sort(arr)
  12. print(sorted_arr)  # 输出:[1, 1, 2, 3, 6, 8, 10]
复制代码


算法特点:
- 不稳定排序(相等元素的相对位置可能改变)。
- 平均情况性能优异,但最坏情况(如已排序数组)时间复杂度为O(n^2)。可通过随机选择基准或三数取中等方法优化。
- 原地排序版本(只使用常数额外空间)是常用实现方式。

托尼·霍尔爵士的这项发明,以其简洁高效的设计思想,深刻影响了计算机科学的发展。正如他本人所言,快速排序的诞生是“为了实际需求而设计”的典范。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-3-16 09:46:32 | 显示全部楼层
代码会迭代,算法会优化,但真正的开创者永远被铭记。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-3-16 10:17:25 | 显示全部楼层
小FAN子 发表于 2026-3-16 09:46
代码会迭代,算法会优化,但真正的开创者永远被铭记。

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-3-16 10:44:53 | 显示全部楼层
代码会迭代,算法会优化,但真正的开创者永远被铭记。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-3-16 11:12:41 | 显示全部楼层
代码会迭代,算法会优化,但真正的开创者永远被铭记。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-9 06:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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