博客作业04--树
1.学习总结 1.1树结构思维导图 1.2 树结构学习体会 学习树最痛苦的事情就是递归,最开始的先序,中序,后序的递归算法,看了好久才能大致的明白程序的思路,还有就是表达式树的建立,跟栈的中缀转后缀表达式有点类似,但是一用到递归就没那么好理解了,其实重点还是要多花时间去研究书上的代码,学习树的知识,如果对书本的内容不是很熟悉,很难对树有很好的理解,做起题目来也是非常累人的,因为根本不明白程序下一步要怎么走。 2.PTA实验作业 2.11题目: jmu-ds-表达式树 2.12设计思路(伪代码或流程图) void InitExpTree(BTree &T,string str) 建op栈,op.push('#') 初始化根节点栈:stacktree栈 while(表达式未结束) { if(str[i]==数字字符) 生成一个只有根节点的子树T。stacktree.push(T) if(str[i]==运算符) { while(str[i]<op栈顶运算符)栈顶优先级别高 { 创建一个树结点T,数据为op.top() stacktree弹出2个根节点T1,T2 T->lchild=T1;T->rchild=T2; stacktree.push(T); } if(str[i]>op栈顶元素运算符) op.push(str[i]) if(str[i]==op栈顶运算符) op.pop().