2010北航研究生数据结构与C语言考试真题及答案解析

5星 · 超过95%的资源 需积分: 9 18 下载量 195 浏览量 更新于2024-09-15 1 收藏 131KB PDF 举报
"2010年北航研究生数据结构与C语言程序设计991真题与答案" 这篇摘要提供的是2010年北京航空航天大学(北航)研究生入学考试的数据结构与C语言程序设计科目(代码991)的试题及答案。这份资料对于准备考取北航相关专业研究生的学生来说是非常有价值的复习材料,尤其是对于2011年的考生,因为它是最近一年的真题。 试题包含了单项选择题和简答题两个部分,涵盖了数据结构和C语言的核心概念。以下是一些具体的知识点: 1. 双向循环链表:题目中提到的链表结构包含`llink`和`rlink`指针,表示前驱和后继节点。插入操作涉及修改四个指针关系,正确答案是C,这要求考生理解链表的内部结构和插入操作的逻辑。 2. 队列操作:队列的删除操作在链式存储结构下,如果队列非空,则可能需要同时修改队头和队尾指针。选项D表明了这种可能性。 3. 中缀表达式转后缀表达式:此题考察了运算符栈的运用,处理E时,栈中保留的运算符应该是在E之前的运算符,因此答案是D。 4. 完全二叉树:根据完全二叉树的性质,如果第七层有10个叶节点,最大节点数为B选项的74个。 5. 有向图的邻接表:邻接表是图的存储结构,k条边意味着邻接表中至少有k个边结点,因此答案是B。 6. 拓扑排序:拓扑排序仅适用于无环有向图,所以答案是D。 7. 折半查找:在一维有序数组中,最多需要log2(100)+1=7次比较找到目标元素,所以答案是A。 8. 散列函数:评价散列函数好坏主要看其能将元素均匀分布到散列表中,答案是C。 9. 选择排序法:选择排序每次从未排序元素中选取最小(或最大)的一个元素放到已排序序列的末尾,答案是D。 10. 堆积排序:堆积排序的趟数是n-1,因为最后一次排序将堆顶元素与最后一个元素交换,答案是A。 这份资料中的试题涵盖的知识点包括链表操作、队列操作、表达式转换、二叉树属性、图的存储结构、搜索算法、排序算法以及散列函数等,这些都是数据结构与C语言编程中的基础和核心内容。通过这些题目,考生可以检验自己在这两门课程中的理解和掌握程度,并针对性地进行复习和提升。