当前课程知识点:数据结构(下) > 第九章 词典 > (c)散列:散列函数 > 09C-8 伪随机数
谈到随机 你应该很自然的会想到系统所提供的随机数发生器
比如这就是一种实现的方式
可以看到 这里每一个所谓的随机数
实际上都是在前一个所谓随机数基础上
按照确定的计算规则递推而得的
因此更为准确的应该称之为 伪随机数发生器
就逻辑效果而言 这等同于将取值范围以内的所有整数
按照这种规则重新编排为一个貌似随机实则确定的序列
而这个发生器所返回的
只不过是在这个序列中对应于某个特定秩的那个元素
比如一种最常见的方法
就是将这个秩取做系统当前的时间
如果就接口参数的形式
对散列函数以及伪随机数发生器函数做一对比
我们就会发现 二者惊人的相似
难道不是吗
只不过前者是经统一散列转换之后 所得的关键码
而后者只是伪随机数序列中的某个秩
因此我们不妨直接借助后者来实现前者
事实上很有意思的是
如果反过来考察此前我们已经确立的那4条准则
无论是确定性 高效性 满射性还是均匀性
它们恰好同时也是评判随机数发生器的重要标准
既然每一个伪随机数发生器都可视作为一个散列函数
我们也可以将散列函数的设计难题
转交给伪随机数发生器的设计者
我们可以直接套用它们的工作成果
当然事情还不是这么简单
如果采用伪随机数法 有一点是非常重要的
事实上 在不同的平台和环境中
所提供的伪随机数发生器 所采用的算法不尽相同
即便在同一个平台环境中 不同的历史版本
也可能对应于不同的随机数发生算法
因此你在特定时间特定平台上 所生成的散列表
未必可以直接移植到其他的平台
对这一点你应该保持足够的谨慎
-选课之前
--写在选课之前
--宣传片
-考核方式
--考核方式
-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)希尔排序:逆序对
-本章测验
--本章测试