- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
我们通过对表中每个记录增设一个标志位(设为Empty),来解决上述两点问题。空散列表的所有记录的标志位被初始化为TRUE。当向表中存入一个新记录时,存入位置处的标志位置成FALSE。删除记录时不改变相应记录的标志位,只是将该记录的关键字值置成一个不使用的特殊的空值(设为NeverUsed),初始时,所有位置都置成空值。这样,标志位被用于散列表的有哪些信誉好的足球投注网站过程,而空关键字值用于散列表的插入过程。在有哪些信誉好的足球投注网站一个记录时,当遇到一个标志位为TRUE的记录,或者有哪些信誉好的足球投注网站完表中全部记录,重新回到位置h(key)时,表示有哪些信誉好的足球投注网站失败。在插入新记录(关键字值为key)时,从基位置h(key)开始有哪些信誉好的足球投注网站关键字值为NeverUsed的位置,将新记录插在按探查序列查找到的第一个空值的位置处。 这种方案的缺点是,过不了多久,几乎所有的标志位均被置成FALSE,有哪些信誉好的足球投注网站时间增长。为了提高性能,经过一段时间常常要重新组织散列表。 2.构造线性探查散列表 程序9-5是构造线性探查散列表的程序。散列表的结点结构定义为HsNode类型。每个结点有Element和Empty两个域,Empty是标志位。这样,散列表结构为HashTable类型,其中,M为除留余数法的模,t是指向动态生成的一维数组的指针,数组的元素类型为HsNode。函数CreateHashTable构造一个空散列表。 【程序9-5】 构造线性探查散列表。 #define NewArray(k) (HsNode*)malloc((k)*sizeof(HsNode)) typedef struct hsnode{ T Element; BOOL Empty; } HsNode; typedef struct hashtable{ int M; HsNode* t; } HashTable; void CreateHashTable(HashTable *htb , int divitor) { int i; htb-M=divitor; htb-t=NewArray(htb-M); for (i=0; ihtb-M; i++){ htb-t[i].Empty=TRUE; htb-t[i].Element.Key=NeverUsed; } } 使用下列C语言的带参数的宏定义语句: #define NewArray(k) (HsNode*)malloc((k)*sizeof(HsNode)) 可动态分配一个一维数组的存储空间,并返回所分配的存储块的地址。 3.线性探查散列表的有哪些信誉好的足球投注网站 程序9-6给出了线性探查散列表的有哪些信誉好的足球投注网站算法。函数Search调用函数hSearch,实现在散列表中有哪些信誉好的足球投注网站关键字值为k的记录。 【程序9-6】 线性探查散列表的有哪些信誉好的足球投注网站。 4.线性探查散列表的插入 程序9-7给出了线性探查散列表的插入算法。插入操作需要在散列表中探查空值位置,即关键字值为NeverUsed的位置,以便插入新元素。与有哪些信誉好的足球投注网站运算类似,探查空值位置从基位置开始,根据线性探查法规定的探查次序进行。探查过程在下列情况下结束:遇到关键字值为NeverUsed的位置;遇到重复记录;又回到基地址。 5.线性探查散列表的删除 程序9-8给出了线性探查散列表的删除算法。函数Remove调用函数hSearch,如果表中存在关键字值为k的元素,则hSearch函数在*pos中指示该元素的位置,可将该元素赋给参数*x,并将该处置成空值NeverUsed,函数返回TRUE;否则表示不存在这样的元素,函数返回FALSE。 9.3.5 解决冲突的其他开地址法 线性探查法有一个明显的缺点,它容易使许多记录在散列表中连成一片,从而使探查的次数增加,影响有哪些信誉好的足球投注网站效率。这种现象称为基本聚集(primary clustering)。理想的探查序列应当是散列表位置的一个随机排列。但实际上我们不能从探查序列中随机选择一个位置,因为,在以后有哪些信誉好的足球投注网站关键字时,无法建立同样的探查序列。以下是消除聚焦的几种方法。 1. 伪随机探查法 伪随机探查是为了改善线性探查的基本聚集而提出来的方法。其基本思想是:建立一个伪随机发生器,当发生冲突时,就利用伪随机数发生器计算出下一个探查的位置。伪随机数发生器有各种不同的构造,现介绍一种较简单的发生器。其计算公式如下: y0=h(key) yi+1=(yi+p) % M (i=0
您可能关注的文档
最近下载
- 外墙真石漆施工安全协议书范例.docx VIP
- (高清版)JJF(闽) 1053-2012 混凝土氯离子电通量和扩散系数测定仪校准规范.pdf VIP
- 《农村经济体制改革——家庭联产承包责任制教学课件》.ppt VIP
- 人教版2024新版七年级英语上册Starter Unit 1 Hello【单元卷测试卷】.docx VIP
- 视频监控系统安装方案、售后服务及培训方案.docx VIP
- 人教版(2025)必修第一册Unit 5 Languages around the world Reading and Thinking 课件(共17张PPT)(含音频+视频).pptx VIP
- 黑布林阅读初三17《足球先生》中文版.docx
- DB62_T3165-2019:聚对亚苯基板外墙外保温系统应用规程.pdf VIP
- 2025-2026学年小学信息科技泰山版2024五年级上册-泰山版2024教学设计合集.docx
- 《GB_T 18603-2023天然气计量系统技术要求》必威体育精装版解读.pptx VIP
文档评论(0)