出自上帝之手的精妙算法 - Algorithm from THE BOOK (1)

        《Proofs from THE BOOK》是一本非常出名的书籍, 收录了不少精妙的证明。


        类似地, 在cstheory.stackexchange.com上有人召集大家讨论假如上帝有一本书收集精妙的算法,那么,那本书应该包含一些什么算法呢? "Proof from THE BOOK" 中译本翻译为“来自圣经的证明” 或者 “数学天书中的证明”。 天书,听上去似乎是比较难于看明白的艰难的证明。然而,恰恰相反,收录的证明都是非常巧妙,优美,容易理解的。 因此,我更倾向于翻译为“出自上帝之手的”。

        Algorithm from THE BOOK 讨论中包含的算法,普遍也属于优美有效的,让人称绝的。花了一些时间整理了下,顺序按照大家的投票。上面包含很多已经耳熟能详的大名鼎鼎的算法,也包含一些我还不了解的。稍后,可以学习下其中尚未熟悉的算法,体会其中的巧妙思想和优美设计。



Algorithm from THE BOOK 候选:


1. 并查集. 维护等价关系的更新和查询的数据结构

2. KMP字符串匹配算法

3. BFPRT算法. 寻找第k大元素的线性算法
     名字来源于发明算法的五位大牛: Blum,Floyd,Pratt,Rivest,Tarjan

4. 二分查找算法

5. Floyd-Warshall算法. O(N^3) 计算给定加权图任意两点间最短路径长度
     给定加权图的边上权重可正可负, 只要不包含负权圈即可。(如果存在负权圈, 圈内任意两点间最短路的长度为-inf)

6. 快速排序算法

7. 欧几里德算法. 快速计算最大公约数算法

8. 霍夫曼编码. 用于数据压缩

9. 素性判断算法
     Miller-Rabin算法: 
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值