一 考查目标
该科目是为招收生物物理等专业从事农业生物信息处理方向的硕士生设置的具有选拔性的考试科目。其目的是科学、公平、有效地测试考生是否具备从事程序设计和信息处理的基本素质和培养潜能。考试要求学生比较系统地掌握数据结构课程的概念、基本原理和方法,能够运用所学的基本原理和方法分析和解决生物信息处理研究中相关的理论和应用问题。具体来说,要求考生:
1.理解数据结构的基本概念,逻辑结构、存储结构及其差异,以及各种数据结构的抽象数据类型的实现。
2.能够设计数据结构中涉及到的算法,并分析算法的性能。
3.能够选择合适的数据结构和算法进行非数值类应用问题的求解。
二 考试形式和试卷结构
1.试卷满分及考试时间
试卷满分150分,考试时间180分钟。
2.答题方式
答题方式为笔试、闭卷。
3.试卷内容与题型结构
简答题 6题 每小题5分 共 30分
算法分析题 2题 每小题 10分 共20分
算法设计题 2题 每小题20分 共40分
应用题 3题 每小题20分 共60 分
三 考查内容
1.基本概念和术语
数据元素、数据结构、抽象数据类型等概念
算法设计的基本要求
算法时间复杂度和空间复杂度的估算
2. 线性表
线性表的定义和基本操作
线性表的顺序存储实现
线性表的链式存储实现
线性表的应用
3. 栈和队列
栈和队列的基本概念
栈和队列的顺序存储结构
栈和队列的链式存储结构
栈和队列的应用
4. 树与二叉树
树的概念
二叉树
二叉树的定义及其主要特征
二叉树的顺序存储结构和链式存储结构
二叉树的遍历
线索二叉树的基本概念和构造
二叉排序树
平衡二叉树
树、森林
树的存储结构
森林与二叉树的转换
树和森林的遍历
哈夫曼树和哈夫曼编码
5. 图
图的概念
图的存储结构及基本操作
邻接矩阵
邻接表
图的遍历
深度优先搜索
广度优先搜索
图的基本应用
最小(代价)生成树
拓扑排序
关键路径
最短路径
6. 查找
查找的基本概念
顺序查找法
折半查找法
B-树
散列(Hash)表及其查找
查找算法的分析及应用
7.内部排序
排序的基本概念
插入排序
直接插入排序
折半插入排序
气泡排序
简单选择排序
希尔排序
快速排序
堆排序
二路归并排序(merge sort)
基数排序
各种内部排序算法的比较
四 题型举例
1. 简答题
试比较顺序表和单链表在存贮空间以及插入和删除操作的特点
2. 算法分析题
请写出以下算法所实现的功能,算法在最好情况下和最差情况下的时间复杂度,并用大O表示法写出算法的渐进时间复杂度。
void fun1( T *A, int n)
{
for(i=1;i<n;i++)
{
temp=A[i];
j=i-1;
while(A[j]>temp && j>=0)
{
A[j+1]=A[j];
j--;
}
A[j+1]=temp;
}
}
3.算法设计题
设计一个算法用于判断两棵二叉树是否完全相同。已知二叉树结点类型定义如下:
struct bitreenode
{
char data;
bitreenode *left,*right;
};
4. 应用题
设散列表为HT[13],散列函数为H(key)=key%13,用线性探查法解决冲突,请对关键码序列(12,23,35,57,20,78,31,15,45,16)造表,并计算该散列表等概率下搜索成功的平均长度。