网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
判断题
从一棵B树删除关键码的过程中,若最终引起树根结点的合并,则新树比原树的高度增加1。()
A
对
B
错
参考答案
参考解析
解析:
更多 “判断题从一棵B树删除关键码的过程中,若最终引起树根结点的合并,则新树比原树的高度增加1。()A 对B 错” 相关考题
考题
下面关于B树运算的叙述中,正确的是A.若插入过程中根结点发生分裂,则B树的高度加1B.每当进行插入运算,就往B树的最下面一层增加一个新结点C.若要删除的关键码出现在根结点中,则不能真正删除,只能做标记D.删除可能引起B树结点个数减少,但不会造成B树高度减小
考题
以下关于B树运算的叙述中,哪一条是正确的?A.若插入过程中根结点发生分裂,则B树的高度加1B.每当进行插入运算,就在B树的最下面一层增加一个新结点C.若要删除的关键码出现在根结点中,则不能真正删除,只能做标记D.删除可能引起B树结点个数减少,但不会造成B树高度减小
考题
以下说法错误的是 ( )A.一般在哈夫曼树中,权值越大的叶子离根结点越近B.哈夫曼树中没有度数为1的分支结点C.若初始森林中共有n裸二叉树,最终求得的哈夫曼树共有2n-1个结点D.若初始森林中共有n裸二叉树,进行2n-1次合并后才能剩下一棵最终的哈夫曼树
考题
阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。【说明】一棵非空二叉树中“最左下”结点定义为:若树根的左子树为空,则树根为“最左下”结点;否则,从树根的左子树根出发,沿结点的左子树分支向下查找,直到某个结点不存在左子树时为止,该结点即为此二叉树的“最左下”结点。例如,下图所示的以 A为根的二叉树的“最左下”结点为D,以C为根的子二叉树中的“最左下”结点为C。二叉树的结点类型定义如下:typedef stmct BSTNode{int data;struct BSTNode*lch,*rch;//结点的左、右子树指针}*BSTree;函数BSTree Find Del(BSTree root)的功能是:若root指向一棵二叉树的根结点,则找出该结点的右子树上的“最左下”结点*p,并从树于删除以*p为根的子树,函数返回被删除子树的根结点指针;若该树根的右子树上不存在“最左下”结点,则返回空指针。【函数】BSTrce Find_Del(BSTreeroot){ BSTreep,pre;if ( !root ) return NULL; /*root指向的二叉树为空树*/(1); /*令p指向根结点的右子树*/if ( !p ) return NULL;(2); /*设置pre的初值*/while(p->lch){ /*查找“最左下”结点*/pre=p;p=(3);}if ((4)==root) /*root的右子树根为“最左下”结点*/pre->rch=NULL;else(5)=NULL; /*删除以“最左下”结点为根的子树*/reurn p;}
考题
以下关于B树运算的叙述中,哪一条是正确的?A.若插入过程中根节点发生分裂,则B树的高度加1B.每当进行插入运算,就在B树的最下面一层增加一个新节点C.若要删除的关键码出现在根节点中,则不能真正删除,只能做标记D.删除可能引起B树节点个数减少,但不会造成B树高度减少
考题
下面关于B树运算的叙述中,正确的是A.若插入过程甲根结点发生分裂,则B树的高度加1B.每当进行插入运算,就往B树的最下面一层增加一个新结点C.若要删除的关键码出现在根结点中,则不能真正删除,只能做标记D.删除可能引起B树结点个数减少,但不会造成B树高度减小
考题
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】二叉查找树又称为二叉排序树,它或者是一棵空树,或者是具有如下性质的二叉树。(1)若它的左子树非空,则左子树上所有结点的值均小于根结点的值。(2)若它的右子树非空,则右子树上所有结点的值均大于根结点的值。(3)左、右子树本身就是两棵二叉查找树。二叉查找树是通过依次输入数据元素并把它们插入到二叉树的适当位置上构造起来的,具体的过程是:每读入一个元素,建立一个新结点,若二叉查找树非空,则将新结点的值与根结点的值相比较,如果小于根结点的值,则插入到左子树中,否则插入到右子树中;若二叉查找树为空,则新结点作为二叉查找树的根结点。根据关键码序列{46,25,54,13,29,91}构造一个二叉查找树的过程如图4-1所示。
设二叉查找树采用二叉链表存储,结点类型定义如下:
typedef int KeyType;typedef struct BSTNode{KeyType key;struct BSTNode *left,*right;}BSTNode,*BSTree;
图4-1(g)所示二叉查找树的二叉链表表示如图4-2所示。
函数int InsertBST(BSTree *rootptr,KeyType kword)功能是将关键码kword插入到由rootptr指示出根结点的二叉查找树中,若插入成功,函数返回1,否则返回0。【C代码】
int lnsertBST(BSTree*rootptr,KeyType kword)/*在二叉查找树中插入一个键值为kword的结点,若插入成功返回1,否则返回0;*rootptr为二叉查找树根结点的指针*/{BSTree p,father;(1) /*将father初始化为空指针*/p=*rootptr; /*p指示二叉查找树的根节点*/while(pif(kword<p->key)p=p->left;elsep=p->right;}if((3))return 0; /*二叉查找树中已包含键值kword,插入失败*/ p=(BSTree)malloc((4)); /*创建新结点用来保存键值kword*/If(!p)return 0; /*创建新结点失败*/p->key=kword;p->left=NULL;p->right=NULL; If(!father)(5) =p; /*二叉查找树为空树时新结点作为树根插入*/elseif(kword<father->key)(6);/*作为左孩子结点插入*/else(7);/*作右孩子结点插入*/return 1;}/*InsertBST*/
考题
判断题在任意一棵非空二叉树中,删除某结点后又将其插入,则所得二叉排序树与删除前原二叉树排序树相同。A
对B
错
热门标签
最新试卷