码迷,mamicode.com
首页 > 其他好文 > 详细

第五章心得

时间:2020-05-31 21:32:03      阅读:51      评论:0      收藏:0      [点我收藏+]

标签:flag   bool   要求   turn   存储   false   bit   赋值   自己   

学习树的心得:
1.之前一直喜欢用链表,以为链表是万能的,知道学到树之后发现数组有时候比链表更合适。写同构树这道题时一开始我一直用链表来实现,也以为输入的数据是从
根节点开始的,然后代码快写完了才发现全部错了,于是虚心地把数组存储重新看了一遍,学会了用bool来寻找根节点,自己也思考出来如何在数组上实现递归,递
归真的是一个很神奇很方便的方法。其实在之前的栈,递归我学的很不耐烦,因为我不会只看当层来了解整体,我必须把递归从头到尾的过程思考一遍才能弄懂这个递
归,但树的学习可以说真的帮助了我,现在我只需要想“一个parent有两个child,我只需要进行这两个child的操作就可以了,因为child也是parent,会重复我的操作”
而所有的递归其实都是这个道理。
不过我在写题使也有烦恼,因为递归很难利用&从底层传多个值,我写的函数的参数要对所有的递归过程负责,不过在别的地方用点心思这个问题也能解决。
1.bool找根节点
bool check[10]={false}
bool*check;
check=new bool[n]();//加空圆括号要求系统赋初始值,但不能自己赋值
2.递归
int compare(bitnode tree[],char list[],int num1,int num2)
{
    int flag1=0;
    int flag2=0;
 
if(tree[num1].data==list[num2])
{
 
if(tree[num1].lchild==-1&&tree[num1].rchild==-1)
return 1;
flag1=compare(tree,list,tree[num1].lchild,num2+1);
flag2=compare(tree,list,tree[num1].rchild,num2+1);
if(flag1==0&&flag2==0)
return 0;
    
else
return 1;
    
}
else
return 0;
这次我终于记得写delete了。
 
 
 
 

第五章心得

标签:flag   bool   要求   turn   存储   false   bit   赋值   自己   

原文地址:https://www.cnblogs.com/lili-li/p/13021433.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!