当前课程知识点:数据结构(下) > 第十一章 串(下) > (f1)Karp-Rabin算法:串即是数 > 11f1-2: 凡物皆数
是的 凡物皆数
关于自然的本源
这是很多人所秉持的一种信念
在我看来 其中最坚定的信奉者
同时也是最高明的实践者
莫过于哥德尔
比如 为了证明伟大的不完备定理
他发明了一种简洁而强大的编号方式
来对逻辑系统中几乎所有的组成部分
统一以自然数来做标识
这种编号 是基于素数序列来完成的
我们知道 素数虽然是无限的
但同时也是可数的
因此 我们可以用p(k)来指代第k个素数
比如前几个 都众所周知
首先是2
第2个是3
第3个是5
第4个为7 以及第5个是11 诸如此类
那么哥德尔敏锐地发现
任何一个有限维度的自然数向量
按照某种法则
都会唯一地对应于某个自然数
比如 我们来考察这样一个由整数构成的8维向量
它的各个分量依次为
3 1 4 1 5 9 2 6
我们现在来找出它所对应的那个自然数
既然是8维 所以我们要首先要搬出前8个素数
也就是2 3 5 7 11 13 17 19
这8个素数将分别与向量的8个分量一一配对
第1个分量为3
所以我们相应地将它转换为第1个素数 2的3+1也就是4次方
第2个分量为1
所以我们也将它转化为第2个素数 3的1+1也就是2次方
第3个分量是4
所以我们也将它转化为第3个素数 5的4+1也就是5次方
以下依次类推
我们可以得到第4个素数的1+1次方
第5个素数的5+1次方
第6个素数的9+1次方
第7个素数的2+1次方
以及最后 第8个素数的6+1次方
显然 这8个因子的乘积
依然应该是一个自然数
也就是说
如此 我们的确可以将任何一个向量 转化为一个自然数
而这种转换方法还具有一个更为精妙 更为神奇的特征
根据如此得出的一个自然数
我们还可以反过来忠实地还原此前的向量
我想 点破了这层窗户纸之后
你应该能够独立地看出
这种还原的方法
对吧
-选课之前
--写在选课之前
--宣传片
-考核方式
--考核方式
-OJ系统说明
--关于OJ
--1-注册与登录
--2-界面与选课
--3-提交测试
-关于课程教材与讲义
--课程教材与讲义
-关于讨论区
--关于讨论区
-微信平台
--html
-PA晋级申请
--PA晋级
-(a)概述
--07A-1 纵览
--07A-5 接口
-(a)概述--作业
-(b1)BST:查找
-第七章 二叉搜索树--(b1)BST:查找
-(b2)BST:插入
-(b2)BST:插入--作业
-(b3)BST:删除
-第七章 二叉搜索树--(b3)BST:删除
-(c)平衡与等价
-(c)平衡与等价--作业
-(d1)AVL树:重平衡
-第七章 二叉搜索树--(d1)AVL树:重平衡
-(d2)AVL树:插入
-(d2)AVL树:插入--作业
-(d3)AVL树:删除
-(d3)AVL树:删除--作业
-(d4)AVL树:(3+4)-重构
-(d4)AVL树:(3+4)-重构--作业
-本章测验
--章节测验
-(a1)伸展树:逐层伸展
--习题
-(a2)伸展树:双层伸展
--习题
-(a3)伸展树:算法实现
--习题
-(b1)B-树:动机
--习题
-(b2)B-树:结构
--习题
-(b3)B-树:查找
--习题
-(b4)B-树: 插入
--习题
-(b5)B-树: 删除
--习题
-(xa1)红黑树:动机
--习题
-(xa2)红黑树:结构
--习题
-(xa3)红黑树:插入
--习题
-(xa4)红黑树:删除
-本章测验
--习题
-(b)散列:原理
--09B-3 数组
--09B-4 原理
--09B-5 散列
--09B-6 冲突
--习题
-(c)散列:散列函数
--习题
-(d1)散列:排解冲突(1)
--习题
-(d2)散列:排解冲突(2)
--习题
-(e)桶/计数排序
--习题
-本章测验
--本章测试
-(a1)需求与动机
--习题
-(a2)基本实现
--习题
-(b1)完全二叉堆:结构
--习题
-(b2)完全二叉堆:插入与上滤
--习题
-(b3)完全二叉堆:删除与下滤
--习题
-(b4)完全二叉堆:批量建堆
--习题
-(c)堆排序
--习题
-(xa1)左式堆:结构
--习题
-(xa2)左式堆:合并
--习题
-(xa3)左式堆:插入与删除
-本章测验
--本章测试
-(a)ADT
--习题
-(b1)串匹配
--习题
-(b2)蛮力匹配
--习题
-(c1)KMP算法:从记忆力到预知力
--习题
-(c2)KMP算法:查询表
--习题
-(c3)KMP算法:理解next[]表
--习题
-(c4)KMP算法:构造next[]表
--习题
-(c5)KMP算法:分摊分析
--习题
-(c6)KMP算法:再改进
-(d1)BM_BC算法:以终为始
-(d2)BM_BC算法:坏字符
-(d3)BM_BC算法:构造bc[]
-(d4)BM_BC算法:性能分析
-(e1)BM_GS算法:好后缀
-(e2)BM_GS算法:构造gs表
-(e3)BM_GS算法:综合性能
-(f1)Karp-Rabin算法:串即是数
-(f2)Karp-Rabin算法:散列
-本章测验
--本章测试
-(a1)快速排序:算法A
-- 12a1-5: 实例
--习题
-(a2)快速排序:性能分析
--习题
-(a4)快速排序:变种
-(b1)选取:众数
-(b3)选取:通用算法
--习题
-(c1) 希尔排序:Shell序列
--习题
-(c2)希尔排序:逆序对
-本章测验
--本章测试