2021考研计算机复习备考:依据先序后序生成二叉树

最后更新时间:2020-08-28 16:22:10
辅导课程:暑期集训 在线咨询
复习紧张,焦头烂额?逆风轻袭,来跨考秋季集训营,帮你寻方法,定方案! 了解一下>>

  计算机类专业长期以来被认为薪资高、就业面广,如今竞争日趋激烈。想要更好的复习准备计算机,对于知识点的练习是日常复习必不可少的。小编整理2021考研计算机复习备考知识:依据先序后序生成二叉树,希望对大家的复习能有所帮助。

  题目:已知二叉树的先序遍历序列和后序遍历序列,试编写生成该二叉树的算法。

  思路:先序 pre = DLR,后序 post = LRD,D表示根结点,L表示左子树,R为右子树。

  从先序出发:取先序的第一个元素pre[0]做根,第二个元素pre[1]做左子树的根(不确定也可能是右子树的根,但是先序是根左右,先认为它是左子树的根),然后去后序序列找pre[1]这个元素的下标位置i,在后序序列里,下标i到最后一个元素间没有元素,说明这个树只有一个子树(可以是左子树或右子树);有元素,那这段序列是右子树,下标i往前到post[0]是左子树。对左子树和右子树分别再这样分出根、左子树和右子树。

  算法:

  def func(pre[],post[]) {

  int index = 0;

  if(length(pre) == 0) return NULL;

  node = BinTnode(pre[0]);

  if(length(pre) == 1) return node;

  while (pre[1] != post[index]){

  index=index+1;

  }

  node->left = func(pre[1:index+1],post[0:index]);

  node->right = func(pre[index+2:n],post[index+1:n-1]);

  return node;

  }

  思考:或者从后序出发:取后序最后一个元素做根,倒数第二个元素是右子树的根A,去先序序列里找这个A的下标,这个下标往后的先序序列是右子树,往前到pre[1]是左子树,其他思路同上。

  (注:本文来自网络,如有侵权,请联系删除)

跨考考研课程

班型 定向班型 开班时间 高定班 标准班 课程介绍 咨询
秋季集训 冲刺班 9.10-12.20 168000 24800起 小班面授+专业课1对1+专业课定向辅导+协议加强课程(高定班)+专属规划答疑(高定班)+精细化答疑+复试资源(高定班)+复试课包(高定班)+复试指导(高定班)+复试班主任1v1服务(高定班)+复试面授密训(高定班)+复试1v1(高定班)
2023集训畅学 非定向(政英班/数政英班) 每月20日 22800起(协议班) 13800起 先行阶在线课程+基础阶在线课程+强化阶在线课程+真题阶在线课程+冲刺阶在线课程+专业课针对性一对一课程+班主任全程督学服务+全程规划体系+全程测试体系+全程精细化答疑+择校择专业能力定位体系+全年关键环节指导体系+初试加强课+初试专属服务+复试全科标准班服务

①凡本网注明“稿件来源:跨考网”的所有文字、图片和音视频稿件,版权均属北京尚学硕博教育咨询有限公司(含本网和跨考网)所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转帖或以其他任何方式复制、发表。已经本网协议授权的媒体、网站,在下载使用时必须注明“稿件来源,跨考网”,违者本网将依法追究法律责任。

②本网未注明“稿件来源:跨考网”的文/图等稿件均为转载稿,本网转载仅基于传递更多信息之目的,并不意味着再通转载稿的观点或证实其内容的真实性。如其他媒体、网站或个人从本网下载使用,必须保留本网注明的“稿件来源”,并自负版权等法律责任。如擅自篡改为“稿件来源:跨考网”,本网将依法追究法律责任。

③如本网转载稿涉及版权等问题,请作者见稿后在两周内速来电与跨考网联系,电话:400-883-2220