需要的小伙伴私信。
粉丝1216获赞2898

大家好,今天由我来为大家讲解数据结构与算法第六章的习题。本章共有两道算法设计题,要求设计求解下列问题的类似语言算法。 下面我们分别来讨论这两道题目。第一题,编写算法,在以二叉链表存储的二叉数中求度为二的节点的个数。 什么样的节点是度为二的节点呢?在树中,节点的度是指其孩子节点的个数 度为二,说明节点具有两个孩子,其左右指针皆不为空。例如图中所示的二岔数 节点 a 节点 b 的左右指针皆不为空,他们的度都是二。那么如何求出二岔数中所有度为二的节点呢? 我们可以设置一个计数器 number, 用来计算度为二的节点的个数。便利数中的节点没法问到一个节点判断其左右指针是否接不为空,若是,则计数器 number 的值加一。 下面我们来看代码函数 degree to 是用来计算以 root 为根的二岔数中度为二的节点的个数。计算的结果用参数 number 带回给主调过程 two 是用鲜蓄便利的思想实现的。如果入特为空,则函数不做任何处理返回。如果入特不为空,则先访问根结点, 用 f 语句判断 root 的 l child r child 指针是否皆不为空,事则该节点的度为二。 number 直加一。 访问完根结点地规的调用 degree to 分别便利入特左指数与右指数, 这是利用先序便利实现度为二的节点的数目的统计。那么利用中序后续便利是否也能实现统计 呢?也是可以的,因为访问节点的顺序不影响统计的结果,所以本题也可以采用中序后续便利来实现。 下面我们来讨论第二题。编写算法。在以二叉链表存储的二叉竖中实现交换二叉竖中各个节点的左右指数。 交换节点的左右指数。只需将节点的左右孩子指针进行交换, 函数称之,用来实现将以入特为根的二岔数中所有节点的左右子数进行交换。这显然是一个先序便利的算法。当判断入特部 为空时,访问跟 rut, 借助辅助指针 p, 将 rut 的 l child 与 r child 进行交换, 然后地规的调用称之,分别便利入腿的左右子数,以实现对其左右子数中各个节点进行处理。 例如调用称指函数处理图一中所示的二岔数,因为数根不空,访问根结点 a, 将其 l child 与 l child 进行交换,得到图 r。 接下来 d 规的调用称着便利 a 的左子数及以 e 为根的数。访问 e 节点,交换 e 的 l child 与 r child, e 的 l child 与 r child 都是空指针。访问过一节点之后,地规的调用卷子便利 e 的左指数, e 的左指数数,空数返回。 立规的调用称子便利一的柚子数,一的柚子数也是空数返回,所以一为根的数就便利完成了几 a 的镯子数便利完成 接下来调用称之便利 a 的柚子数及便利以 b 为根的数。 发文节点 b, 交换 b 的 l child 与 r child, 得到图三 d 规的调用 change 便利 b 的左子数以及右子数。完成对以 b 为根的数的处理,返回到以 a 为根的数。对于以 a 为根的数来说,便利结束。算法最终处理的结果就是图三所示的数。 以上是利用先序便利的方法实现了二岔数中所有节点左右指数的交换,那么利用其他便利顺序是否也可以实现本题呢? 先讨论利用后续便利交换子数。后续便利思想是,当数为空时,先便利根的左子数和右子数,再访问根结点,交换根结点 点的左右指针。后续便利图一中的二岔数的节点访问顺序是, c、 d、 b、 e、 a、 节点 c 和节点 d 的左右指针接为空,交换其左右指针。处理结果还是图一。访问节点 b 交换其左右指针,得到图二 节点 e 的左右指针皆为空,交换其左右指针,结果人为图二。最后访问节点 a 交换其左右指针,得到图三。可见,后续便利也可以实现本题的要求。 最后讨论中序便利是否可行。中序便利先要便利跟节点 a 的左子数 l, 将 l 中节点进行左右子数交换,继而访问 a, 将 a 的左右指针进行交换,得到右图,即已经处理过的 a 的子数 l 变成了 a 的柚子数。 接下来,便利 a 的柚子数,已经处理过的 l 又会被再次处理而上位得到处理的子数而始终未被处理。 可以看出,中序便利无法实现本题。以上是第二题的讲解好今天的内容。






大家好,这里是烤红薯。烤红薯专注考研二十年,现在给大家展示的是山东科技大学八幺五数据结构与操作系统的考研专业课资料, 是由高分学长紧扣新考钢编写整理的,让大家复习备考更省时得力。 资料一共有三本。第一本资料里有山东科技大学数据结构与操作系统考研真题数据结构与操作系统考研真题答案。 第二本资料里有山东科技大学数据结构考研学长整理手抄版笔记。数据结构考研复习重点整理数据结构习题和答案数据结构模拟题和答案。 数据结构重要知识点会编数据结构重难点提及和答案。 第三本资料里有山东科技大学操作系统复习重要整理笔记操作系统重点知识总结和答案。操作 系统重点知识总结整理资料操作系统复习资料 cpu 调度算法习题。 除了这三本以外,还有赠送电子资料。电子资料有数据结构思维导图、一千八百题和答案、考研模拟卷、操作系统期末试题学习指导与题解等。 大概看一下这三本资料加起来的厚度。学习很酷,坚持很酷!陪你一起奋斗的烤红薯,将来的你一定会 感谢现在拼命学习的自己。资料暂时介绍完了,有什么不懂的问题可以留言哦。烤红薯祝同学们考研一战成硕!

计算机专业这些老师的课,你可一定要去听一、数据结构青岛大学王卓老师江湖流传一句话,数据结构,我只看王卓你就知道这种课程有多么传奇了! 整套课程理论结合实际,清晰易懂,甚至有很多二刷三刷的同学,很适合零基础的同学哦。计算机组成原理哈尔滨工业大学刘胡伟老师,逐渐一百三十五节课,他腐败了,高清讲义,他的课不仅适合考研人,也非常适合初学者, 一点五倍速实用最佳哦!第三操作系统南京大学讲妍妍老师,男大的课,课程质量真适应,老师把晦涩的东西讲的非常通俗易懂, 看完果然开朗,很多同学都是慕名而来,大家表示头一次追课比追剧还起劲,以上课程小破绽都可以看,还愣着干嘛,赶紧上课去吧!

好,我们再来看一下我们的三杠十一。三杠十一在做的时候呢,很多的同学呢,都觉得三杠十一稍稍有点问题,为什么呢?因为这个中间出现了多个核载,多种核载。 那么和我们之前的方法一样。首先呢,我们按照给定的特征来绘制他的一个分段点。好,第一个分段点起点对吧?从左往右的特征起点。然后第二个分段点呢,第一个是做出第三个分段点,第一个立的位置啊,第四个分段点在这边。 那第五个分段点在呃,先在这边吧,啊君不和在的末段。然后完了呢,第六个分段点在在这个位置,第七个分段点在这个位置啊,在这个位置。 第八个分担点在这个位置。然后第九个分担点在这个位置啊,第十个分担点 在这个位置啊,一共十个。呃,分担点对吗?不对,因为我们这边还漏掉了啊,漏掉了均不喝在的这个分担点啊,这个分担点不能漏啊。然后完了呢。在这个里面呢,我要请大家稍稍注意一下这个题目呢,这位同学抄题目的时候呢,抄错了,在这个位置 啊,也就是我的这个分段点的呃,地方和在哎和在这个位置。 在这个位置呢,是两个角。如果说没有这两个角,这个题当将是无法解的,有了这两个角才可以解好。通过分析 通过分析我们可以知道这个题目呢,实质上他的层次结构关系呢是这样,中间呢, 中间呢,他实际上是一个链杆。那么中间的时候呢,他这个力啊,这个和这个呢,我们可以看成是一层。呃,这个层次关系呢, 他是这样的一个呃关系好,这个集中力作用在呃胯中位置,然后左右两个角,然后完了呢,他的左端啊,他的左端 啊,这是右端,我说错了吧,这是右端。右端呢,是一个梁,这个梁呢,依靠两个之作和 dg 相连啊,同样的道理,他的左端呢,也是一个呃,这样的一个梁,这个梁呢,他的右端呢,和第呃他通过两个之作和 dg 相连。那么所以说 这个层次结构呢,就是这样的一个层次结构。按照这个层次结构,我们可以知道第一层的受力,第一层的受力,这是一个标准的,标准的图形对吧?标准的图形,这是一个标准的呃呃,减质量的一个,他的一个弯距图啊, 标准的减脂量的玩具图。那么我现在呢,我把这个特征,我把这个特征放到下面了,我直接来画啊,直接来画画的延长这一段啊,延长这一段,那么他的特征我就直接拉过来啊,直接拉过来,拉到这 好,这是中间第一个层次关系的。那么接下来我们看第二个层次关系。我们注意啊,左右两个结构,左右两个结构,其中右边这个结构上不受力,不受力我们最好解决。那么所以说呢,我们沿用之前的这一段,因为不受力, 所以说只要知道这个力和制作之间没有力,那么我们过脚的这个呃弯距呢,可以反向延长,反向延长到这,那么这个值是多少?四分之一 fl, 那么这是二四乘二,那么四分之一六, 再乘以四,所以说这个结果就是个六啊,这个值就是一个六,这个值是一个六啊。呃,我写的有点远,但是呢,请大家注意这是一个六,所以说在这个情况下,他也是个六 啊,他也是个六啊,这个就是他的一个特征。然后完了呢,我们再来看他的。呃,右端右端在这个位置注意一下,大家注意一下这个位置是个什么? 这个位置是一个选鼻梁吧,选鼻梁上受力吗?不受力,不受力那就相当于没用啊。所以说我们画的时候这一段的弯距图是直接拉到这 这个角,直接拉到这个角,因为悬臂梁不受力,他就没有弯距图产生。所以说我们这个六直接拉到这个分段点就可以了。拉出来一个呃 直线,因为我们这是零,这是六,那么中间没有合在直接拉一条直线,并且这是直线的,是一条实线。那么接下来我们处理左边,处理左边的时候,我们注意左边刚才说这是一个悬壁梁,那么这个位置呢,也是一个悬壁梁,按照悬壁梁的特征,我们拉过来二二得四, 所以说这个核载就是一个四啊,这个核载就是一个四。那么在这样的一个情况下,我们把这一段搞定啊, 这一段搞定,然后这个中间呢,二到这个位置呢?二,第二个分段点到第三个,呃,第四个分段点之间呢,他有受到一个集中力的作用,那么集中力的作用是六,我们也可以直接做出来啊。这是一个标准的玩具图 啊,标准的减质量。那么我们比较麻烦的地方就是在这边二 ql 啊,啊,就是这个 q, 就是两千牛美米的这个核载。那么这个核载怎么处理呢?首先我们假如说这一段没有这个两千牛的话,是不是我们就是把这一段反向延长到了这个位置,也是一个六 对不对?那么现在呢?是不是有了这一段,那么有了这一段之后,我们需要把这一段叠加上去,那么叠加的过程呢?大家一定要记住,我看作业的时候很多同学没有叠加的这一步。叠加的这一步是什么呢?你这个位置直接作用在这,那是不是就是一个选碧良啊, 大家看一下是不是就是这个悬壁梁上承受均不合载作用,哎,反了啊。大家看一下是不是就是这个在这个悬壁梁上 承受均不合在作用是不是?如果说大家把这个内容搞清楚了的话,我相信呃肯定就没问题了啊。 啊,大家把这个内容搞清楚了的话,我相信肯定就没问题了啊。为什么呢?悬壁梁作用在这,那么他 对我们的这个这个分担点的影响是什么呢?就是二分之一 ql, 但是注意这是一个曲线啊,这是一个曲线,那么所以说在这样的一个情况下,我们要把它画成曲线 虚线,然后完了呢?二分之一 ql 平方二分之一 ql 平方二分之一乘以二,那么底下 l 平方二,二得四。所以说在这样的一个情况下注意是什么呢?这是个六啊,这是原来传过来的,然后完了呢?我们均不 火仔作用的地方还有一个,还有个什么呢?二的四,那么这边只是个四啊四,那么总共的呢?就是个十。但是千万千万要注意在这个里面呢,我们要把这个做成一个虚线, 呃,做成一个曲线段,一定要把这个叠加的痕迹保留,一定要把这个叠加的痕迹保留, 大家千万要记住把叠加的痕迹保留啊。叠加的痕迹保留,那么就是说六加四等于十十,然后完了。在这个胯中位置要有一个向下的百分之一 q l 平方啊。在这个胯中位置有一个向下的百分之一 q l 平方啊。 大家一定要注意,我们很多的同学,这一段没有叠加痕迹,没有叠加痕迹,你这个东西呢,我不敢认为是你自己做的啊。好好 在这样的一个情况下,因为我现在呢遇到了一个小小的技术的问题,就是我在这个位置,这个四放的比较靠近了,然后完了呢,呃,软件自动最终最终到他的那个呃那个什么的位置了啊,那个那个那个那个那个叫 那个叫那个四的这个字的位置了。好在这一段为什么要虚线相连呢?虚线相连呢?因为我们这一段实际上他是一个,他是一个什么?他是一个。我们再回过头来啊,我们看一下,这是一个减脂粮吧,减脂粮如果说我要用叠加的话也可以 啊,你非要用分段点,那么你必须要求出来,那么这个类返利我们不知道,然后我们怎么办呢?我们就用减尺量的叠加,为什么呢?我们用叠加法就可以啊。所以在这样的一个情况下,我们按照他的一个特征, 按照他的一个特征,我用虚线连接啊,注意这个虚线,我给他一个,给他一个黄色的,呃一个记号吧,证明这是一个虚线啊,我所有的虚线位就我都把它改成黄色的吧, 这样大家啊看得清楚,很近啊。然后完了呢,在这个里面呢,我们注意一下哎,这是一个六合载,作用在二和四之间。那么在这个向下的时候我们注意啊,在这一段他向下的时候 啊,这一段他向下的时候,他的标准核载是什么呢? l 分之 a 成 b, l 分至 a 成 b, l 是六, a 乘 b 呢, a 乘 b 呢?二乘四,六分之八,六分之八再乘以六。那么最后这个向下的数值的高度,注意啊,这个数值的高度啊,这个数值的高度 应该是多少呢?我现在画出来的这个高度就应该是八对不对?这个高度是八,那么也就是在相应的位置,我的整个结构要往下拉拉多少呢啊, 往下往下拉拉的这个高度呢?我我为了为了方便啊,为了方便,我把这个地方画的稍微斜一点,然后这个高度值呢是多少? 这个高度值九十八啊,九十八。那么在这样的一个情况下,我们说我们第三个分段点位置,他的弯曲值就出来了吧,那么这是十,这是四,那么总共变化了六,那么这是 总共变化了六,长度也是六,那么四加二,这个是六,六加八,那么变到下面就是一个呃二吗?那么所以说在这样的一个过程 下,我们把它所有的连接线都连接到一起来了,这个所有的连接线都连接到一起来了。这个就是他的一个简历图啊,这个就阿伯,我说错了,这个就是他的一个玩具图,大家注意最后一段他的玩具是不存在的啊, 最后一段弯曲是不存在的。然后完了呢,我要把他的 m 图的编标志哈, m 图的标志放在前面,然后完了呢。在这个里面呢,还要注意一个重要的内容是什么呢?这个里面是不是有单位,所以说括号 啊,括号他的单位,这个 k 是小写,然后 n 是大写,然后再乘以多少,再乘以小写的弯举啊,再乘以小写的他的 m 啊,好。呃, 因为是我是用的那个什么来做的,我是用的那个呃 ppt 来讲的,可能中间有一些不到位的地方,大家请见谅啊,大家请见谅。然后他的整个玩具图的过程就是这样子一个过程,然后在我们标出所有的标志点的呃值的基础上啊,所有的标志点的基础上, 然后完了呢。我们大家要注意,根据这个图形,我们可以画出结构的简历图,根据这个图形,我们可以画出结构的简历图。那么这个简历图怎么画呢? 在这样的一个情况下,我们注意啊,弯距图和简历图它是一一对应的关系。弯距图和简历图是一一对应的关系。那么首先呢,我们搞定的是呃,搞定的是我们的第三段的那那个第三段的这呃和我们的第二层的 这个简历,第二层这个简历是标准的简历。那么我们就按他的特征来什么呢?左边啊,左右各自分半啊, 左边是这个是三,然后他的右边呢,也是也是下面的三啊,左右各各自分半。那么我们搞定,搞定完了之后,他的数字我们也写上去,这是三啊, 这是三。然后拿过来啊,拿过来,然后呃完了,这个也放下去。好,这个是三。那么同样的道理,因为这一段没有那么所以说我们这个三要一直延长到这,一直延长到这。那么完了,这是六,六完了之后注意啊,六 六弯曲是六,除以他,那么就他不是三了,这就变成了一了啊,这就变成了一了啊。 啊,拉伸到这,然后完了之后变成一啊,那个比例关系大家协调一下,但是数值呢,肯定不能写错啊,肯定不能写错啊, 数值肯定不能写错啊。然后完了呢,在这个里面呢,我们我们再从左往右看,从左往右看啊,从左往右看,然后完了。在这个里面四,首先上来是上上来的四,那么啊那么下来,呃就变成了二啊,就变成了二。在这个里面, 在这样的一个情况下,为什么呢?二下来,我们要根据和才来变啊,然后刚好这边有个二,那么在这个里面就翻过来,然后向上向上突变,向上突变,从四变化到负二,那么变化了多少?变化了六,那么距离是二,那么所以说他的大小就是三。那么我把 这边的三复制过来啊,我把这边的三复制过来,拿过来,使得他和我们的呃引出来的辅助线对称啊,一样长就可以了。然后从二又变化到了十二到十,变化了十二,十二变化的距离是四, 十二变化的距离是四。四又变成了一个向上向上的三啊,向下的三对吧,向上变化弯距,向上变化他的呃,那个就在下面啊,所以说这俩这俩都是三。看这俩都是三, 然后完了呢,在这个里面呢,我们要注意一下。那么这一段怎么处理呢?这一段怎么处理呢?我们就看他是向下变化还是向上变化。我们说按照从左往右,哎,左边有没有,没有,我们没办法做。那么右边呢?我们知道 三,那么左边呢,应该是什么?他是向下变化了,呃,均不合,仔是二,总共的向下变化了,二乘二十四。那么所以说在这个位置上有一个小小的地方要注意,这个地方要进行放大,由三变化到了多少?变化到了七,由三变化了多少?变化到了七, 好,由三变化到了七。那么这个就是完整的他的一个呃呃,简历图。那么简历图在这个里面,我我为了方便,为了方便呢,我们说把他的文字编辑出来,这是负的,然后完了呢,这个颜色呢,我变一下,变成真的啊, 变成正的。然后在这个里面,这是负的,这一段正的啊,这一段 复的,这一段正的啊,正的。然后完了呢,他的简历图就在这。那么简历的单位是什么?简历的单位是牵牛,大家一定要注意,牵牛的 k 是小写啊, k 是小写, n 是大写。然后完了,所有的都是鞋体, 这个就是我们整个的他的一个。呃,最终求解出来的一个玩具图和一个简历图。我把这个 题目再缩小一点,这个就是我们求的三杠十一的一个过程,三杠十一的一个过程。大家一定要注意。这个地方 经历了两个叠加,一个是从这边传递过来的六,另外一个呢,均不合,在产生的四,六和四的叠加得到了十。然后注意在这个位置胯中叠加的时候是八分之一二,再乘以二,八分之一二 二在呃八分之一 q 二再乘以二六平方,那么刚好是一,中间叠加的这个高度刚好是一啊。一定要注意这一段的内容哈。 三杠十一呢,可以说是我们这这个呃立体里面呃我们的作业题里面比较难的那个,但是最难的那个是三杠八啊,最难的那个三杠八。大家看一下今天发的视频,然后再自己再做一下啊。好,我要给大家讲的内容呢就到此。