CMoney菁英软体工程师战斗营_Week 8

来到CMoney近两个月
不到两星期就要发表我们游戏专题了
或许会有人不知道做游戏专题有什么好处
比起架设网页等...差在哪了?
我最大的感触应该就是在逻辑方面会有所突破
从画面逻辑到游戏运作逻辑
如何融合组员的程式码
在这个阶段是吸收最多知识的期间了


本週学习

杂凑

->把数值(key)转换成位置
如果数值是字串:换成ACSII code

重点:

杂凑是不可逆的
常用在Map,加密

常用hash:

Hashing by division
当除数为偶数,奇数数字余数必为奇数,偶数数字余数必为偶数
资料的分布将造成 bucket倾向于偶数/奇数
当除数为奇数,除出来的余数不一定为固定偶数/奇数
不会因为资料而侧重于一端Mid-square:
取 key 的平方转为二进位,并取中间适当位数的值
二进位数中0~22^r-1区间,换算成十进位Folding:Shift foldingFolding at the boundaries
将key k切割成数个部分,将每个部分相加后即为k位址

Over flow溢出:

解决方法:

通常使用以下方式:Open addressing:于未满的bucket找出空位填入
-> Linear probing, Quadratic probing, Random probingChaining: 每一个 bucket 存放对应的 list 来储存所有 home bucket
-> Chain, Array linear list

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章