数据结g构课件(c语言)9.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结g构课件(c语言)9

1 线性探测哈希表的建立 void CreateSeqHTbl (datetype SeqHTbl[ ], int m, datatype *eptr) { /*用线性探测法处理冲突建立散列表SeqHTbl */ /* eptr为待放入散列表中的数据基址*/ /* Hash()为散列函数,m为散列表的长度*/ int d; for(i=0; im; i++) SeqHTbl[i]=0; /*散列表初始化,设0表示空*/ while(eptr-data.key!=0) { /*待放入散列表的元素,其关键码0表示结束*/ d= Hash(eptr-data.key); /*求当前元素的散列地址*/ while (SeqHTbl[d]!=0) d=(d+1)% m; SeqHTbl[d]=*eptr; / *找到空单元,填装结点*/ eptr++; } } 2 以线性探测法处理冲突构造的散列表中的查找 int ReSeqHTbl (datetype SeqHTbl[ ], int m, keytype key) { /*SeqHTbl散列表,散列函数Hash(),m为散列表的长度*/ /*查找关键码为key的元素,成功返回其地址,否则返回-1*/ int d,begin; /*求当前元素的散列地址,并将起始点记录在begin中*/ begin=d=Hash(key); while(SeqHTbl[d].key!=0 SeqHTbl[d].key!=key) { d=(d+1)% m; if (d==begin) { d=-1; break; } /*表满且查找失败*/ } if (SeqHTbl[d].key==0) d=-1; /*找到空单元,查找失败*/ return d; /*查找成功返回的是地址,不成功为-1*/ } 3 拉链法哈希表的建立 存储结构: typedef struct hnode { datatype data; /*关键字*/ … /*其它信息*/ struct hnode *next; /*指向下一个同义词的指针*/ }HNode; 定义散列表(指针向量或指针数组): #define m … /*m为散列表的容量*/ HNode *HashTbl[m]; 以拉链法构造散列表的算法 void CreateLHTbl(HNode *LHashTbl[m], datatype *eptr) { /*用拉链法处理冲突建立散列表LHashTbl */ /*eptr为待放入散列表中的数据基址,Hash()为散列函数*/ int d; HNode *q; for(i=0; im; i++) LHashTbl[i]=NULL; /*散列表初始化*/ while(eptr-data.key!=0) { /*待放入散列表的元素,其关键码0表示结束*/ d= Hash(eptr-data.key); /*求当前元素的散列地址*/ q=(HNode *)malloc(sizeof(HNode)); /*申请新结点*/ q-data.key=eptr-data.key; /*填装结点信息*/ …; q-next=LHashTbl[d]; /*插入到同义词的链表*/ LHashTbl[d]=q; //注意是向前插入 eptr++; /*指向下一个元素*/ } }

文档评论(0)

1haodian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档