首页 26B树和B键树

26B树和B键树

举报
开通vip

26B树和B键树nullnullB-树,B+树和键树B-树B+树键树小结和作业复习null复习null复习2、已知长度为11的表{xal, wan, wil, zol, yo, xul, yum,wen,wim,zi,yon},按表中元素顺序依次插入一棵初始为空的平衡二叉排序树,画出插入完成后的平衡二叉排序树,并求其在等概率的情况下查找成功的平均查找长度。1、按次序输入关键字:7, 6, 5, 4, 3, 2, 1,试画出AVL树的构造和调整过程。null复习含有 n 个结点的二叉平衡树能达到的最大深度: ...

26B树和B键树
nullnullB-树,B+树和键树B-树B+树键树小结和作业复习null复习null复习2、已知长度为11的 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf {xal, wan, wil, zol, yo, xul, yum,wen,wim,zi,yon},按表中元素顺序依次插入一棵初始为空的平衡二叉排序树,画出插入完成后的平衡二叉排序树,并求其在等概率的情况下查找成功的平均查找长度。1、按次序输入关键字:7, 6, 5, 4, 3, 2, 1,试画出AVL树的构造和调整过程。null复习含有 n 个结点的二叉平衡树能达到的最大深度: hn = log(5 (n+1)) - 2 nullB-树定义查找过程插入操作删除操作查找性能的分析nullB-树定义B-树是一种平衡的多路查找树:nullB-树定义 一棵m阶的B-树,或为空树,或为满足下列特性的m叉树1、树中每个结点最多有m棵子树2、若根结点不是叶子结点,则至少有两棵子树nullB-树定义4、所有非终端结点中包含下列信息数据(n, A0, K1, A1, K2, A2, … , Kn, An)5、所有叶子结点都在同一层,不带信息a. n为关键字的个数,多个关键字自小至大有序排列,即:K1< K2 < … < Kn; b.且 Ai-1 所指子树上所有关键字均小于Ki; c.Ai 所指子树上所有关键字均大于Ki; d.关键字的个数比子树的个数小1;nullB-树的查找过程从根结点出发,沿指针搜索结点和在结点内进行顺序(或折半)查找两个过程交叉进行。若查找成功,则返回指向被查关键字所在结点的指针和关键字在结点中的位置;若查找不成功,则返回插入位置。nullB-树的查找过程typedef struct { BTNode *pt; // 指向找到的结点的指针 int i; // 1..m,在结点中的关键字序号 int tag; // 标志查找成功(=1)或失败(=0) } Result; // 在B树的查找结果类型假设返回的是如下所述结构的记录:nullB-树的查找算法Result SearchBTree(BTree T, KeyType K) { // 在m 阶的B-树T中查找关键字K, //返回查找结果 (pt,i,tag)。 //若查找成功,则特征值tag=1, //指针pt所指结点中第i个关键字等于K; //否则特征值tag=0, 等于K的关键字应插入在 //指针pt所指结点中第i个关键字 //和第 i+1个关键字之间 } // SearchBTree… …nullB-树查找算法 p=T; q=NULL; found=FALSE; i=0; while (p && !found) { n=p->keynum; i=Search(p, K); // 在p->key[1..keynum]中查找 i , // 使得 p->key[i]<=Kkey[i+1], //没找到则i=-1 if (i>0 && p->key[i]==K) found=TRUE; else { q=p; p=p->ptr[i]; } // q 指示 p 的双亲 } if (found) return (p,i,1); // 查找成功 else return (q,i,0); // 查找不成功nullB-树插入结点在查找不成功之后,需进行插入。显然,关键字插入的位置必定在最下层的叶子结点,有下列几种情况:1)插入后,该结点的关键字个数n=2的树,其中的每个结点中不是包含一个或者几个关键字,而是只包含组成关键字的符号。null键树的结构特点1)关键字中的各个符号分布在从根结点到叶结点的路径上,叶结点内的符号为“结束”的标志符。因此,键树的深度和关键字集合的大小无关; 2)键树被约定为是一棵有序树,即同一层中兄弟结点之间依所含符号自左至右有序,并约定结束符‘$’小于任何其它符号。null双链树— 以二叉链表作存储结构实现的键树结点结构:first symbol next分支结点infoptr symbol next叶子结点指向孩子结点 的指针指向兄弟结点 的指针指向记录 的指针typedef enum { LEAF, BRANCH }NodeKind; // 两种结点:{叶子 和 分支}nullHAD$HADE$R$$ES$GH$IHEHERHEREHIGHHIS…T叶子结点分支结点含关键字 的记录null双链树typedef struct DLTNode { char symbol; struct DLTNode *next; // 指向兄弟结点的指针 NodeKind kind; union { Record *infoptr; // 叶子结点内的记录指针 struct DLTNode *first; // 分支结点内的孩子链指针 } } DLTNode, *DLTree; // 双链树的类型null双链树#define MAXKEYLEN 16 //关键字的最大长度typedef struct { char ch[MAXKEYLEN]; // 关键字 int num; // 关键字长度 } KeysType; // 关键字类型null双链树查找过程假设: T 为指向双链树根结点的指针, K.ch[0..K.num-1] 为待查关键字(给定值)。则查找过程中的基本操作为进行下列比较: K.ch[i] =? p->symbol 其中:0 ≤ i ≤ K.num-1, p 指向双链树中某个结点null双链树查找过程1.初始状态: p=T->first; i = 0;2.若 ( p && p->symbol == K.ch[i] && ifirst; i++;3.若 ( p && p->symbol != K.ch[i] ) 则继续在键树的同一层上进行查找 p=p->next;null双链树查找过程若 ( p && p->symbol==K.ch[i] && i==K.num-1) 则 查找成功,返回指向相应记录的指针 p->infoptr 4.若 ( p == NULL) 则表明查找不成功,返回“空指针”;nullTrie树— 以多重链表作存储结构实现的键树结点结构:分支结点叶子结点指向记录 的指针指向下层结点的指针 每个域对应一个“字母”null0 1(A) 3 4 5(E) 9(I) … … 268(H)4(D) 19(S) 22(V) 0 18(R) 7(G) 190 5(E)THADHASHAVHEHERHEREHIGHIS叶子结点分支结点指向记录 的指针nulltypedef struct TrieNode { NodeKind kind; // 结点类型 union { struct { KeyType K; Record *infoptr } lf; // 叶子结点(关键字和指向记录的指针) struct { TrieNode *ptr[27]; int num } bh; // 分支结点(27个指向下一层结点的指针) } } TrieNode, *TrieTree; // 键树类型结点结构的 C 语言描述:Trie树nullTrie树查找过程在 Trie 树中查找记录的过程:假设: T 为指向 Trie 树根结点的指针, K.num是字符的个数, K.ch[0..K.num-1] 为待查关键字(给定值)。则查找过程中的基本操作为: 搜索和对应字母相应的指针: 若 p 不空,且 p 所指为分支结点, 则 p = p->bh.Ptr[ord(K.ch[i])] ; //ord将字母影射成在字母表中的位置 ( 其中: 0 ≤ i ≤ K.num-1 )nullTrie树查找过程初始状态: p=T; i = 0;若 ( p && p->kind = = BRANCH && ibh.ptr[ord(K.ch[i])]; i++;若 ( p && p->kind==LEAF && p->lf.K==K) 则 查找成功,返回指向相应记录的指针 p->lf.infoptr 反之,即 ( !p || p->kind==LEAF && p->lf.K!=K ) 则表明查找不成功,返回“空指针”;null小结和作业1.B-树 本节主要内容:2.B+树 3.键树1.定义2.查找过程3.插入操作4.删除操作5.查找性能的分析作业:9.14,9.18
本文档为【26B树和B键树】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_133454
暂无简介~
格式:ppt
大小:506KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2010-12-16
浏览量:52