资源描述:
《北航自主招生考试题目.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.....第一部分 数据结构一、是非判断题(本题共10分,每小题各1分)(对于下面给出的论述,你认为正确,请在小题后的括号中填入符号√,否则,填入符号×)1.对算法进行分析的目的是为了提高算法的质量。( )2.一般情况下,双向链表比单向链表要占用更多的存储空间。( )3.将插入与删除操作限制在表的一端的线性表被称为堆栈。( )4.完全二叉树不一定是满二叉树,满二叉树一定是完全二叉树。( )5.利用二叉树的前序遍历序列和后序遍历序列一定可以构造出一棵二叉树。( )6.邻接表中边结点数目为偶数的图一定是无向图。( )7.拓扑排序不是检测有向图中
2、是否存在回路的惟一方法。( )8.采用折半查找的线性表只要求表中元素按值的大小有序排列就可以。( )9.对具有n个元素的序列进行插入排序,排序的总趟数为n-1。( )10.无论什么情况,快速排序法比其他排序法的时间效率都要高。( )二、填空题(本题共15分,每小题各1分)1.若长度为n的线性表采用顺序存储结构,当不溢出时,在其第i个位置(1≤i≤n+1)插入一个新的数据元素之前需要依次移动( )个元素的位置。2.在非空双向循环链表中由q指的链结点前面插入一个p指的链结点的过程对应的语句依次为:p->rlink=q;p->llink=q->l
3、link;q->llink=p; ( )。(空白处为一条语句)3.在实际应用中,当堆栈的最大长度难以估计时,堆栈最好采用( )存储结构。4.若a,b,c,d是初始为空的队列的输入序列,则此时该队列的输出序列是( )。5.若具有n个结点的二叉树采用二叉链表存储,则链表中有( )个指针域存放着NULL。6.已知二叉树的前序遍历序列为ABDCEFG,中序遍历序列为DBCAFEG,其后序遍历序列为( )。7.采用“逐点插入法”建立序列(54,28,16,34,73,62,95,60,26,43)的二叉排序树后,在该二叉
4、排序树中查找到数据元素62时一共进行了( )次元素之间的比较。8.在一个图中,所有顶点的度数之和等于所有边数的( )倍。9.具有n个顶点的有向图最多有( )条边。10.具有n个顶点的无向连通图采用邻接矩阵表示,邻接矩阵中至少有( )个非零元素。11.将数据元素2,4,6,8,10,12,14,16,18,20依次存放于一个一维数组中(设数组下标从0开始),然后采用折半查找方法查找元素12,被比较过的数组元素的下标依次为( )。12.若一个待散列存储的线性表为K=(18,25,63,50,42,32,9,45),散列函数为H(
5、k)=kMOD9,则与元素18发生冲突的元素有( )个。13.若对序列(1,2,5,3,4)采用泡排序法按元素值从小到大进行排序,则整个排序过程中进行的元素之间的比较次数为( )。14.若对序列(tang,deng,an,wang,shi,bai,fang,liu)采用选择排序法按字典顺序进行排序,则第三趟排序结束时序列的状态是( )。15.设有10000个元素组成的序列,希望尽快挑选出其中前10个(仅挑出前10个!)最大值元,在不改变已有算法结构的前提下,插入排序法、快速排序法、堆积排序法和泡排序法这4种排序算法中,最合适的是(
6、 ).....c.....。三、综合题(本题共15分,每小题各5分)1.证明:具有n个结点的非空满二叉树,其叶结点的数目为(n+1)/2。2.已知某带权连通图采用邻接矩阵存储,邻接矩阵以三元组表形式给出。邻接矩阵下三角形部分的元素(不包括主对角线上元素)对应的各三元组分别为),µ),(5,2,4),(5,3,µ(2,1,7),(3,1,6),(3,2,8),(4,1,9),(4,2,4),(4,3,6),(5,1,(5,4,2)。请分别画出该连通图所有可能的最小生成树。3.已知散列函数为H(key)=(key%3)MOD11,散列地址空间为[0..10]
7、,并且采用线性探测再散列法处理冲突。请画出在初始为空的散列表中依次插入22,41,53,8,46,30,1,31,66以后散列表的状态。四、算法设计题(本题10分) 结点的祖先定义为从根结点到该结点的所有分支上经过的结点。 已知非空二叉排序树采用二叉链表存储结构,链结点构造为lchild datarchild, 根结点指针为T。请写一非递归算法,依次打印数据信息为item的结点的祖先结点。设结点的数据信息分别为整数,并且假设该结点的祖先结点存在。第二部分 C语言程序设计五、单项选择题(本题共20分,每小题各1分)1.一个C语言程序是由(
8、)。A.一个主程序和若干个子程序组成 B.函数组成C.若干过程组成