一个广义表为(a,(a,b),(a,(b,c),d),则该广义表的长度为 ______。
一个广义表为(a,(a,b),(a,(b,c),d),则该广义表的长度为 ______。
一个广义表为(a,(a,b),(a,(b,c),d),则该广义表的长度为 ______。
A.一个广义表的表头肯定不是一个广义表
B.一个广义表的表尾肯定是个广义表
C.广义表L=((),(A,B))的表头为空表
D.广义表中原子个数即为广义表的长度
此题为判断题(对,错)。
设一个广义表中结点的个数为n,则求广义表深度算法的时间复杂度为____。
A.O(1)
B.O(n)
C.O(n2)
D.O(log2n)
A.仅1),2)
B.仅1),4)
C.仅2),3)
D.仅3),4)
采用广义表建立二叉树可以通过输入一个广义表字符串实现,其中表头为根节点,表尾包含两个用","隔开的元素,分别表示根节点的左子树和右子树。 例如:A(B(D,E(G,)),C(,F)) 构造的二叉树如下所示:二叉树节点定义如下: struct node { char data; node * leftchild; node * rightchild; }; 二叉树输出测试函数如下 void print(node * root, int t) { if (root==NULL) return; print(root->rightchild,t+1); for(int i=0;i<t;i++) printf("\t"); printf("%c\n",root->data); print(root->leftchild,t+1); } 要求:请写出建立二叉树的函数,函数原型为: node * create_bt(string str);
(1)树的根结点作为内子树构成的表的表名,放在表的最前面。
(2)每个结点的左子树和右子树用逗号隔开。若仅有在子树没有左子树,则逗号不能省略。
(3)在整个广义表表示输人的结尾加上一个特殊的符号(例如)表示输入结束。例如,对于如图5-26所示的二叉树,广义表表示为:A(B(D,E(G,)).C(,F))
(1)试定义该广义表的类结构,
(2)采用递归的算法对一个非递归的广义表进行遍历。
(3)试使用一个栈,实现一个非递归算法,对一个非递归广义表进行遍历。
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!