![](https://lstatic.shangxueba.com/jiandati/h5/images/m_q_title.png)
[主观题]
广义表具有可共享性,因此在遍历一个广义表时必须为每一个结点增加一个标志域mark,以记录该结
点是否访问过。一旦集一个共享的子表结点被作了访问标志,以后就不再访问它.
(1)试定义该广义表的类结构,
(2)采用递归的算法对一个非递归的广义表进行遍历。
(3)试使用一个栈,实现一个非递归算法,对一个非递归广义表进行遍历。
提问人:网友13***002
发布时间:2022-01-07
(1)试定义该广义表的类结构,
(2)采用递归的算法对一个非递归的广义表进行遍历。
(3)试使用一个栈,实现一个非递归算法,对一个非递归广义表进行遍历。
采用广义表建立二叉树可以通过输入一个广义表字符串实现,其中表头为根节点,表尾包含两个用","隔开的元素,分别表示根节点的左子树和右子树。 例如: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);
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!