《算法笔记》:何时选用二叉树的静态写法

复试在即,刷算法笔记的过程中对何时选择二叉树的静态写法做了一些总结:
首先,不知道非静态写法该叫什么名字,姑且叫做动态写法吧。。。
1、这部分知识主要考察什么?
答:考察的是二叉树的遍历。
2、主要分哪些题型?
答:按照输入方式,大概能分两种:一种题目给的是某种遍历或某几种遍历的序列,要求求其另一种遍历序列,或稍有变化(如要求左右子树互换或套上实际背景,再或者通过求深度考察遍历);另一种则是给出每个节点的子节点,再求遍历或深度或其他(类似上面)。
3、二叉树遍历题,有哪些难点?
答:对于二叉树,要掌握的有两方面:一,根据遍历序列求二叉树;二,给出每个节点的子节点,存储二叉树。前者考察数据结构,后者难点在于存储。
4、如何解决上述两难点?
答:即选用合适的存储结构。对于根据遍历序列求二叉树的题,选用“结点链接结点”的动态存储较好,因为运算后可以返回结点类型;而如果给定的是节点编号关系,则使用静态存储较好,因为简单易行,若采用动态存储,那么就很难存储。
另:
附上两种存储的代码:

struct node{
	int data;
	node* lchild;
	node* rchild;
}//静态
const int maxn = 100;
struct node{
	int data;//可以不要;
	int lchild,rchild;
}tree[maxn];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值