重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
找答案首页 > 全部分类 > 求职面试
搜题
网友您好, 请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
[主观题]

试完成编码表生成算法coding。根结点指针root指向的是...

试完成编码表生成算法coding。根结点指针root指向的是具有n片叶子的哈夫曼树(若p指向结点,则p->Lson、p->Rson分别指向该结点的左、右儿子)。其中,pcode函数完成一个字符编码的输出(不必关心该函数的实现方式),变量top和数组hfcdstr是整体量。 函数调用的方法是:top=0; coding(root); void coding(ptr p) { if (p!=NULL) if (___________________ ) pcode(p,top) ; else { top=_________; ____ _; coding(p->Lson); hfcdstr[top]='1'; _______ __; ___ ______; } } ①p->Lson==NULL&&p->Rson==NULL ②p->Lson &&p->Rson ③top-1 ④top+1 ⑤top=top+1 ⑥top=top-1 ⑦hfcdstr[top]='0' ⑧coding(p->Lson) ⑨hfcdstr[top]='1' ⑩coding(p->Rson) 函数中,下划线位置依次填入 。

A、①⑤⑦⑧⑥

B、②④⑨⑧⑥

C、②④⑦⑧③

D、①④⑦⑩⑤

查看答案
更多“试完成编码表生成算法coding。根结点指针root指向的是...”相关的问题

第1题

设一棵二叉树的结点结构为(LLINK,INFO,RLINK),ROOT为指向该二叉树根结点的指针,p和g分别为指向该二叉树中任意两个结点的指针,试编写一算法ANCESTOR(RDOT,p,q,r),该算法找到p和q的最近共同祖先结点r。【吉林大学2000二、3(12分)】【中山大学1994六(15分)】

点击查看答案

第2题

给定一棵用二叉链表表示的二叉树,其根指针为root,试求二叉树各结点的层数。

点击查看答案

第3题

给定一棵用二叉链表表示的二叉树,其根指针为root, 试写出将二叉树中所有结点的左、右子树相互交换的算法。

点击查看答案

第4题

【Test-9-3】假设二叉树存放于二叉链表中,树中结点的关...

【Test-9-3】假设二叉树存放于二叉链表中,树中结点的关键字值互不相同。下面算法的功能是:判别给定的二叉树是否二叉排序树。请在空白处填入正确的语句。 void binSearchTree(BiTNode *t, BiTNode *&pr, int& bs) { //在以 t 为根的子树中判断该子树是否二叉排序树。是则引用参数 bs 为 1,否则 bs //为 0。引用参数 pr 是当前子树根结点 t 的前驱指针,在主调程序中应为各参数初 //始化: t 赋予根结点指针 root, pr 赋予 NULL, bs 赋予 1。 if(t != NULL && bs) { _______________①_________________; //递归到左子树判断 if(pr == NULL) { pr = t; //t 为中序第一个结点 bs = 1; } else { if(__________②___________) { pr = t; bs = 1; } else bs = 0; } if(bs) ____________③__________________; //递归到右子树判断 } }

点击查看答案

第5题

设二叉树采用二叉链表方式存储,root指向根结点,r所指结点为二叉树中任一给定的结点。则可以通过改写( )算法,求出从根结点到结点r之间的路径。

A、先序遍历

B、中序遍历

C、后序遍历

D、层次遍历

点击查看答案

第6题

已知一棵度为12的树,它的根结点的地址为root。该树是用顺序方式存储的,说明如下: struct node{ int data; //树中结点的数据场 int son[12]; //给出结点的第1个,第2个,第3个……第12个儿子结点地址 }tnode[M]; //M是树中结点数,常量 请设计一个非递归的程序,按前序遍历该树,打印每个结点的数据场之值。注意:如用递归程序实现,做零分处理。【上海交通大学2003一(15分)】

点击查看答案

第7题

二叉树的遍历算法可写为通用形式。例如,通用的中序遍历为:

  void Inorder(BinTree T,void(*Visit)(Datatype x))

  { if(T)

    {Inorder(T->lchild,Visit);  /*遍历左子树*/

    Visit(T->data);  /*通过函数指针调用它所指的函数来访问结点*/

    Inorder(T->rchild,Visit);  /*遍历右子树*/

    }

  }

  其中Visit是一个函数指针,它指向形如void f(DdataType x)的函数。因此我们可以将访问结点的操作写在雨数f中,通过调用语句Inorder(root,f)将f的地址传递给Visit,来执行遍历操作。请写一个打印结点的数据的函数,通过调用上述算法来完成中序遍历。

点击查看答案

第8题

设二叉树以二叉链表方式存储,试完成下列问题的递归算...

设二叉树以二叉链表方式存储,试完成下列问题的递归算法。 设二叉树结点和二叉树结构体定义如下: typedef struct btnode { ElemType element; struct btnode* lchild, *rchild; }BTNode; typedef struct binarytree{ BTNode* root; }BinaryTree; (1)求一棵二叉树的高度; int Depth(BTNode *p) { int lh, rh; if (!p) return 0; lh = ______________; rh = _____________; if (lh > rh) return _________; else return ________; } int DepthofBT(BinaryTree Bt) { return ___________; } (2)求一棵二叉树中的结点个数; int Size(BTNode * p) { if (!p) return _____ ; else return Size(p->lchild)+______________+1; } int SizeofBT(BinaryTree Bt) { return ______________); } (3)交换一棵二叉树中每个结点的左、右子树。 void exchange ( BTNode * p) { if(!p) return; if ( p->lchild != NULL || p->rchild != NULL ) { temp = p->lchild; p->lchild = ____________; p->rchild = temp; exchange (___________ ); exchange ( p->rchild ); } } void exchange(BinaryTree *bt) { ____________________; }

点击查看答案

第9题

以下哪项不是BPDI.J数据包中携带的实现生成树算法的相关信息?——

A.Root ID

B.IP

C.Root Path Cost.

D.Port ID

点击查看答案

第10题

阅读以下说明和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;

}

点击查看答案
下载上学吧APP
客服
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
选择优惠券
优惠券
请选择
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注上学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注上学吧 -
请用微信扫码测试
选择优惠券
确认选择
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,如果您知道正确答案,欢迎您来纠错

上学吧找答案