数据结构-查找.ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

非递归描述:(3)若被删结点有左、右孩子,则用它的前驱结点s(被删结点的左子树中数据域值最大的结点,即左子树“最右下”的结点)代替被子删结点,此时,由于s结点无右孩子(参见下图),可按上述第(1)种情况删除s结点。fpsp为被删结点S为替换结点q为替换结点的双亲。q删除运算在一棵给定的二叉排序树中删除一个结点示例:1036241812156342181215删除10删除运算在一棵给定的二叉排序树中删除一个结点示例:6342181215删除1263421815删除运算在一棵给定的二叉排序树中删除一个结点示例:63421815634215删除18删除运算下面是二叉排序树插入操作的递归算法。voidbt_insert1(Bin_Sort_Tree*bt,Bin_Sort_Tree_Node*pn){//在以bt为根的二叉排序树上插入一个由指针pn指向的新的结点if(*bt=NULL)*bt=pn;elseif(*bt-keypn-key)bt_insert1((*bt-lchild),pn);elseif(*bt-keypn-key)bt_insert1((*bt-rchild),pn);}这个算法也可以用非递归的形式实现,如下所示:voidbt_insert2(Bin_Sort_Tree*bt,Bin_Sort_Tree_Node*pn){p=bt; while(p!=NULLp-key!=pn-key){q=p;if(p-keypn-key)p=p-lchild;elsep=p-rchild;}if(p=NULL){if(q-keypn-key)q-lchild=pn;elseq-rchild=pn-key;}}利用二叉排序树的插入算法,可以很容易地实现创建二叉排序树的操作,其基本思想为:由一棵空二叉树开始,经过一系列的查找插入操作生成一棵二叉排序树。在一棵空的二叉查找树中依次插入关键字序列为12,7,17,11,16,2,13,9,21,4,请画出所得到的二叉查找树。哈希表哈希表的概念前面介绍的静态查找表和动态查找表的特点是:为了从查找表中找到关键字值等于某个值的记录,都要经过一系列的关键字比较,以确定待查记录的存储位置或查找失败,查找所需时间总是与比较次数有关。如果将记录的存储位置与它的关键字之间建立一个确定的关系H,使每个关键字和一个唯一的存储位置对应,查找时,只需根据对应关系计算出给定的关键字值k对应的值H(k),就可得到记录的存储位置,这就是哈希表查找法的基本思想。哈希函数我们将记录的关键字值与记录的存储位置对应起来的关系H称为哈希函数,H(k)的结果称为哈希地址。哈希表是根据哈希函数建立的表,基本思想是:以记录的关键字值为自变量,根据哈希函数,计算出对应的哈希地址,并在此存储该记录的内容。当对记录进行查找时,再根据给定的关键字值,用同一个哈希函数计算出给定关键字值对应的存储地址,随后进行访问。所以哈希表即是一种存储形式,又是一种查找方法,通常将这种查找方法称为哈希查找。冲突有时可能会出现不同的关键字值其哈希函数计算的哈希地址相同的情况,然而同一个存储位置不可能存储两个记录,我们将这种情况称为冲突,具有相同函数值的关键字值称为同义词。在实际应用中冲突是不可能完全避免的。哈希函数的构造建立哈希表,关键是构造哈希函数。其原则是尽可能地使任意一组关键字的哈希地址均匀地分布在整个地址空间中,即用任意关键字作为哈希函数的自变量其计算结果随机分布,以便减少冲突的发生可能性。常用的哈希函数的构造方法有:直接定址法:取关键字或关键字的某个线性函数为哈希地址。即H(key)=key或H(key)=a*key+b其中a,b为常数,调整a与b的值可以使哈希地址取值范围与存储空间范围一致。质数取余法取关键字被某个不大于哈希表表长n的质数m整除后所得余数为哈希地址。即H(key)=key%m(mn,设其中n为哈希表长)。质数取余法计算简单,适用范围大,但是整数m的选择很重要,如果选择不当,会产生较多同义

文档评论(0)

优美的文学 + 关注
实名认证
内容提供者

优美的文学优美的文学优美的文学优美的文学优美的文学

1亿VIP精品文档

相关文档