2017年考研计算机统考408真题总结
本次考试共有4道选择题。下面针对每道题进行解析和总结。
1. 第一道题是关于函数的时间复杂度。题目给出了一个函数func(int n),要求找出其时间复杂度。根据函数的实现可以看出,函数中有一个while循环,循环条件是sum小于n,循环体中sum的值每次都等于变量i的值。而循环条件中sum的值在每次循环中没有改变,所以该循环最多执行n次。因此,这个函数的时间复杂度是O(n)。答案是C。
2. 第二道题是关于栈的叙述。题目中给出了4个叙述,要求判断哪个是错误的。根据栈的特点和定义,我们可以知道以下几点:
I. 采用非递归方式重写递归程序时必须使用栈。这个是对的,因为在递归过程中系统会用栈保存每次递归调用的返回地址等必要信息。
II. 函数调用时,系统要用栈保存必要的信息。这个也是对的,就像上面提到的,函数调用时系统会用栈保存必要的信息。
III. 只要确定了入栈的次序,即可确定出栈次序。这个也是对的,因为栈的操作是先进后出,所以只要按照入栈的次序进行出栈操作即可。
IV. 栈是一种受限的线性表,允许在其两端进行操作。这个也是对的,栈的操作是只允许在栈顶进行插入和删除操作。
综上所述,错误的叙述是B.仅 I。
3. 第三道题是关于压缩存储稀疏矩阵的存储结构。题目给出了4种选项,要求选择两种适用于压缩存储稀疏矩阵的存储结构。根据常见的矩阵压缩存储结构,我们可以知道以下几点:
A. 三元组表是最常见和常用的一种压缩存储稀疏矩阵的结构,它可以有效地存储矩阵中非零元素的位置和值。
B. 邻接矩阵是一种特殊的稀疏矩阵,它可以用于表示图的关系。
综上所述,适用于压缩存储稀疏矩阵的两种存储结构是A.三元组表和十字链表。
4. 第四道题是关于非空二叉树的条件。题目给出了一个条件,要求判断是哪种情况。根据二叉树的定义我们可以知道,非叶结点的度等于其子树的个数。而先序序列是根节点-左子树-右子树的顺序,中序序列是左子树-根节点-右子树的顺序。所以,如果一棵非空二叉树的先序序列与中序序列相同,那么树中所有非叶结点的度都为1。
综上所述,要使一棵非空二叉树的先序序列与中序序列相同,其所有非叶结点须满足条件C.结点的度均为 1。
综上所述,本次考试的4道选择题从栈的相关知识到时间复杂度和数据结构的存储方式都涵盖了计算机基础知识的一些重要部分。这四道题目综合考察了对计算机基础知识的理解和应用能力,对考生的计算机基础知识进行了一定的考核。