真题讲解18年软专真题讲解:先序和中序画二叉树&出栈&插入排序
Posted 丽娃软工考研
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了真题讲解18年软专真题讲解:先序和中序画二叉树&出栈&插入排序相关的知识,希望对你有一定的参考价值。
撰稿 | 康康哥
编辑 | 丽丽姐
康哥答疑微信:liwaRG
本文由华师软工博士学长原创
离考研上场还有14天,
考研进入了最后的复习冲刺阶段,
一起来看下镜头中的华师大有多美~
师大进门直走,过了丽虹桥,就能看到校训:“求实创新,为人师表” ▲
闵行的樱花 ▲
还有今年实验室毕业硕士们的offers ▲
师大,在这里等你。
上期我们讲解了18年试卷的简答题1、2,本期将会分析18年试卷的简答3、4、5题。
华东师大软专真题讲解(14)
先序和中序画二叉树&出栈&插入排序
大家好,我是华师康哥,软工博士在读:
在这里,我会给大家逐一讲解华师软工专业课的真题,希望能给小伙伴们带来一些帮助。
上期我们讲解了18年试卷的简答题1、2,本期将会分析18年试卷的简答3、4、5题。
简答题 3
通过先序和中序,能不能画二叉树,并解释为什么能画出来,并画出二叉树,再问先序和后序能不能画出?给出解释说明。
假设已有二叉树
先序遍历为 { 1、2、4、7、3、5、6、8 };
中序遍历为 { 4、7、2、1、5、3、8、6 };
根据先序的从前往后查找确定根结点,根据中序确定根结点的左右子树。
由先序遍历得二叉树的根结点为1,左右子树为,左子树 {4,7,2},右子树 {5,3,8,6}
回到先序遍历观察左子树的根结点为2,{4,7}都为左左子树,而右子树为根结点为3,右左子树为5,右右子树为 {8,6}
同样的方法,据此对 {4,7},{8,6} 确定左右子树,得到整棵树如下:
然而由先序序列和后序序列不能唯一确定一棵二叉树。
简答题 4
给出顺序15个整数和出栈序列,让解释每次出栈前的栈内状态,并计算栈最少容量。
栈(stack)又名堆栈,它是一种运算受限的线性表。
其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
例如:有一个数列(23,45,3,7,3,945)
我们先对其进行进栈操作,则进栈顺序为:23,45,3,7,3,945(放盒子)
我们再对其进行出栈操作,则出栈顺序为:945,3,7,3,45,23(盒子中拿)
为了方便,我们通常做到:出栈后不再进栈。
进栈出栈就像一个盒子,先一个个放入盒内,而拿出的时候只有先从上面拿,才能再拿下面。
简答题 5
解释直接插入排序的原理,对给出的序列进行直插,写出过程,解释某个元素插入对比次数。
在日常生活中,经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中。
例如:一组从小到大排好顺序的数据列{1,2,3,4,5,6,7,9,10},通常称之为有序列,我们用序号1,2,3,…表示数据的位置,欲把一个新的数据8插入到上述序列中。
原理:
完成这个工作的步骤:
① 确定数据“8”在原有序列中应该占有的位置序号。数据“8”所处的位置应满足小于或等于该位置右边所有的数据,大于其左边位置上所有的数据。
② 将这个位置空出来,将数据“8”插进去。
直接插入排序(straight insertion sort)的做法是:
每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。
假设{20,30,40,10,60,50}中的前3个数已经排列过,是有序的了;接下来对10进行排列。
示意图如下:
图中将数列分为有序区和无序区。
我们需要做的工作只有两个:
(1) 取出无序区中的第1个数,并找出它在有序区对应的位置。
(2) 将无序区的数据插入到有序区;若有必要的话,则对有序区中的相关数据进行移位。
好了,下面我就要和你聊聊向往的华师科研生活了。
大家都知道,理工科同学在读研的过程中都会进实验室。
不同的学科会有不同的科研任务,实验室的直接负责人便是你的导师,导师来安排你的科研方向,和你共同商量以及完成科研成果。
那么考研的复试,面试便是考量一个学生是否有科研能力的过程。
想必大家都知道,发论文对于研究生来说是一个重要环节,尤其对于走学术道路的同学来说,好的论文决定了你科研生涯的走向。
如果你在本科期间有参与过论文的发表或者重大项目的完成,那在复试阶段是不是就会更有信心呢?
康哥所在实验室是华师大人工智能实验室,主要的研究方向是计算机视觉(CV)、机器学习、自然语言处理NLP、机器人科学,深度学习,强化学习等。
如果你对人工智能较为感兴趣。
如果你本科是CS、SS、EE、ME、数学等专业方向。
如果你有较为扎实的编程功底。
如果你具有良好的独立解决问题能力、团队合作和沟通能力。
欢迎明年复试前后与我联系~
康哥会领你入门哦!
【模拟考试】
【真题讲解】
【初试必读】
考华师 · 看丽娃
以上是关于真题讲解18年软专真题讲解:先序和中序画二叉树&出栈&插入排序的主要内容,如果未能解决你的问题,请参考以下文章
pascal给出一棵二叉树的中序与后序排列。求出它的先序排列(帮忙解释一下程序)