西北大学计算机专硕研究生入学考试历年真命题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西北大学2015年招收攻读硕士学位研究生试题(回忆版)
科目名称:数据结构科目代码:851
适用专业:计算机技术、软件工程共2页
答案请答在答题纸上,答在本试题上的答案一律无效。
一、简答 [每小题6分,共30分]
1、简述四类基本的数据逻辑关系,并用图表示。
2、简述数组、广义表属于线性表原因。
3、算法的定义及特性。
4、什么是平衡二叉排序树?平衡因子的取值范围是什么?
5、简述稳定排序含义,给出两种稳定排序方法以及两种不稳定排序方法名称并证明。
二、分析与方法选择 [每小题10分,共30分]
1、折半查找法对待查找的列表哪两个要求?
答:必须采用顺序存储结构;必须按关键字大小有序排列。
2、分析快速排序的性能(最好情况、最坏情况)。
3、关于二叉树结点度数的计算。(牢记二叉树的5条性质,会计算二叉树及K 叉树相关的计算。)
三、构造结果 [每小题8分,共40分]
1、已知一棵二叉树的前序序列及后序序列,给出其对应的二叉树。
备注:西大历年试卷都是给出前序序列、中序序列或者中序序列、后序序列,写出对应的二叉树,这种题型很好做,且结果给出的二叉树唯一。但是2015年试题给出的是已知前序序列、后序序列,求对应的二叉树,这题我们平时几乎都没做过,但是其实也不难,往往给出前序序列、后序序列,构造的二叉树不是唯一的,但是这次考题设置的巧妙,最后给出的结果二叉树应该是唯一的。这道题具体我也不记得了,反正有点难,我也花了很长时间最后才做出来的。
2、图的两种存储结构及表示、深度优先搜索遍历、广度优先搜索遍历、最小生成树的生成。
3、依次输入(26,30,15,10,28,19,18,22),构造二叉排序树,并计算等概率情况下的查找成功的平均查找长度。
4、画出10个元素的折半判定树,并计算等概率情况下查找成功的平均查找长度。
5、最小生成树生成的两种算法:普里姆算法、克鲁斯卡尔算法。
四、编写算法 [每小题10分,共20分]
1、以单链表作存储结构实现线性表的就地逆置算法,即在原表的存储空间将线性表(n a a a ,,,21 )逆置为(11,,,a a a n n )。(记得不太清楚了,反正就是耿国华《数据结构》第2章习题中的一道程序题。)
2、在中序线索树中找结点前驱(或在中序线索树中找结点后继)。(课本上的源程序。)
五、编写算法 [共15分]
这道题忘记了。反正我这道题不太会做,但是也程序写的满满的。记住即使不会做,也得写,写的满满的较好。只要你写老师都给分,估计给个10来分吧。如果你不答,空着的话,就只能得0分了。
六、编写算法 [共15分]
编写算法,实现哈希链表的存储,哈希函数是H(k)=k%p ,哈希表长为m ,p 为小于等于m 的最大素数。处理冲突的方法采用线性探测再散列。
备注:我这道题也不太会做,但是也程序写的满满的。记住即使不会做,也得写,写的满满的较好。只要你写老师都给分,估计给个10来分吧。如果你不答,空着的话,就只能得0分了。
西北大学2014年招收攻读硕士学位研究生试题
科目名称:数据结构科目代码:852
适用专业:计算机技术、软件工程共2页
答案请答在答题纸上,答在本试题上的答案一律无效。
一、简答 [每小题6分,共30分]
1、简述四类基本的数据逻辑关系,并用图表示。
2、特殊矩阵的压缩原则有哪些?
3、什么是平衡二叉排序树?平衡因子的取值范围是什么?
4、具有n个结点的k叉树,若采用k叉树链表存储,则空链域有多少个?(写出求解步骤)。
5、递归进层时需要做哪些事?
二、分析与方法选择 [每小题10分,共30分]
1、在10000个元素中,欲找出10个最大的元素,采用哪些排序方法较好。简述原因。
2、在一个连通无向图上,欲求顶点vi到顶点vj(vj
vi )的最短简单路径,应
采用深度优先遍历还是广度优先遍历?简述原因。
3、分析冒泡排序的性能(最好情况、最坏情况)。
三、构造结果 [每小题6分,共30分]
1、已知一棵二叉树的前序遍历的结果是ABDCEGF,中序遍历的结果是BDAEGCF,试画出这课二叉树,并将其转换为相应的森林。
2、假设T是一棵高度为5的二叉树,T中只有度为0和度为2的结点,给出:
(1)T树可能的最大结点数,并画出这样的一棵二叉树。
(2)T树可能的最小结点数,并画出这样的一棵二叉树。
3、依次输入(26,30,15,10,28,19,18,22),构造二叉排序树,并计算等概率情况下的查找成功的平均查找长度。
4、画出10个元素的折半判定树,并计算等概率情况下查找成功的平均查找长度。
5、已知关键字集合:{50,52,85,22,96,17,36,55},以第一个关键字中轴元素,写出一趟快速排序的结果。
四、编写算法 [每小题10分,共30分]
1、编写算法void Adjust(LinkList L),其功能是:以第一个元素为基准,将小于该元素的结点全部放到前面,大于该元素的结点全部放到其后。
2、要求循环队列不损失一个空间全部都能得到利用,设置一个标志域tag,以tag为0或1来区分头尾指针相同时的列状态的空与满,请编写与此结构相应的出队算法。
3、二叉树采用二叉链表结构存储,编写算法实现统计二叉树中的结点个数。
五、编写算法 [共15分]
二叉树采用二叉链表结构存储,编写实现二叉树后序线索化的算法。
六、编写算法 [共15分]
编写算法,由依次输入的顶点数、弧数和各顶点信息、弧信息建立有向图的邻接表存储结构。