2014-2015B学年二学期数据结构期末考试试卷(A卷)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A. O(n) B、 O(nlogn) C、O(n3) D、O(n2) 17.以下数据结构中, ( )是非线性数据结构 A、树 B、字符串 C、队 D、栈 18.以下数据结构中,哪一个是线性结构? A、广义表 B、 二叉树 C、稀疏矩阵 D、 串 19.在计算机中存储一个数据元素的位串称为。 A、 结点 B、 数据项 C、 数据字段 D、 字符串 20.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是 A、 (100,80, 90, 60, 120,110,130) B、 (100,120,110,130,80, 60, 90) C、 (100,60, 80, 90, 120,110,130) D、 (100,80, 60, 90, 120,130,110) 四、算法设计题(5 小题,共 20 分) 1.已知不带头结点的线性链表 list,链表中结点构造为(data、link) ,其中 data 为数据域, link 为指针域。请写一算法,将该链表按结点数据域的值的大小从小到大重新链接。要求链 接过程中不得使用除该链表以外的任何链结点空间。 2.写一个算法,求出循环链表结点的个数。 (不包括头结点) 3.试编写算法,将一个用循环链表表示的稀疏多项式分解成两个多项式,使这两个多项式 中各自仅含奇次项或者偶次项,并要求利用原链表中的结点空间构成这两个链表。 4.试利用循环队列编写 k 阶斐波那契序列中前 n+1 项(f0,f1,…,fn)的算法,要求满足: Fn max 而 fn+1>max,其中 max 为某个约定的常数。 (注意:本题所用循环队列的容量仅为 k, 则在算法执行结束后时,留在循环队列中的元素应是所求 k 阶斐波那契序列中的最后 k 项 (fn-k+1,…,fn) 。 5.建立三元组存储方法 五、多项选择题(10 小题,共 50 分) 1.表长为 n 的顺序存储的线性表,当在任何位置上插入或删除一个元素的概率相等时,插 入一个元素所需移动的元素平均个数为( ) ,删除一个元素所需移动的平均个数为 A、(n-1)/2 B、n C、n+1 D、 n-1 E、n/2 F、(n+1)/2 G、(n-2)/2 2.下面的叙述不正确的是 A、线性表在链式存储时,查找第 i 个元素的时间同 i 的值成正比 B、线性表在链式存储时,查找第 i 个元素的时间同 i 的值无关 C、线性表在顺序存储时,查找第 i 个元素的时间同 i 的值成正比 D、线性表在顺序存储时,查找第 i 个元素的时间同 i 的值无关 3.在作进栈运算时,应先判别栈是否( ① ),在作退栈运算时应先判别栈是否( ② )。当栈 中元素为 n 个,作进栈运算时发生上溢,则说明该栈的最大容量为( ③ )。 为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将 两栈的 ( ④ )分别设在这片内存空间的两端,这样,当( ⑤ )时,才产生上溢。 B、 满 C、 上溢 D、 下溢 ①, ②: A、 空 B、 n C、 n+1 D、 n/2 ③: A、 n-1 B、 深度 C、 栈顶 D、 栈底 ④: A、 长度 ⑤: A、 两个栈的栈顶同时到达栈空间的中心点. B、 其中一个栈的栈顶到达栈空间的中心点. C、 两个栈的栈顶在栈空间的某一位置相遇.
3. 在一个具有 n 个结点的有序单链表中插入一个新结点, 并使插入结点后的单链表仍然有 序,则该操作的时间复杂性量级为。 A、.0 ( 1 ) B、 0 ( n ) C、 0 ( nlog2n ) D、 0 ( n2 ) 4.在一个以 h 为头的单循环链中,p 指针指向链尾的条件是 A、 p^.next=h B、 p^.next=NIL C、 p^.next.^next=h D、 p^.data=-1 5.(1) 静态链表既有顺序存储的优点,又有动态链表的优点。所以,它存取表中第 i 个元素 的时间与 i 无关。 (2) 静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加。 (3) 静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。 以上错误的是 A、 B、 C、 D、 (1) , (2) (1) (1) , (2),(3) (2) 6.对于一个头指针为 head 的带头结点的单链表,判定该表为空表的条件是 A、head==NULL B、head→next==NULL C、head→next==head D、head!=NULL 7.同一个栈内各元素的类型。 A、 必须一致 B、 可以不一致 C、 不能一致 D、 不必不一致 8.用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点, 则在进行删除操作时 A.仅修改队头指针 B、 仅修改队尾指针 C、队头、队尾指针都要修改 D、 队头,队尾指针都可能要修改 9.顺序栈是空栈的条件是。 A、 top==0 B、 top==1 C、 top==-1 D、 top==m 10.串是一中特殊的线性表,其特殊性体现在。 A、 可以顺序存储 B、数据元素是一个字符 C、可以链接存储 D、 数据元素可以是多个字符 11.设树 T 的高度为 4,其中度为 l、2、3 和 4 的结点个数分别为 4、2、1、1,则 T 中的叶 子数为 A、5 B、6 C、7 D、8 12.某义树的前序序州和后序序列正好相反.则泼二叉树一定是( )的一叉树。 A、空或只有一个结点 B、任一结点无左于树 C、高度等于其结点数 D、任一结点无右子树 13.一个具有 1025 个结点的二叉树的高 h 为 A、11 B、10 C、11 至 1025 之间 D、10 至 1024 之间 14.若度为 m 的哈夫曼树中,其叶结点个数为 n,则非叶结点的个数为 A、n-1 B、n/m-1 C、(n-1)/(m-1) D、 n/(m-1)-1 E、(n+1)/(m+1)-1 15.设森林 F 对应的二叉树为 B,它有 M 个结点,B 的根为 P,P 的右子树结点个数为 N, 森林 F 中第一棵树的结点个数是 A、M-N B、M-N-1 C、N+1 D 条件小充分,无注确定 16.程序段 FOR i:=n-1 DOWNTO 1 DO FOR j:=1 TO i DO IF A[j]>A[j+1] THEN A[j]与 A[j+1]对换; 其中 n 为正整数,则最后一行的语句频度在最坏情况下是
D、 两个栈均不空,且一个栈的栈顶到达另一个栈的栈底. 4.一个输入序列 abcd 经过一个栈到达输出序列,并且一旦离开输出序列后就不能再返回到 输入序列,则下面( )为正确的输出序列。 A、 bcad B、cbda C、dabc D、acbd E、dcba 5.两个串相等必有 A、串长度相等 B、串中各位置字符任意 C、串中各位置字符均对应相等 D、串长度不等 E、串长度任意 6. nexrval 数组的值为 模式串 T='abcaabbcabcaabdab’ , 该模式串的 next 数组值为 ( ) , ( ) 。 A、01112211123456712 B、011121 21124567112 C、01110013101100701 D、01112231123456712 E、01100111011001702 F、01102131011021701 7.对于前序遍历与中序遍历结果相同的二叉树为(1); 对于前序遍历和后序遍历结果相同的二叉树为(2) 。 A、一般二叉树 B、只有根结点的二叉树 C、根结点无左孩子的二叉树 D、根结点无右孩子的二叉树 E、所有结点只有左子数的二叉树 F、所有结点只有右子树的二叉树 8.从下列有关树的叙述中,选出 5 条正确的叙述 A、二叉树中每个结点有两个子结点,而树无此限制,因此二叉树是树的特殊情况。 B、当 K≥1 时高度为 K 的二叉树至多有 2k-1 个结点。 C、用树的前序周游和中序周游可以导出树的后序周游。 D、线索二叉树的优点是便于在中序下查找前驱结点和后继结点。 E、将一棵树转换成二叉树后,根结点没有左子树。 F、一棵含有 N 个结点的完全二叉树,它的高度是LOG2N+1。 G、在二叉树中插入结点,该二叉树便不再是二叉树。 H、 采用二叉树链表作树的存储结构,树的前序周游和其相应的二叉树的前序周游的结果是一 样的。 I、哈夫曼树是带权路径最短的树,路径上权值较大的结点离根较近。 J、用一维数组存储二叉树时,总是以前序周游存储结点。 9.若采用链地址法构造散列表,散列函数为 H(key)=key MOD 17,则需 ((1)) 个链表。 这些链的链首指针构成一个指针数组,数组的下标范围为 ((2)) B、 13 C、 16 D、 任意 (1) A、17 B、 1 至 17 C、 0 至 16 D、 1 至 16 (2) A、0 至 17 10.要进行顺序查找,则线性表(1) ;要进行折半查询,则线性表(2) ;若表中元素个数为 n,则顺序查找的平均比较次数为(3) ;折半查找的平均比较次数为(4) 。 (1) (2) : A、 必须以顺序方式存储; B、 必须以链式方式存储; C、 既可以以顺序方式存储,也可以链式方式存储; D、 必须以顺序方式存储,且数据已按递增或递减顺序排好; E. 必须以链式方式存储,且数据已按递增或递减的次序排好。 (3) (4) : A、n B、n/2 C、n*n D、n*n/2 E.log2n F.nlog2n G.(n+1)/2 H.log2(n+1) 六、填空题(20 小题,共 120 分) 1.已知指针 p 指向单链表 L 中的某结点,则删除其后继结点的语句是:________
石家百度文库学院
2014-2015 学年二学期数据结构期末考试试卷(A 卷) 班级:___________学号:___________姓名:___________得分:___________ 题号 得分 阅卷 题目部分,(卷面共有 94 题,397 分,各大题标有题量和总分) 一、应用题(5 小题,共 5 分) 1.线性表(a1,a2,…,an)用顺序映射表示时,ai 和 ai+1(1<=i<n〉的物理位置相邻吗?链 接表示时呢? 2.如何通过改链的方法,把一个单向链表变成一个与原来链接方向相反的单向链表? 3.如果已知森林的前序序列和后序序列分别为 ABCDEFIGJH 和 BDCAIFJGHE,请画出该森林 4.数据结构与数据类型有什么区别? 5.当你为解决某一问题而选择数据结构时,应从哪些方面考虑? 二、判断正误(20 小题,共 40 分) 1.线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。( ) 2.顺序存储方式只能用于存储线性结构。( ) 3.若输入序列为 1,2,3,4,5,6,则通过一个栈可以输出序列 3,2,5,6,4,1. ( ) 4.两个栈共用静态存储空间,对头使用也存在空间溢出问题。 ( ) 5.栈和队列都是限制存取点的线性结构。 ( ) 6.通常使用队列来处理函数或过程的调用。 ( ) 7.用一维数组存储二叉树时,总是以前序遍历顺序存储结点。 ( ) 8. ( ) 二叉树中不存在度大于 2 的结点, 当某个结点只有一棵予树时无所谓左、 右子树之分。 9.后序线索二叉树是不完善的,要对它进行遍历,还需要使用栈。 ( ) 10. 若一个结点是某二叉树子树的前序遍历序列中的最后一个结点. 则它必是该子树中序遍 历序列中的最后一个结点。( ) 11.哈夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近。( ) 12.程序一定是算法。( ) 13.数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立。( ) 14.数据元素是数据的最小单位。( ) 15.数据结构的抽象操作的定义与具体实现有关。( ) 16.完全二叉树肯定是平衡二叉树。 ( ) 17.任何无环的有向图,其结点都可以排在一个拓扑序列里。 ( ) 18.最优二叉搜索树一定是平衡的二叉搜索树。 ( ) 19.带权连通图的最小生成树的权值之和一定小于它的其它生成树的权值之和。 ( ) 20.堆排序占用的辅助空间很大。 ( ) 三、单项选择题(20 小题,共 60 分) 1.在一个长度为 n 的顺序表中,在第 i 个元素(1≤i≤n+1)之前插入一个新元素时须向后移 动( )个元素 A、n-i B、n- i+l C、n-i-1 D、 i 2.将两个各有 n 个元素的有序表归并成一个有序表.其最少的比较次数是 A、n B、2n-1 C、2n D、n-1 一 二 三 四 五 六 七 八 九 十 成绩 复核