大家好,我是周曦,今天给大家推荐一些二叉树题目。
题目
二叉树存储
这道题是道水题,找找规律ok,本人代码10行。
淘汰赛
这道题推荐使用桶数组 做比较合适(就是有点绕)。
二叉树深度
这题是一道深搜题,但相对比较简单。
遍历的顺序
前序遍历
也是很水的一道题,给一个代码框架:
#include<iostream>
using namespace std;
int n;
struct node{int l,r;char z;
}ans[10001];
void dfs(int i){if(i!=0){cout<<ans[i].z;dfs( );//这里要填!dfs( );//这里要填!}}
int main(){cin>>n;for(int i=1;i<=n;i++) cin>>ans[i].z>>ans[i].l>>ans[i].r;dfs( );//这里要填!return 0;
}
中序遍历
提示一下,改个顺序……
后序遍历
也是在前序遍历里改一下就行了。
子数的大小
也许抓住了规律,真想也就大白了?
结点的查找
找到第k层的左子节点和右节点,再判断三种情况就行了。
总结
这次的题单以找规律和dfs为主,考察了对树的了解程度,不是很难,和CSP-J差一些,下次会出一点难的。
另外给一道题,洛谷的P8882,不要管他的题目背景,可以做一做(更二叉树关系不大,但因为作者是原神党)。