首页  考研资讯  考研专业课

2023计算机考研408数据结构知识:树和森林

      计算机考研专业课,很多学校以408为主!接下来,小编为帮助备考2023计算机考研408的学子们,在头脑中有一个专业课思维框架,特意精心为大家整理出-计算机考研408数据结构知识:树和森林,供考生参考。

2023计算机考研408数据结构知识:树和森林

2023计算机考研408数据结构知识:树和森林

一、树的存储结构

1.双亲表示法

定义: 连续空间存储,每个结点增设一个伪指针,指示双亲在数组中位置,根结点下标为0,其伪指针为-1

特点: 可以很快得到双亲,但求孩子要遍历整个结构

2.孩子表示法

定义: 将每个结点的孩子用单链表连成线性结构

特点: 求孩子很方便,求双亲不方便

3.孩子兄弟表示法(左孩子右兄弟)

定义: 左指针指向第一个孩子,右指针指向第一个兄弟,二叉链表作为存储结构

优点: 方便实现树转化为二叉树,易于查找孩子

缺点: 查找双亲麻烦,若增设parent指向双亲,会方便

二、树,森林与二叉树的转换

树转换为二叉树:左指针指向第一个孩子,右指针指向第一个兄弟,根没有兄弟,二叉树没有右子树

森林转换为二叉树:每棵二叉树的根依次作为上一颗二叉树的右子树

二叉树转换为森林:二叉树的根及左子树作为第一棵树的二叉树形态,再转换为树(右孩子变为兄弟);根的右子树及其左孩子作为第二棵树,右孩子作为第三棵树,反复下去

三、树和森林的遍历

树的先根遍历:先访问根,再从左到右遍历每棵子树,与相应二叉树的先根遍历相同

树的后根遍历:从左到右遍历每棵子树,再访问根,与相应二叉树的中根遍历相同

先序遍历森林:与二叉树先根遍历同

中序遍历森林:与二叉树中根遍历同

四、树的应用——并查集

1.3种操作

Union(S,Root1,Root2): 合并两个子集合,将根Root2连接到根Root1下,S[Root2]=Root1

Find(S,x): 查找包含x的树的根,直到找到负数为止,while(s[x]>=0) x=S[x];return x;

Inital(s): 集合S中每个元素初始化为只有单元素的子集合(所有元素赋值为-1)

2.存储结构: 树的双亲表示法,根结点下标为子集合名,根结点的双亲结点为负数,大小为子集合结点数量

      综上是“2023计算机考研408数据结构知识:树和森林”,希望对计算机考研者们有所帮助!世界上唯一可以不劳而获的就是贫穷,唯一可以无中生有的是梦想。没有哪件事,不动手就可以实现。世界虽然残酷,但只要你愿意走,总会有路;看不到美好,是因为你没有坚持走下去。人生贵在行动,迟疑不决时,不妨先迈出小小一步。前进不必遗憾,若是美好,叫做精彩;若是糟糕,叫做经历!加油!

热门专题

相关信息



关于文都 | 联系文都 | 文都招骋


24小时客服热线:4008627098 / 

在线客服

拨打电话

在线咨询