其他分享
首页 > 其他分享> > 1月21日学习总结

1月21日学习总结

作者:互联网

1、早上

做本周二叉树和并查集题目的最后两个,做出了一个。(3h)

题解:先序遍历为根、左、右,后序遍历为左、右、根,对于有两个子儿子的节点显然是不能组成多个中序遍历的,而如果一个节点只有一个儿子,那么这个儿子不管是左儿子还是右儿子,都不影响先序和后序的顺序,只会影响中序遍历的顺序,那样总的中序遍历结果的个数就需要×2。所以我们本题只需要找有多少个节点是只有一个儿子的,而根据先序遍历和后序遍历的顺序,我们可以在先序遍历和后序遍历中找到相同的元素位置,如果先序遍历的后一个元素等于后序遍历的前一个元素,那么该节点就是只有一个儿子的节点。 

#include <stdio.h>
main()
{char pre[30],post[30];
 int cnt=1; 
 scanf("%s",pre);
 scanf("%s",post);
 for(int i=0;pre[i];i++)
  for(int j=0;post[j];j++)
   if(pre[i]==post[j]&&pre[i+1]==post[j-1]&&pre[i+1]&&post[j-1])
    cnt*=2;
  printf("%d",cnt);	  
}

2、下午

继续做最后一个题目,题目涉及了Floyd和tarjan知识,所以又看B站和大话数据结构学习相关知识,并写了本周的阅读报告。(2.5h)

今日总共学习时长5.5h。

标签:总结,pre,遍历,21,后序,学习,先序,post,节点
来源: https://blog.csdn.net/qq_63701383/article/details/122629687