给出以下算法的时间复杂度.docx
《给出以下算法的时间复杂度.docx》由会员分享,可在线阅读,更多相关《给出以下算法的时间复杂度.docx(17页珍藏版)》请在冰豆网上搜索。
给出以下算法的时间复杂度
1、填空题
1.常见的数据结构有_________结构,_________结构,_________结构等三种。
2.常见的存储结构有_________结构,_________结构等两种。
3.数据的基本单位是_________,它在计算机中是作为一个整体来处理的。
4.数据结构中的结构是指数据间的逻辑关系,常见的结构可分为两大类,_________和_________。
2、应用题
1、给出以下算法的时间复杂度.
voidfun(intn)
{
inti=1,k=100;
while(i{k=k+1;i=i+2;}}时间复杂度为_______________。2、给出以下算法的时间复杂度.voidfun2(intn){inti=1,k=100;while(i{i=i*10;k=k+1;}}时间复杂度为_______________。第2章线性表1、填空题1.线性表按照存储结构不同主要有两种实现方式,一种是_______________表,另一种是_______________表。2.顺序表采用_______________访问机制对数据元素进行访问。3.若在单链表结点p的后面插入一个新的结点s,则其操作序列为:①_____________________________;②_____________________________;4.在单向链表中,若要删除某个结点p,必须要找到_______________结点,才能实现该操作。2、选择题1.将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是。(A)n (B)2n-1 (C)2n (D)n-12.在单链表中,如果在结点p之后插入一个新结点s,其操作为。(A)s->next=p->next;p->next=s;(B)p->next=s;s->next=p->next;(C)s->next=p;p->next=s->next;(D)p->next=s;s->next=p;3.若长度为n的线性表采用顺序存储结构,在其第i个位置删除一个元素的算法的平均时间复杂度为( )。(1≤i≤n)A.O(0) B.O(1) C.O(n) D.O(n2)4.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素需要移动的元素个数为( )。(1≤i≤n+1)A.n-i B.n-i+1 C.i D.n-i-13、判断题1.线性表中每一个元素都有一个前驱和一个后继。()4、程序设计题1、单链表的结点结构定义如下:structLinkNode{LinkNode*next;intdata;};请根据述函数的功能写程序。(10分)voidInsert(LinkNode*h,LinkNode*s){//h指向链表的头结点(即使链表中没有元素,头结点也存在。)//链表中元素已经递增有序//函数功能为将结点s插入到链表h中。插入后链表仍然保持递增的顺序}2、设顺序表L是一个递增有序表,试写一算法,将x插入L中,并使L仍是一个有序表。顺序表的结构定义如下:#defineListSize100//假定表空间大小为100structSqList{ intelem[ListSize];//数组elem用于存放表中的数据 intlength;//当前的表长度};//以上为顺序表的结构//函数头定义如下voidInsertIncreaseList(SqList&L,intx){}///////3、单链表中结点的结构如下所示:typedefstructnode{intdata;structnode*next;}node;请设计满足下述功能的函数。要求:建立带头结点的单链表H,要求函数从屏幕上读入m个整数,每读入一个,便生成相应的结点,并且把它插入到链表H的尾部。函数形式为voidCreateLinkList(node*H)。(10分)第3章栈和队列1、填空题1.栈和队列在本质上都是_____________。2.栈的操作特点是_____________。队列的操作特点是_____________。3.栈和队列是一种特殊的_____________,栈的特点是_____________;队列的特点是_____________。2、选择题1.消除递归不一定需要使用栈,此说法_______。A.正确 B.错误2.对于栈,输入序列为(1,2,3,4),不可能得到的输出序列有_______。(A)(1,2,3,4) (B)(4,3,2,1) (C)(1,3,4,2) (D)(3,1,2,4)3.用单循环链表表示队列,正确的说法是。(A)可设一个头指针使入队、出队都方便;(B)可设一个尾指针使入队、出队都方便;(C)必须设头尾指针才能使入队、出队都方便;(D)无论如何,只可能使入队方便。3、判断题1.栈的特点是先进先出。()2.可以在队列的任意位置插入元素。()3.递归程序化非递归程序必须用到栈。()4.如果进栈的序列为(1,2,3,4),则(4,2,3,1)不可能是出栈序列。()5.在用顺序表表示的循环队列中,可用标志位来区分队空或队满的条件。()第4章串1、选择题1.设有两个串p和q,求q在p中首次出现的位置的运算称作()A.连接B.模式匹配C.求子串D.求串长2、判断题1.空串和空格串是同一个概念,二者没有区别。()第5章数组和广义表1、填空题1.二维数组在内存中存储可以有两种存储方式,一种是_________优先存储,一种是优先存储。2.设广义表L=((),(),(()))。则head(L)是 ;tail(L)是 ;L的长度是 ;L的深度是。3.设广义表L=((),(),(())) 则head(L)是________;tail(L)是________。2、选择题1.在C语言中,如果有数组定义intA[8][9];假定每个整型数据占2字节,则数组元素A[4][4]的地址是()。A.A+80B.A+76C.A+82D.以上都不对2.广义表A=(a,b,(c,d),(e,(f,g))),则下面式子的值为( ); Head(Tail(Head(Tail(Tail(A)))))A.(g) B.(d) C.c D.d3、判断题1.在C语言中,多维数组的存储采取的是行优先的方式。()2.广义表在本质上也是线性表。()3.可以用三元组存储法来压缩存储稀疏矩阵。()4.已知广义表A=((a,b,c),(d,e,f)),从A中取出原子e的运算是head(tail(head(tail(A))))。()第6章树和二叉树1、填空题1.一棵62个叶结点的完全二叉树,最多有________________个结点。2.若规定仅有根的二叉树的高度为1,那么高为h的完全二叉树最多有________________个结点,最少有________________个结点。3.设只包含有根结点的二叉树的高度为0,则高度为k的二叉树的最大结点数为________________,最小结点数为________________。4.设仅包含根结点的二叉树的高度为1,则高度为k的二叉树的最大结点数为________________,最小结点数为________________。2、选择题1.具有N个结点的完全二叉树的深度是________。(A)⌊log2N⌋(B)⌊log2N⌋+1(C)⌊log2(N)⌋(D)⌊log2N⌋-12.设二叉树的树根为第一层,则第i层上至多有_______结点。(A)1 (B)2 (C)2i-1 (D)2i-13、判断题1.二叉树的左右子树次序是严格的,不能够任意改变。()2.深度为k的满二叉树的结点为2k-1。()3.二叉树的三叉链表存储结构可以方便的访问到双亲结点。()4、应用题1.在一段文字中,共出现a、b、c、d、e、f六种字符,每种字符出现的频率分别为7,9,12,22,23,27。请回答下列问题:(1)什么是哈夫曼树?(3分)(2)根据题目所给频率值,画出相应的哈夫曼树。(11分)(3)给出各个字符对应的哈夫曼编码。(6分)(4)该段文字经过哈夫曼编码后,长度是多少。(4分)2.设一棵二叉树的先序遍历序列为abcde,中序遍历序列为badce,请画出对应的二叉树,并写出对应后序遍历序列。(15分)3.通信报文中出现的字符A、B、C、D、E,在报文中出现的频率分别为0.23、0.2、0.32、0.12、0.13,分别给出相应字符的哈夫曼编码(要求画出哈夫曼树,并且把权值小的结点放在左边)。(共14分) 4.某二叉树结点的中序序列为H,B,C,D,E,F,G,后序序列为B,D,C,H,F,G,E,请据此画出该二叉树,再给该树加上中序线索。(共15分)5.请证明对于任何一棵二叉树,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1。(10分)6.请按照孩子-兄弟表示法,将图1所示树转化为二叉树。(共14分)ACBDEFG图1 ABECFGDHIJ图27.设二叉树如图2所示。分别写出它的先序遍历、中序遍历、后序遍历序列。(共15分) 8.(1)写出如图所示二叉树的中序遍历结果。(8分)(2)画出二叉树的中序后继线索。(10分)DACFGEHB 9.已知某二叉树的前序遍历序列为:ABCDEFG和中序遍历序列为:CBEDAFG。请画出该二叉树。10.已知通信联络中只可能出现A、B、C、D、E、F、G、H共8种字符,其出现次数分别为5,28,7,9,14,23,3,11次。(1)请画出赫夫曼树(权值小的结点在左边)。(15分)(2)计算该树的带权路径长度。(3分) 5、读程序写结果ABCDE已知二叉树的结点结构如下:structNode{intdata;Node*lchild,*rchild;};某棵二叉树的形态如右图:根据要求解答下题:1、(共5分)intfun1(Node*root){if(root==0)return0;intl,r;l=fun1(root->lchild);r=fun1(root->rchild);if(l>=r)returnl+1;elsereturnr+1;}(1)当root是指向结点A的指针时,函数fun1的返回值是多少?(2分)(2)函数fun1的功能是什么?(3分)2、(共6分)intfun2(Node*root){if(root=
k=k+1;
i=i+2;
}
时间复杂度为_______________。
2、给出以下算法的时间复杂度.
voidfun2(intn)
while(i{i=i*10;k=k+1;}}时间复杂度为_______________。第2章线性表1、填空题1.线性表按照存储结构不同主要有两种实现方式,一种是_______________表,另一种是_______________表。2.顺序表采用_______________访问机制对数据元素进行访问。3.若在单链表结点p的后面插入一个新的结点s,则其操作序列为:①_____________________________;②_____________________________;4.在单向链表中,若要删除某个结点p,必须要找到_______________结点,才能实现该操作。2、选择题1.将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是。(A)n (B)2n-1 (C)2n (D)n-12.在单链表中,如果在结点p之后插入一个新结点s,其操作为。(A)s->next=p->next;p->next=s;(B)p->next=s;s->next=p->next;(C)s->next=p;p->next=s->next;(D)p->next=s;s->next=p;3.若长度为n的线性表采用顺序存储结构,在其第i个位置删除一个元素的算法的平均时间复杂度为( )。(1≤i≤n)A.O(0) B.O(1) C.O(n) D.O(n2)4.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素需要移动的元素个数为( )。(1≤i≤n+1)A.n-i B.n-i+1 C.i D.n-i-13、判断题1.线性表中每一个元素都有一个前驱和一个后继。()4、程序设计题1、单链表的结点结构定义如下:structLinkNode{LinkNode*next;intdata;};请根据述函数的功能写程序。(10分)voidInsert(LinkNode*h,LinkNode*s){//h指向链表的头结点(即使链表中没有元素,头结点也存在。)//链表中元素已经递增有序//函数功能为将结点s插入到链表h中。插入后链表仍然保持递增的顺序}2、设顺序表L是一个递增有序表,试写一算法,将x插入L中,并使L仍是一个有序表。顺序表的结构定义如下:#defineListSize100//假定表空间大小为100structSqList{ intelem[ListSize];//数组elem用于存放表中的数据 intlength;//当前的表长度};//以上为顺序表的结构//函数头定义如下voidInsertIncreaseList(SqList&L,intx){}///////3、单链表中结点的结构如下所示:typedefstructnode{intdata;structnode*next;}node;请设计满足下述功能的函数。要求:建立带头结点的单链表H,要求函数从屏幕上读入m个整数,每读入一个,便生成相应的结点,并且把它插入到链表H的尾部。函数形式为voidCreateLinkList(node*H)。(10分)第3章栈和队列1、填空题1.栈和队列在本质上都是_____________。2.栈的操作特点是_____________。队列的操作特点是_____________。3.栈和队列是一种特殊的_____________,栈的特点是_____________;队列的特点是_____________。2、选择题1.消除递归不一定需要使用栈,此说法_______。A.正确 B.错误2.对于栈,输入序列为(1,2,3,4),不可能得到的输出序列有_______。(A)(1,2,3,4) (B)(4,3,2,1) (C)(1,3,4,2) (D)(3,1,2,4)3.用单循环链表表示队列,正确的说法是。(A)可设一个头指针使入队、出队都方便;(B)可设一个尾指针使入队、出队都方便;(C)必须设头尾指针才能使入队、出队都方便;(D)无论如何,只可能使入队方便。3、判断题1.栈的特点是先进先出。()2.可以在队列的任意位置插入元素。()3.递归程序化非递归程序必须用到栈。()4.如果进栈的序列为(1,2,3,4),则(4,2,3,1)不可能是出栈序列。()5.在用顺序表表示的循环队列中,可用标志位来区分队空或队满的条件。()第4章串1、选择题1.设有两个串p和q,求q在p中首次出现的位置的运算称作()A.连接B.模式匹配C.求子串D.求串长2、判断题1.空串和空格串是同一个概念,二者没有区别。()第5章数组和广义表1、填空题1.二维数组在内存中存储可以有两种存储方式,一种是_________优先存储,一种是优先存储。2.设广义表L=((),(),(()))。则head(L)是 ;tail(L)是 ;L的长度是 ;L的深度是。3.设广义表L=((),(),(())) 则head(L)是________;tail(L)是________。2、选择题1.在C语言中,如果有数组定义intA[8][9];假定每个整型数据占2字节,则数组元素A[4][4]的地址是()。A.A+80B.A+76C.A+82D.以上都不对2.广义表A=(a,b,(c,d),(e,(f,g))),则下面式子的值为( ); Head(Tail(Head(Tail(Tail(A)))))A.(g) B.(d) C.c D.d3、判断题1.在C语言中,多维数组的存储采取的是行优先的方式。()2.广义表在本质上也是线性表。()3.可以用三元组存储法来压缩存储稀疏矩阵。()4.已知广义表A=((a,b,c),(d,e,f)),从A中取出原子e的运算是head(tail(head(tail(A))))。()第6章树和二叉树1、填空题1.一棵62个叶结点的完全二叉树,最多有________________个结点。2.若规定仅有根的二叉树的高度为1,那么高为h的完全二叉树最多有________________个结点,最少有________________个结点。3.设只包含有根结点的二叉树的高度为0,则高度为k的二叉树的最大结点数为________________,最小结点数为________________。4.设仅包含根结点的二叉树的高度为1,则高度为k的二叉树的最大结点数为________________,最小结点数为________________。2、选择题1.具有N个结点的完全二叉树的深度是________。(A)⌊log2N⌋(B)⌊log2N⌋+1(C)⌊log2(N)⌋(D)⌊log2N⌋-12.设二叉树的树根为第一层,则第i层上至多有_______结点。(A)1 (B)2 (C)2i-1 (D)2i-13、判断题1.二叉树的左右子树次序是严格的,不能够任意改变。()2.深度为k的满二叉树的结点为2k-1。()3.二叉树的三叉链表存储结构可以方便的访问到双亲结点。()4、应用题1.在一段文字中,共出现a、b、c、d、e、f六种字符,每种字符出现的频率分别为7,9,12,22,23,27。请回答下列问题:(1)什么是哈夫曼树?(3分)(2)根据题目所给频率值,画出相应的哈夫曼树。(11分)(3)给出各个字符对应的哈夫曼编码。(6分)(4)该段文字经过哈夫曼编码后,长度是多少。(4分)2.设一棵二叉树的先序遍历序列为abcde,中序遍历序列为badce,请画出对应的二叉树,并写出对应后序遍历序列。(15分)3.通信报文中出现的字符A、B、C、D、E,在报文中出现的频率分别为0.23、0.2、0.32、0.12、0.13,分别给出相应字符的哈夫曼编码(要求画出哈夫曼树,并且把权值小的结点放在左边)。(共14分) 4.某二叉树结点的中序序列为H,B,C,D,E,F,G,后序序列为B,D,C,H,F,G,E,请据此画出该二叉树,再给该树加上中序线索。(共15分)5.请证明对于任何一棵二叉树,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1。(10分)6.请按照孩子-兄弟表示法,将图1所示树转化为二叉树。(共14分)ACBDEFG图1 ABECFGDHIJ图27.设二叉树如图2所示。分别写出它的先序遍历、中序遍历、后序遍历序列。(共15分) 8.(1)写出如图所示二叉树的中序遍历结果。(8分)(2)画出二叉树的中序后继线索。(10分)DACFGEHB 9.已知某二叉树的前序遍历序列为:ABCDEFG和中序遍历序列为:CBEDAFG。请画出该二叉树。10.已知通信联络中只可能出现A、B、C、D、E、F、G、H共8种字符,其出现次数分别为5,28,7,9,14,23,3,11次。(1)请画出赫夫曼树(权值小的结点在左边)。(15分)(2)计算该树的带权路径长度。(3分) 5、读程序写结果ABCDE已知二叉树的结点结构如下:structNode{intdata;Node*lchild,*rchild;};某棵二叉树的形态如右图:根据要求解答下题:1、(共5分)intfun1(Node*root){if(root==0)return0;intl,r;l=fun1(root->lchild);r=fun1(root->rchild);if(l>=r)returnl+1;elsereturnr+1;}(1)当root是指向结点A的指针时,函数fun1的返回值是多少?(2分)(2)函数fun1的功能是什么?(3分)2、(共6分)intfun2(Node*root){if(root=
i=i*10;
第2章线性表
1.线性表按照存储结构不同主要有两种实现方式,一种是_______________表,另一种是_______________表。
2.顺序表采用_______________访问机制对数据元素进行访问。
3.若在单链表结点p的后面插入一个新的结点s,则其操作序列为:
①_____________________________;
②_____________________________;
4.在单向链表中,若要删除某个结点p,必须要找到_______________结点,才能实现该操作。
2、选择题
1.将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是。
(A)n (B)2n-1 (C)2n (D)n-1
2.在单链表中,如果在结点p之后插入一个新结点s,其操作为。
(A)s->next=p->next;p->next=s;
(B)p->next=s;s->next=p->next;
(C)s->next=p;p->next=s->next;
(D)p->next=s;s->next=p;
3.若长度为n的线性表采用顺序存储结构,在其第i个位置删除一个元素的算法的平均时间复杂度为( )。
(1≤i≤n)
A.O(0) B.O
(1) C.O(n) D.O(n2)
4.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素需要移动的元素个数为( )。
(1≤i≤n+1)
A.n-i B.n-i+1 C.i D.n-i-1
3、判断题
1.线性表中每一个元素都有一个前驱和一个后继。
()
4、程序设计题
1、单链表的结点结构定义如下:
structLinkNode
LinkNode*next;
intdata;
};
请根据述函数的功能写程序。
(10分)
voidInsert(LinkNode*h,LinkNode*s)
{//h指向链表的头结点(即使链表中没有元素,头结点也存在。
)
//链表中元素已经递增有序
//函数功能为将结点s插入到链表h中。
插入后链表仍然保持递增的顺序
2、设顺序表L是一个递增有序表,试写一算法,将x插入L中,并使L仍是一个有序表。
顺序表的结构定义如下:
#defineListSize100//假定表空间大小为100
structSqList{
intelem[ListSize];//数组elem用于存放表中的数据
intlength;//当前的表长度
//以上为顺序表的结构
//函数头定义如下
voidInsertIncreaseList(SqList&L,intx)
///////
3、单链表中结点的结构如下所示:
typedefstructnode
{intdata;
structnode*next;
}node;
请设计满足下述功能的函数。
要求:
建立带头结点的单链表H,要求函数从屏幕上读入m个整数,每读入一个,便生成相应的结点,并且把它插入到链表H的尾部。
函数形式为voidCreateLinkList(node*H)。
第3章栈和队列
1.栈和队列在本质上都是_____________。
2.栈的操作特点是_____________。
队列的操作特点是_____________。
3.栈和队列是一种特殊的_____________,栈的特点是_____________;队列的特点是_____________。
1.消除递归不一定需要使用栈,此说法_______。
A.正确 B.错误
2.对于栈,输入序列为(1,2,3,4),不可能得到的输出序列有_______。
(A)(1,2,3,4) (B)(4,3,2,1)
(C)(1,3,4,2) (D)(3,1,2,4)
3.用单循环链表表示队列,正确的说法是。
(A)可设一个头指针使入队、出队都方便;
(B)可设一个尾指针使入队、出队都方便;
(C)必须设头尾指针才能使入队、出队都方便;
(D)无论如何,只可能使入队方便。
1.栈的特点是先进先出。
2.可以在队列的任意位置插入元素。
3.递归程序化非递归程序必须用到栈。
4.如果进栈的序列为(1,2,3,4),则(4,2,3,1)不可能是出栈序列。
5.在用顺序表表示的循环队列中,可用标志位来区分队空或队满的条件。
第4章串
1、选择题
1.设有两个串p和q,求q在p中首次出现的位置的运算称作()
A.连接B.模式匹配C.求子串D.求串长
2、判断题
1.空串和空格串是同一个概念,二者没有区别。
第5章数组和广义表
1.二维数组在内存中存储可以有两种存储方式,一种是_________优先存储,一种是优先存储。
2.设广义表L=((),(),(()))。
则head(L)是 ;tail(L)是 ;L的长度是 ;L的深度是。
3.设广义表L=((),(),(())) 则head(L)是________;tail(L)是________。
1.在C语言中,如果有数组定义intA[8][9];假定每个整型数据占2字节,则数组元素A[4][4]的地址是()。
A.A+80B.A+76C.A+82D.以上都不对
2.广义表A=(a,b,(c,d),(e,(f,g))),则下面式子的值为( );
Head(Tail(Head(Tail(Tail(A)))))
A.(g) B.(d) C.c D.d
1.在C语言中,多维数组的存储采取的是行优先的方式。
2.广义表在本质上也是线性表。
3.可以用三元组存储法来压缩存储稀疏矩阵。
4.已知广义表A=((a,b,c),(d,e,f)),从A中取出原子e的运算是head(tail(head(tail(A))))。
第6章树和二叉树
1.一棵62个叶结点的完全二叉树,最多有________________个结点。
2.若规定仅有根的二叉树的高度为1,那么高为h的完全二叉树最多有________________个结点,最少有________________个结点。
3.设只包含有根结点的二叉树的高度为0,则高度为k的二叉树的最大结点数为________________,最小结点数为________________。
4.设仅包含根结点的二叉树的高度为1,则高度为k的二叉树的最大结点数为________________,最小结点数为________________。
1.具有N个结点的完全二叉树的深度是________。
(A)⌊log2N⌋(B)⌊log2N⌋+1
(C)⌊log2(N)⌋(D)⌊log2N⌋-1
2.设二叉树的树根为第一层,则第i层上至多有_______结点。
(A)1 (B)2 (C)2i-1 (D)2i-1
1.二叉树的左右子树次序是严格的,不能够任意改变。
2.深度为k的满二叉树的结点为2k-1。
3.二叉树的三叉链表存储结构可以方便的访问到双亲结点。
4、应用题
1.在一段文字中,共出现a、b、c、d、e、f六种字符,每种字符出现的频率分别为7,9,12,22,23,27。
请回答下列问题:
(1)什么是哈夫曼树?
(3分)
(2)根据题目所给频率值,画出相应的哈夫曼树。
(11分)
(3)给出各个字符对应的哈夫曼编码。
(6分)
(4)该段文字经过哈夫曼编码后,长度是多少。
(4分)
2.设一棵二叉树的先序遍历序列为abcde,中序遍历序列为badce,请画出对应的二叉树,并写出对应后序遍历序列。
(15分)
3.通信报文中出现的字符A、B、C、D、E,在报文中出现的频率分别为0.23、0.2、0.32、0.12、0.13,分别给出相应字符的哈夫曼编码(要求画出哈夫曼树,并且把权值小的结点放在左边)。
(共14分)
4.某二叉树结点的中序序列为H,B,C,D,E,F,G,后序序列为B,D,C,H,F,G,E,请据此画出该二叉树,再给该树加上中序线索。
(共15分)
5.请证明对于任何一棵二叉树,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1。
6.请按照孩子-兄弟表示法,将图1所示树转化为二叉树。
A
C
B
D
E
F
G
图1
H
I
J
图2
7.设二叉树如图2所示。
分别写出它的先序遍历、中序遍历、后序遍历序列。
8.
(1)写出如图所示二叉树的中序遍历结果。
(8分)
(2)画出二叉树的中序后继线索。
9.
已知某二叉树的前序遍历序列为:
ABCDEFG和中序遍历序列为:
CBEDAFG。
请画出该二叉树。
10.
已知通信联络中只可能出现A、B、C、D、E、F、G、H共8种字符,其出现次数分别为5,28,7,9,14,23,3,11次。
(1)请画出赫夫曼树(权值小的结点在左边)。
(2)计算该树的带权路径长度。
5、读程序写结果
已知二叉树的结点结构如下:
structNode
Node*lchild,*rchild;
某棵二叉树的形态如右图:
根据要求解答下题:
1、(共5分)
intfun1(Node*root)
if(root==0)return0;
intl,r;
l=fun1(root->lchild);
r=fun1(root->rchild);
if(l>=r)returnl+1;
elsereturnr+1;
(1)当root是指向结点A的指针时,函数fun1的返回值是多少?
(2分)
(2)函数fun1的功能是什么?
2、(共6分)
intfun2(Node*root)
if(root=
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1