计算机考研专业课复习科目包括数据结构、操作系统、计算机组成原理、计算机网络四门课程。其中数据结构这一科目兼具理论与实践,要求同学们在复习过程中不仅要对教材的基本概念进行记忆,同时还要结合知识点掌握相应的实际操作知识。为帮助同学们在计算机专业课复习上卓有成效,中公考研将为同学们整理全面的考点梳理,今天为大家带来的是数据结构的相关内容,请同学们适当参考,结合自身实际在全面复习的基础上进行重点理解记忆。
1.顺序存储结构
用一组连续的存储单元(一维数组)存储二叉树中元素,称为二叉树的顺序存储结构。描述如下:
#define maxsige 1024 //二叉树结点数最大值//
typedef datatype sqtree [maxsize];
若说明sqtree bt; 则( bt[o] bt[1] … bt[maxsize-1])为二叉树的存储空间。每个单元bt[i] 可存放类型为datatype的树中元素。
2.链式存储结构
二叉结中结点的一般形式为:
lchild
data
rchild
遍历的递归算法
void preorder( BTptr T) //对当前根结点指针为T的二叉树按前序遍历//
{
if (T) { visit(T); // 访问T所指结点 //
preorder(T–>Lchild); //前序遍历T之左子树//
preorder(T–>Rchild); //前序遍历T之右子树//
}
}
void Inorder (BTptr T) //对当前根结点指针为T的二叉树按中序遍历//
{
if (T) { Inorder( T->Lchild); //中序遍历T之左子树//
visit(T); //访问T所指结点//
Inorder(T->Rchild); //中序遍历T之右子树//
}
}
void postorder ( BTptr T) //对当前根结点指针为T的二叉树按后序遍历//
{
if (T) { postorder(T–>Lchild); //后序遍历T之左子树//
postorder(T–>Rchild); //后序遍历T之右子树//
visit(T); //访问T所指结点//
}
}
从上述三个算法中看出,若抹去 visit(T)语句,则三个算法是一样的,可以推断,这三个算法的递归路线是一致的(走的线路是一样的,只是对结点的访问时间不同而已,前序是第一次碰到就访问,中序是第一次返回时访问,后序是第二次返回时访问。
数据结构在计算机学科专业基础综合试卷中占有较高的分值比重,因此是计算机专业课复习的重点科目,中公考研建议同学们在复习过程中能够广泛参考复习资料,同时结合自身的复习情况,找准方法,取得复习的超高效率和良好效果。