《2011专升本插班生《数据结构》试卷(共7页).doc》由会员分享,可在线阅读,更多相关《2011专升本插班生《数据结构》试卷(共7页).doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上韩山师范学院2011年专升本插班生考试试题计算机科学与技术 专业 数据结构 试卷 (A卷)题号一二三四五六七八总分评卷人得分一、单项选择题(每题2分,共40分)题号12345678910答案题号11121314151617181920答案1、下列选项中不是算法的必须具有的重要特性的是 。A. 有穷性 B. 正确性 C. 确定性 D. 可行性2、下列关于算法渐近阶表达式中,时间复杂度最高的是 。A. 5n2 B. n3/2 C. 2n D. nlogn E. n2 3、数据是对客观事物的符号表示,在计算机科学中,数据的含义广泛,如图像、声音等都属于数据范畴,数据不意义的
2、最小不可分割的单位是 。A.数据元素 B.数据对象 C.数据结构 D.数据项 E. 位4、下列有关线性表的叙述中,正确的是 。A.线性表中的元素必须具有相同的特性 B.线性表中的元素都有且仅有一个直接前驱 C.线性表中的元素都有且仅有一个直接后继D.以上表述都不正确5、在一个长度为n有序的链式存储的线性表中插入一个元素,使其保持有序,其操作的时间复杂度是 。A. O(n) B. O(1) C.O() D.O(n2)6、关于线性表的结点的存储地址表述正确的是 。A. 必须是不连续的 B连续与否由其存储方式确定C必须是连续的 D和头结点的存储地址相连续 7、如下陈述中正确的是 。A串是一种特殊的线
3、性表 B串的长度必须大于零C串元素中的字母不区分大小写 D空串与空格串是相同的概念8、数组的逻辑结构不同于下列 的逻辑结构。A. 线性表 B.栈 C. 树 D. 队列9、设 S 为一个长度为 n 的字符串,其中的字符各不相同,则 S 中的互异的非平凡子串(非空且不同于S本身)的个数为 。 A2n-1 Bn2 C(n2+n)/2 D(n2+n)/2-1 E. (n2-n)/2-1 F.以上都不对10、中缀表达式 (A + B) * D + E / (F + A * D) + C的后缀形式是 。A. A BDEFAD C +*+ / +*+ B. D *A B + E F A D * + / +
4、C + C. +*+ / +*+A BDEFADC D. A B + D * E F A D * + / + C +11、链表不具有的特点是 。A插入、删除不需要移动元素 B可随机访问任一元素 C不必事先估计存储空间 D所需空间与线性长度成正比12、在一个图中,所有边数等于所有顶点的度数之和的 倍。A.1/2 B.1 C.2 D.413、设某棵二叉树中有2000个结点,则该二叉树的最小高度为 。A.10 B.11 C.12 D.1314、设某棵二叉树的中序遍历序列为BGDAECHFI,前序遍历序列为ABDGCEFHI,则后序遍历该二叉树得到序列为 。A. GDBAECHFI B. IHGFED
5、CBAC.GDBECHIFA D. GDBEHIFCA15、已知广义表L=(x,y,z),a,(u,t,w),从 L 表中取出原子项 t 的运算是 。 A. head(tail(tail(L) B. tail(head(head(tail(L) C. head(tail(head(tail(L) D. head(tail(head(tail(tail(L))16、设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为 。A top=top-1 B. top=top-nextC. top-next=top D. top-next=top-next17、设森林 F 中有三棵树,第一,第二
6、,第三棵树的结点个数分别为 n1,n2 和 n3。则与森林 F 对应的二叉树根结点的右子树上的结点个数是 。A. n1+n2 B. n1+n3 C. n2+n3 D. n1+n2+n318、设一组权值集合W=2,3,4,5,6,则由该权值集合构造的哈夫曼树中带权路径长度之和为 。A. 430 B. 45 C. 50 D. 5519、设无向图的顶点个数为 n,则该图最多有 条边。 An-1 B n C n(n-1) Dn(n+1)/2 En(n-1)/220、在二叉排序树中插入一个关键字值的平均时间复杂度为 。AO(1ogn) B.O(n) C. O(nlogn) D. O(n2)。二、名词解析
7、(每题3分,共6分)1、平衡二叉树:2、哈夫曼(Huffman)树:三、填空题(每空2分,共18分)1、在完全二叉树的第6层上最少有_个结点,最多有_个结点。2、普里姆(Prime)算法的时间复杂度为_,它对_图较为适合。3、顺序查找 n 个元素的顺序表,若查找成功,则比较关键字的次数最多为_ 次;当使用监视哨时,若查找失败,则比较关键字的次数为 。4、设有一组初始记录关键字序列为(49,38,65,85,97,76,13,90,27,50),则以d=3为增量的一趟希尔排序结束后的结果为_。5、设某无向图G中有n个顶点,用邻接矩阵A作为该图的存储结构,则顶点i与顶点j互为邻接点的条件是_,无向
8、图的邻接矩阵具有 特性。6、若不考虑基数排序,则在排序过程中,主要进行的两种基本操作是关键字的_ _和记录的_ _。7、在一个带头结点的单循环链表中,p指向尾结点的直接前驱,则指向头结点的指针head可用p表示为head= 。8、数据的存储结构包括 的表示和 的表示。9、散列检索技术的关键是_ _和 _ _。四、判断题(每小题1分,共8分)1、调用一次深度优先遍历可以访问到图中的所有顶点。( )2、完全二叉树一定是满二叉树,满二叉树不一定是完全二叉树。( )3、顺序存储结构的主要缺点是不利于插入或删除操作。( )4、数组不适合作为任何二叉树的存储结构。( )5、任何一个递归过程都可以转换成非递
9、归过程。 ( )6、设一棵树T可以转化成二叉树BT,则二叉树BT中一定没有右子树。( )7、带权无向图的最小生成树的权值必是固定的。( )8、在 AOE 图中,关键路径上某个活动的时间缩短,整个工程的时间也就必定缩短。 ( )五、程序填空题(每个空1分,共12分)1、如下的算法是从串s中删除所有与t相同的子串,并返回删除次数。int SubString_Delete(Stringtype &s,Stringtype t)/从串s中删除所有与t相同的子串,并返回删除次数for(n=0,i=1;i=s0-t0+1;i+)for(j=1;j (2) ) /找到了与t匹配的子串for(k=i;k=s0
10、-t0;k+) sk=sk+t0; /左移删除 s0-=t0; (3) /forreturn (4) ;/Delete_SubString 2、n 个顶点的有向图用邻接矩阵 array 表示,下面是其拓扑排序算法,试补充完整。 注:(1)图的顶点号从 0 开始计; (2)indegree 是有 n 个分量的一维数组,放顶点的入度;(3)函数 crein 用于算顶点入度;(4)有三个函数 push(data),pop( ),check( )其含义为数据 data 进栈,退栈和测试栈是否空(不空返回 1,否则 0)。 crein( array ,indegree,n) for (i=0;in;i+
11、) indegreei= _ (1)_ _ for(i=0,in;i+) for (j=0;jn; j+) indegreei+= _ (2)_ _; topsort (array,indegree,n) count= _ (3)_ _ for (i=0;in;i+) if (_ (4)_ _) push(i) while (check( ) vex=pop( ); printf(vex); count+; for (i=0;in;i+) k= _ (5)_ _ if (_ (6)_ ) indegreei-; if (_ (7)_ _ ) push(i); if(_ (8)_) printf
12、(“图有回路”); 六、算法设计题(每题8分,16分)1、设计一个算法将无向图的邻接矩阵转为对应邻接表的算法。typedef struct int vertexm;int edgemm;gadjmatrix;typedef struct node1int info;int adjvertex; struct node1 *nextarc;glinklistnode;typedef struct node2int vertexinfo;glinklistnode *firstarc;glinkheadnode;2、众数问题:在一个由整数组成的线性表中,出现数数最多的数称为众数.试设计一个寻找众数的算法,并分析其计算复杂性。专心-专注-专业