1月21日学习总结

1、早上

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

1月21日学习总结

题解:先序遍历为根、左、右,后序遍历为左、右、根,对于有两个子儿子的节点显然是不能组成多个中序遍历的,而如果一个节点只有一个儿子,那么这个儿子不管是左儿子还是右儿子,都不影响先序和后序的顺序,只会影响中序遍历的顺序,那样总的中序遍历结果的个数就需要×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。

上一篇:关键字提取算法TF-IDF和TextRank(python3)————实现TF-IDF并jieba中的TF-IDF对比,使用jieba中的实现TextRank


下一篇:python爬取百度在线语音合成的音频