武汉大学计算机学院数据结构06级试题(A)含标准答案

合集下载

数据结构考试题及答案

数据结构考试题及答案

数据结构考试题及答案一、选择题(每题2分,共20分)1. 以下哪个不是线性数据结构?A. 数组B. 链表C. 树D. 图2. 在一个单链表中,删除一个节点的操作需要知道该节点的:A. 地址B. 值C. 索引D. 前驱节点的引用3. 栈(Stack)是一种:A. 线性表B. 树状结构C. 图结构D. 散列表4. 哈希表解决冲突最常用的方法是:A. 排序B. 链地址法C. 再散列D. 除留余数法5. 以下哪个排序算法是稳定的?A. 快速排序B. 冒泡排序C. 选择排序D. 堆排序二、简答题(每题10分,共30分)1. 简述数组和链表的区别。

2. 解释二叉搜索树的基本概念及其优势。

3. 什么是递归?请给出一个简单的递归算法例子。

三、计算题(每题25分,共50分)1. 给定一个无序数组,请写出一个时间复杂度为O(n log n)的排序算法,并说明其工作原理。

2. 描述如何使用队列来实现一个简单的文本编辑器的撤销和重做功能。

四、编程题(共30分)编写一个函数,该函数接受一个整数数组作为参数,返回数组中所有元素的和。

如果数组为空,返回0。

答案一、选择题1. 答案:C(树和图都是非线性结构)2. 答案:D(需要前驱节点的引用来删除节点)3. 答案:A(栈是一种后进先出的特殊线性表)4. 答案:B(链地址法是解决哈希冲突的常用方法)5. 答案:B(冒泡排序是稳定的排序算法)二、简答题1. 数组和链表的区别:- 数组是连续的内存空间,链表是非连续的。

- 数组的索引访问速度快,链表需要遍历。

- 数组的大小固定,链表动态可变。

2. 二叉搜索树的基本概念及其优势:- 二叉搜索树是一种特殊的二叉树,左子树上所有节点的值小于它的根节点的值,右子树上所有节点的值大于它的根节点的值。

- 优势:支持快速的查找、插入和删除操作。

3. 递归是函数自己调用自己的过程。

例如,计算n的阶乘的递归算法: ```cint factorial(int n) {if (n <= 1) return 1;return n * factorial(n - 1);}```三、计算题1. 快速排序算法:- 选择一个元素作为“基准”(pivot)。

计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编6

计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编6

计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编6(总分:88.00,做题时间:90分钟)一、单项选择题(总题数:33,分数:66.00)1.一棵完全二叉树又是一棵( )。

【华中科技大学2006一、7(2分)】A.平衡二叉树B.堆√C.二叉排序树D.哈夫曼(Huffman)树完全二叉树的叶子至多在下面两层上,且一个结点若无左子树,绝不能有右子树。

平衡二叉树任何结点的左右子树的高度差的绝对值不超过1,但其结点的值符合二叉排序树的定义。

平衡二叉树(包括二叉排序树)的树形不一定是完全二叉树。

堆是一个序列,有大堆和小堆,编号为i的结点,其父结点、左右子女结点之间位置的关系,符合完全二叉树父结点、左右子女结点之间的关系,从这点上说,可以把堆看成完全二叉树。

哈夫曼树是二叉树,但树形不一定满足完全二叉树的定义。

2.一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是( )。

【合肥工业大学1999一、5(2分)】A.不确定B.0C.1D.2 √左子树为空的二叉树的根结点的左线索为空(无前驱),先序序列的最后结点的右线索为空(无后继),共2个空链域。

3.一棵左右子树均不空的二叉树在先序线索化后,其中空的链域的个数是( )。

【合肥工业大学2000一、5(2分)】A.0B.1 √C.2D.不确定4.若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则X的前驱为( )。

【南京理工大学1996一、6(2分)】A.X的双亲B.X的右子树中最左的结点C.X的左子树中最右结点√D.X的左子树中最右叶结点5.引入二叉线索树的目的是( )。

【南京理工大学1998一、5(2分)】A.加快查找结点的前驱或后继的速度√B.为了能在二叉树中方便地进行插入与删除C.为了能方便地找到双亲D.使二叉树的遍历结果唯一6.线素二叉树是一种( )结构。

【西安电子科技大学1996一、9(2分)】A.逻辑B.逻辑和存储C.物理√D.线性7.甩个结点的线索二叉树上含有的线索数为( )。

武大计算机类真题数据结构(2007-A

武大计算机类真题数据结构(2007-A

数据结构部分(共75分)一. 单项选择题(2×10分,共20分)1. 某线性表最常用的操作是在最后一个结点之后插入一个结点或删除第一个结点,故采用 d 存储方式最节省运算时间。

A. 单链表B.循环单链表C. 双链表D.仅有尾结点指针的循环单链表2. 栈和队列的共同点是c 。

A. 都是先进后出B. 都是先进先出C. 只允许在端点处插入和删除元素D. 没有共同点3.对于含有n个互不相同字符的串,则真子串(不包括串自身)的个数是c 。

A. nB.n2C.n(n+1)/2D.n(n-1)/24. 在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为 cA. 4B. 5C. 6D. 75. 某二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树一定是d 。

A. 空或只有一个结点B. 完全二叉树C. 二叉排序树D. 高度等于其结点数6. 对图1所示的无向图,从顶点1开始进行深度优先遍历;可能得到顶点访问序列是a 。

A.1 2 4 3 5 7 6B.1 2 4 3 5 6 7C.1 2 4 5 6 3 7D.1 2 3 4 5 7 6图1 一个无向图7. 对于含有n个顶点的带权无向连通图,它的最小生成树是指该图中任意一个d。

A.由n-1条权值最小的边构成的子图B.由n-l条权值之和最小的边构成的子图C.由n条权值之和最小的边构成的连通子图D.由n个顶点构成的边的权值之和最小的连通子图8. 有一组数据{15,9,7,8,20,1,7,4},用堆排序的筛选方法建立的初始小根堆为c 。

A.{1,4,8,9,20,7,15,7}B.{1,7,15,7,4,8,20,9}C.{1,4,7,8,20,15,7,9}D.以上都不对9. 在含有27个结点的二叉排序树上,查找关键字为35的结点,则依次比较的关键字有可能是 d 。

A.28,36,18,46,35B.18,36,28,46,35C.46,28,18,36,35D.46,36,18,28,3510. 采用败者树进行k路平衡归并的外排序算法,其总的归并效率与k b 。

《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案一、选择题(每题5分,共20分)1. 下列哪个不是线性结构?A. 栈B. 队列C. 图D. 数组2. 下列哪个不是栈的基本操作?A. 入栈B. 出栈C. 查找D. 判断栈空3. 下列哪个不是队列的基本操作?A. 入队B. 出队C. 查找D. 判断队列空4. 下列哪个不是图的基本概念?A. 顶点B. 边C. 路径D. 环二、填空题(每题5分,共20分)5. 栈是一种______结构的线性表,队列是一种______结构的线性表。

6. 图的顶点集记为V(G),边集记为E(G),则无向图G=(V(G),E(G)),有向图G=(______,______)。

7. 树的根结点的度为______,度为0的结点称为______。

8. 在二叉树中,一个结点的左子结点是指______的结点,右子结点是指______的结点。

三、简答题(每题10分,共30分)9. 简述线性表、栈、队列、图、树、二叉树的基本概念。

10. 简述二叉树的遍历方法。

11. 简述图的存储结构及其特点。

四、算法题(每题15分,共30分)12. 编写一个算法,实现栈的入栈操作。

13. 编写一个算法,实现队列的出队操作。

五、综合题(每题20分,共40分)14. 已知一个无向图G=(V,E),其中V={1,2,3,4,5},E={<1,2>,<1,3>,<2,4>,<3,4>,<4,5>},画出图G,并给出图G的邻接矩阵。

15. 已知一个二叉树,其前序遍历序列为ABDCE,中序遍历序列为DBACE,请画出该二叉树,并给出其后序遍历序列。

答案部分一、选择题答案1. C2. C3. C4. D二、填空题答案5. 后进先出先进先出6. V(G),E(G)7. 0 叶结点8. 左孩子右孩子三、简答题答案9. (1)线性表:一个线性结构,其特点是数据元素之间存在一对一的线性关系。

武汉大学计算机学院数据结构06级试题(A)含答案

武汉大学计算机学院数据结构06级试题(A)含答案
4.n(n-1)/2。5.10,8,9,6,7,2,4,5,3,1。(序列不全对不给分)
三、问答题(共
1.答:二叉树中度为1的结点个数只能是1或0。设n1=1,n=n0+n1+n2=n0+n2+1=1001,由性质1可知n0=n2+1,由两式可求n0=500.5,不成立;设n1=0,n=n0+n1+n2=n0+n2=1001,由性质1可知n0=n2+1,由两式可求n0=501。本题答案为:501。
只带队首指针的循环单链表对于链串s长度为n每个结点存储一个字符查找元素值为ch的算法的时间复ao1boncon设二维数组a610每个数组元素占用4个存储单元若按行优先顺序存放的数组元素a35的存储地址为1000则a00的存储地址是a872b860c868d864一个具有1025个结点的二叉树的高ha11b10c111025d121024acbedbdecabcdeabcdcedba10
{
LinkList *pre=L,*p=pre->next,*minp=p,*minpre=pre;
ElemType mindata=p->data;
while (p!=NULL && p->data<mindata)
{mindata=p->data;
p=p->next;
}
p=pre->next;
while (p!=NULL)
5.答:生成初始归并段(或顺串),采用多路平衡归并方法进行归并。
四、算法设计题
1.解:用p从头至尾扫描单链表,pre指向*p结点的前驱,用minp保存值最小的结点指针,minpre指向*minp结点的前驱。一面扫描,一面比较,将最小值的结点放到*minp中。算法如下:

【考研计算机专业课】武汉大学期末试题 数据结构2011

【考研计算机专业课】武汉大学期末试题 数据结构2011

A. 1 和 5 B. 2 和 4 C. 4 和 2 D. 5 和 1 9. 一棵深度为 h(h≥1)的完全二叉树至少有 A 个结点。 h-1 h A. 2 B. 2 h C. 2 +1 D. 2h-1+1 10. 一棵含有 n 个结点的线索二叉树中,其线索个数为 C 。 A. 2n B. n-1 C. n+1 D. n 11. 设一棵哈夫曼树中有 1999 个结点,该哈夫曼树用于对 C 码。
(1){24,88,21,48,15,27,69,35,20} (2){20,15,21,24,48,27,69,35,88} (3){15,20,21,24,35,27,48,69,88} (4){15,20,21,24,27,35,48,69,88} 则所采用的排序方法是 A 。 A. 快速排序 C. 直接插入排序 20. 以下序列是堆的是 C 。 A. {75,65,30,15,25,45,20,10} C. {75,45,65,30,15,25,20,10}
字。 A. 1 B. m/2 C. m/2-1 D. m/2+1 17. 哈希查找方法一般适用于 D 情况下的查找。 A. 查找表为链表 B. 查找表为有序表 C. 关键字集合比地址集合大得多 D. 关键字集合与地址集合之间存在着某种对应关系。 18. 对含有 n 个元素的顺序表采用直接插入排序方法进行排序, 在最好情况下算法 的时间复杂度为 A 。 A. O(n) B. O(nlog2n) 2 C. O(n ) D. O( n ) 19. 用某种排序方法对数据序列{24,88,21,48,15,27,69,35,20}进行递增排序, 元素序 列的变化情况如下:
个字符进行编
D
A. 999 B. 998 C. 1000 D. 1001 12. 一个含有 n 个顶点的无向连通图采用邻接矩阵存储, 则该矩阵一定是 A 。 A. 对称矩阵 B. 非对称矩阵 C. 稀疏矩阵 D. 稠密矩阵 13. 设无向连通图有 n 个顶点 e 条边,若满足 A ,则图中一定有回路。 A. e≥n B. e<n C. e=n-1 D. 2e≥n 14. 对于 AOE 网的关键路径,以下叙述 D 是正确的。 A. 任何一个关键活动提前完成,则整个工程一定会提前完成 B. 完成整个工程的最短时间是从源点到汇点的最短路径长度 C. 一个 AOE 网的关键路径一定是唯一的 D. 任何一个活动持续时间的改变可能会影响关键路径的改变 15. 设有 100 个元素的有序表,用折半查找时,不成功时最大的比较次数是 。 A. 25 B. 50 C. 10 D. 7 16. 在一棵 m 阶 B-树中删除一个关键字会引起合序 B. {75,65,45,10,30,25,20,15} D. {75,45,65,10,25,30,20,15}

数据结构试卷试题及答案

数据结构试卷试题及答案

数据结构试卷试题及答案一、选择题(每题5分,共40分)1. 数据结构是研究数据元素的()A. 存储结构B. 处理方法C. 逻辑结构D. 所有以上内容答案:D2. 在数据结构中,通常采用()方式来表示数据元素之间的逻辑关系。

A. 顺序存储结构B. 链式存储结构C. 索引存储结构D. 散列存储结构答案:B3. 下面哪一个不是栈的基本操作?()A. 入栈B. 出栈C. 判断栈空D. 获取栈顶元素答案:D4. 下面哪一个不是队列的基本操作?()A. 入队B. 出队C. 判断队列空D. 获取队头元素答案:D5. 下面哪一个不是线性表的特点?()A. 有且只有一个根节点B. 每个节点最多有一个前驱和一个后继C. 数据元素类型相同D. 数据元素类型可以不同答案:D6. 在下列哪种情况中,使用链式存储结构比顺序存储结构更合适?()A. 数据元素经常插入和删除B. 数据元素大小不固定C. 数据元素个数不确定D. 所有以上情况答案:D7. 下面哪一个不是树的遍历方式?()A. 前序遍历B. 中序遍历C. 后序遍历D. 翻转遍历答案:D8. 在下列哪种情况中,使用散列存储结构比其他存储结构更合适?()A. 数据元素个数较少B. 数据元素查找频繁C. 数据元素插入和删除频繁D. 数据元素大小不固定答案:B二、填空题(每题5分,共30分)9. 栈是一种特殊的线性表,它的插入和删除操作都限定在表的一端进行,这一端称为______。

答案:栈顶10. 队列是一种特殊的线性表,它的插入操作在表的一端进行,这一端称为______,而删除操作在另一端进行,这一端称为______。

答案:队尾、队头11. 二叉树中的节点包括______和______。

答案:根节点、子节点12. 在图的存储结构中,邻接矩阵表示法用______个一维数组来表示图中各个顶点之间的关系。

答案:两个13. 散列存储结构中,关键码到存储地址的映射方法称为______。

06-09数据结构真题及答案

06-09数据结构真题及答案

06数据结构(50分)一、单选题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填写在题干后面的括号内。

每小题1分,共10分)1.数据的基本单位是()A.数据项B.数据类型C.数据对象D.数据元素2.若频繁的对线性表进行插入和删除操作,则该线性表应该采用_______存储结构。

()A.顺序B.链式C.散列D.任意3.若进栈序列为3,5,7,9,进栈过程中可以出栈,则不可能的出栈次序是()A.7,5,3,9B.9,7,5,3C.7,5,9,3D.9,5,7,34.下面的说法中,正确的是()A.字符串的长度指串中包含的字母的个数B.字符串的长度指串中包含的不同字符的个数C.一个字符串不能说是其自身的一个子串D.若T包含在S中,则T一定是S的一个子串5.广义表((a,b),(c,d))的表尾是()A.dB.c,dC.(c,d)D.((c,d))6.n个顶点的连通图,其生成树有_______条边。

()A.n-1B.nC.n+1D.不确定7.若一棵二叉树有8个度为2的结点,则该二叉树的叶节点个数为()A.7B.8C.9D.不确定8.在有n个节点的二叉链表中有_______个空链域。

()A.n+1B.nC.n-1D.不确定9.在等概率的情况下,采用顺序插查找法查找长度为n的线性表,平均查找长度为()A.nB.n/2C.(n+1)/2D.(n-1)/210.下列排序方法中,排序的比较次数与序列的初始排列状态无关的是()A.选择排序B.插入排序C.冒泡排序D.快速排序二、填空题(本大题共10小题,每小题1分,共10分)1.假定一个顺序队列的队首和队尾分别为f和r,则判断队空的条件为__________________。

2.在顺序存储的线性表中插入或删除一个元素平均约移动表中__________________的元素。

3.设有一个二维数组A[5][4],按行序优先存储,A[0][0]的存储地址是10,每个数组元素占2个字节,则A[3][2]的存储地址是______________。

武汉大学数据结构考试题(附答案)

武汉大学数据结构考试题(附答案)

武汉大学数据结构考试题(附答案)编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(武汉大学数据结构考试题(附答案))的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为武汉大学数据结构考试题(附答案)的全部内容。

1. 下面程序段的执行次数为( A )for(i=0;i<n-1;i++)for(j=n;j>i;j--)state;A. n(n+2)2 B 。

(n-1)(n+2)2 C。

n(n+1)2 D. (n-1)(n+2)2。

一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( B )A. 110 B 。

108 C. 100 D. 1203. 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是( C )A。

edcbaB 。

decba C. dceab D. abcde4。

循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是( D )A. (rear-front+m)%m B .read—front+1C. read-front—1 D. read—front5.不带头结点的单链表head为空的判定条件是( A )A. head=NULL B .head—next=NULLC. head-next=head D。

head!=NULL6.在一个单链表中,若p所指的结点不是最后结点,在p之后插入s所指结点,则执行(B)A。

s-next=p;p—next=s; B .s-next=p—next;p—next=s; C。

s—next=p—next;p=s; D. p—next=s;s-next=p;7. 从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较多少个结点( D )A. n B .n2 C。

武汉大学计算机学院《计算机系统结构》06级A卷B卷及答案

武汉大学计算机学院《计算机系统结构》06级A卷B卷及答案

武汉大学计算机学院《计算机系统结构》06级A卷B卷及答案《计算机系统结构》期末考试试卷(A)(闭卷)一、单项选择题(共20题,每小题2分,共40分)1.包含有64个处理单元的ILLICA-Ⅳ阵列计算机,属于()类。

A. SISDB.SIMDC. MISDD.MIMD2. 假设将某系统的某一部件的处理速度加快到10倍,但该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高( )倍。

A.1.56B.2.00C.1.98D.2.013.ILLICA-Ⅳ阵列计算机中采用的是闭合螺线阵列结构,它可以用()函数来描述。

A.立方体B.交换C.全混洗D.PM2I4.在先行控制中,各缓冲栈的深度要求最大的是()。

A.先行读数栈B.后行写数栈C.先行指令栈D.先行操作栈5. 数组多路通道的“数据宽度”是()。

A.单字节C.定长数据块D.不定长数据块6. 在有通道处理机的I/O系统中,用户通过()来向系统提出访问I/O设备的申请?A.通道指令B.广义指令C.无链通道指令D.中断指令7.计算机中优化实用的操作码编码方法是()。

A.哈夫曼编码B.ASCII码C.BCD码D.扩展操作码8.机器内浮点数都包含阶码和尾数两部分,其中尾数的位数主要影响()。

A.表数精度B.表数效率C.表数范围D. 都不对9. 某I/O系统有两个选择通道,每个通道上都接有速率分别为500、450、600和500(KB/S)的四台设备。

则I/O系统的实际流量为()KB/S。

A.450B.500C.600D.都不是10. 在处理数据相关时,采用相关专用通道(旁路)技术,主要是解决()相关。

A.RAWC.WAWD.都不是11.有一条流水线连接图如下所示,它是一条()的流水线。

A.指令级B.非线性C.操作级D.动态12.对于上题中所示的流水线,若△t1=△t3=△t4=△t0,△t2=3△t0,连续输入4个任务时的最大吞吐率为()。

2022年武汉大学计算机科学与技术专业《数据库原理》科目期末试卷B(有答案)

2022年武汉大学计算机科学与技术专业《数据库原理》科目期末试卷B(有答案)

2022年武汉大学计算机科学与技术专业《数据库原理》科目期末试卷B(有答案)一、填空题1、安全性控制的一般方法有____________、____________、____________、和____________视图的保护五级安全措施。

2、数据库内的数据是______的,只要有业务发生,数据就会更新,而数据仓库则是______的历史数据,只能定期添加和刷新。

3、____________和____________一起组成了安全性子系统。

4、主题在数据仓库中由一系列实现。

一个主题之下表的划分可按______、______数据所属时间段进行划分,主题在数据仓库中可用______方式进行存储,如果主题存储量大,为了提高处理效率可采用______方式进行存储。

5、数据库管理系统的主要功能有______________、______________、数据库的运行管理以及数据库的建立和维护等4个方面。

6、在VB 6.0中,已经用Adobel连接到数据库,并已绑定到数据库中的某个关系表,现要通过此控件向表中插入数据,需要用到Adobel.Recordset的_____方法和Update方法,使用Adobel.Recordset的_____方法可以使当前行指针在结果集中向前移动一行。

7、设在SQL Server 2000环境下,对“销售数据库”进行的备份操作序列如下图所示。

①出现故障后,为尽可能减少数据丢失,需要利用备份数据进行恢复。

首先应该进行的恢复操作是恢复_____,第二个应该进行的恢复操作是恢复_____。

②假设这些备份操作均是在BK设备上完成的,并且该备份设备只用于这些备份操作,请补全下述恢复数据库完全备份的语句RESTORE_____FROM BKWITH FILE=1,_____;8、关系模型由______________、______________和______________组成。

9、关系系统的查询优化既是关系数据库管理系统实现的关键技术,又是关系系统的优点。

2006-2007第2学期数据结构与算法试卷(A卷)

2006-2007第2学期数据结构与算法试卷(A卷)

20 06—20 07学年第2 学期《数据结构与算法》考试试卷(A卷)(时间120分钟)院/系专业姓名学号一、选择题(每小题2分,共20分)1、数据结构中,与所使用的计算机无关的是数据的结构。

A. 存储结构B. 物理结构C. 逻辑结构D. 物理和存储结构2、循环链表的主要优点是。

A. 不再需要头指针了B. 已知某个结点的位置后,能很容易找到它的直接前驱结点C.在进行删除操作后,能保证链表不断开D. 从表中任一结点出发都能遍历整个链表3、栈和队列都是。

A. 顺序存储的线性结构B.链式存储的非线性结构C. 限制存取点的线性结构D.限制存取点的非线性结构4、串的长度是指。

A. 串中所含不同字母的个数B. 串中所含不同字符的个数C. 串中所含字符的个数D. 串中所含非空格字符的个数5、若某二叉树的先序和中序遍历序列分别为ABCD、ACDB,则该二叉树的后序遍历序列为。

A. DBCAB. ADCBC. DCBAD. CDBA6、有n个叶子结点的哈夫曼树,其结点总数为。

A.2n-1 B.2n C.2n+1 D.不确定。

7、无向图的邻接矩阵一定是。

A. 对角矩阵B. 稀疏矩阵C. 三角矩阵D. 对称矩阵8、以下序列中符合堆的定义。

A. (2,40,20,25,30)B. (2,20,40,25,30)C. (40,25,2,30,20)D. (40,25,2,20,30)9、下列排序方法中属于不稳定排序方法的是。

A.直接插入排序B.冒泡排序C.快速排序D.归并排序10、设有一个用线性探测法解决冲突得到的散列表(或哈希表)如下图所示,散列函数为H(k)=k % 11,若要查找元素14,探查的次数为。

(第一题,第10小题图)A.5B.9C.3D.6二、填空题(每小题2分,共20分)1、一个“好”的算法要考虑以下标准:正确性 、可读性 、 和高效率与低存储量需求。

2、对于二维数组a[0..4,0..5],设每个元素占1个存储单元,且以行为主序存储,则元素a[2,3]相对于数组空间起始地址的偏移量是 。

数据结构试题集(包含答案完整版)精选全文完整版

数据结构试题集(包含答案完整版)精选全文完整版

可编辑修改精选全文完整版第一章概论一、选择题1、研究数据结构就是研究( D )。

A. 数据的逻辑结构B. 数据的存储结构C. 数据的逻辑结构和存储结构D. 数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。

A. 空间复杂度和时间复杂度B. 正确性和简单性C. 可读性和文档性D. 数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。

A. 图B. 树C. 广义表D. 栈4、计算机中的算法指的是解决某一个问题的有限运算序列.它必须具备输入、输出、( B )等5个特性。

A. 可执行性、可移植性和可扩充性B. 可执行性、有穷性和确定性C. 确定性、有穷性和稳定性D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( C )。

for(i=0;i<m;i++)for(j=0;j<n;j++)a[i][j]=i*j;A. O(m2)B. O(n2)C. O(m*n)D.O(m+n)6、算法是( D )。

A. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。

A. O(n)B. O(nlog2n)C. O(n2)D.O(log2n)8、下面程序段的时间复杂度为( C )。

i=1;while(i<=n)i=i*3;A. O(n)B. O(3n)C. O(log3n)D. O(n3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的()和运算等的学科。

A. 结构B. 关系C. 运算D. 算法10、下面程序段的时间复杂度是(A )。

i=s=0;while(s<n){i++;s+=i;}A. O(n)B. O(n2)C. O(log2n)D. O(n3)11、抽象数据类型的三个组成部分分别为( A)。

A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量.以下解释错误的是()。

计算机专业基础综合数据结构树和二叉树历年真题试卷汇编6_真题(含答案与解析)-交互

计算机专业基础综合数据结构树和二叉树历年真题试卷汇编6_真题(含答案与解析)-交互

计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编6(总分88, 做题时间90分钟)1. 单项选择题1.一棵完全二叉树又是一棵( )。

【华中科技大学2006一、7(2分)】SSS_SINGLE_SELA 平衡二叉树B 堆C 二叉排序树D 哈夫曼(Huffman)树分值: 2答案:B解析:完全二叉树的叶子至多在下面两层上,且一个结点若无左子树,绝不能有右子树。

平衡二叉树任何结点的左右子树的高度差的绝对值不超过1,但其结点的值符合二叉排序树的定义。

平衡二叉树(包括二叉排序树)的树形不一定是完全二叉树。

堆是一个序列,有大堆和小堆,编号为i的结点,其父结点、左右子女结点之间位置的关系,符合完全二叉树父结点、左右子女结点之间的关系,从这点上说,可以把堆看成完全二叉树。

哈夫曼树是二叉树,但树形不一定满足完全二叉树的定义。

2.一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是( )。

【合肥工业大学1999一、5(2分)】SSS_SINGLE_SELA 不确定B 0C 1D 2分值: 2答案:D解析:左子树为空的二叉树的根结点的左线索为空(无前驱),先序序列的最后结点的右线索为空(无后继),共2个空链域。

3.一棵左右子树均不空的二叉树在先序线索化后,其中空的链域的个数是( )。

【合肥工业大学2000一、5(2分)】SSS_SINGLE_SELA 0B 1C 2D 不确定分值: 2答案:B4.若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则X的前驱为( )。

【南京理工大学1996一、6(2分)】SSS_SINGLE_SELA X的双亲B X的右子树中最左的结点C X的左子树中最右结点D X的左子树中最右叶结点分值: 2答案:C5.引入二叉线索树的目的是( )。

【南京理工大学1998一、5(2分)】SSS_SINGLE_SELA 加快查找结点的前驱或后继的速度B 为了能在二叉树中方便地进行插入与删除C 为了能方便地找到双亲D 使二叉树的遍历结果唯一分值: 2答案:A6.线素二叉树是一种( )结构。

数据结构试题及答案

数据结构试题及答案

数据结构试题及答案一、选择题(每题5分,共25分)1. 以下哪个数据结构是线性结构?A. 栈B. 树C. 队列D. 图答案:A2. 以下哪个操作的时间复杂度是O(1)?A. 在链表中插入一个元素B. 在数组中查找一个元素C. 在二叉搜索树中插入一个元素D. 在图中查找一个顶点的邻居答案:B3. 以下哪个数据结构是非线性结构?A. 栈B. 队列C. 数组D. 树答案:D4. 以下哪个操作不能在O(1)时间内完成?A. 删除链表的尾节点B. 删除数组的最后一个元素C. 删除二叉搜索树的最小值节点D. 删除图中任意两个顶点之间的边答案:D5. 以下哪个数据结构不具有后进先出(LIFO)的特点?A. 栈B. 队列C. 数组D. 链表答案:B二、填空题(每题5分,共25分)1. 在_________中,任何节点的两个子节点之间恰好有_________条边。

答案:树,02. 动态数组是_________数据结构,它可以在_________时间内改变其大小。

答案:线性,O(1)3. 栈和队列都是_________结构,它们都具有_________特点。

答案:线性,后进先出(LIFO)4. 哈希表是通过_________函数将键映射到_________上的数据结构。

答案:哈希,数组索引5. 在_________中,每个节点最多有_________个子节点。

答案:二叉树,2三、判断题(每题5分,共25分)1. 链表比数组更适合进行频繁的插入和删除操作。

()2. 深度优先搜索(DFS)和广度优先搜索(BFS)都可以用来遍历图。

()3. 堆是一种完全二叉树,且满足堆积的性质。

()4. 哈希表的查找时间复杂度为O(1)。

()5. 并查集是一种用于解决集合合并和查找问题的数据结构。

()四、简答题(每题10分,共30分)1. 简述二分搜索树(BST)的特点及其性质。

答案:二分搜索树是一种有序的二叉树,它的特点是:对于任意节点,其左子树上的所有节点的值都小于该节点的值,其右子树上的所有节点的值都大于该节点的值。

2012年数据结构本科试题及答案

2012年数据结构本科试题及答案

武汉大学计算机学院2012年-2013学年第一学期“数据结构”考试试题(A )姓名学号(序号)_ 班号要求:所有的题目的解答均写在答题纸上,需写清楚题目的序号。

每张答题纸都要写上姓名和序号。

一、单项选择题(每小题2分,共30分)1. 数据结构在计算机内存中的表示是指 。

A. 数据的存储结构 B. 数据结构 C. 数据的逻辑结构 D. 数据元素之间的关系2. 若线性表最常用的运算是存取第i 个元素及其前趋元素的值,则采用 存储方式节省时间。

A.单链表B.双链表C.单循环链表D.顺序表3. 在一个具有n 个结点的有序单链表中插入一个新结点使得仍然有序,其算法的时间复杂度为 。

A.O(log 2n)B.O(1)C.O(n 2)D.O(n) 4. 栈和队列的共同点是 。

A.都是先进后出 B.都是先进先出 C.只允许在端点处插入和删除元素 D.没有其同点5. 判定一个循环队列Q (存放元素位置为0~QueueSize-1,front 指向队中队首元素的前一个位置,rear 指向队中队尾元素的位置)队空的条件是 。

A.Q.front==Q.rearB.Q.front+1==Q.rearC.Q.front==(Q.rear+1)%QueueSizeD.Q.rear==(Q.front+1)%QueueSize 6. 串是 。

A.不少于一个字母的序列B.任意个字母的序列C.不少于一个字符的序列D.有限个字符的序列 7. 一个n×n 的对称矩阵A ,如果采用以列优先(即以列序为主序)的压缩方式存放到一个一维数组B 中,则B 的容量为 。

A. n 2B.22nC. 2)1(+n nD.2)1(2+n8. 若一棵3次树中有a 个度为1的节点,b 个度为2的节点,c 个度为3的节点,则该树中有 个叶子节点。

A.1+2b +3cB.a +2b +3cC.2b +3cD.1+b +2c 9. 一棵完全二叉树中有501个叶子节点,则至少有 个节点。

06级数据结构期末考试题

06级数据结构期末考试题

2006级(嵌入式软件与系统、计算机应用方向)《数据结构》期终考试试卷学号姓名一、单项选择题(每题1分,共15分)1.在计算机科学中,算法指的是( )A. 计算机程序B. 描述问题的方法C. 解决问题的有限步骤序列D. 排序算法2.在数据结构中,可用存储顺序代表逻辑顺序的数据结构为( )A. 顺序结构B. 二叉排序树C. 链式结构D. Hash表3.在数据结构中,按逻辑结构可把数据结构分为( )A. 静态结构和动态结构B. 线性结构和非线性结构C. 顺序结构和链式结构D. 内部结构和外部结构4.对链式存储的正确描述是( )A. 结点之间是连续存储的B. 结点内单元是连续存储的C. 各结点类型可以不一致D. 各结点的地址由小到大5.在下列关于“串”的陈述中,正确的说明是( )A. 串中元素只能是字母B. 串的长度必须大于零C. 串是一种特殊的线性表D. 空串就是空白串6.设A[n][n]为一个对称矩阵,数组下标从[0][0]开始。

为了节省存储,将其下三角部分按行存放在一维数组B[0..m-1],m=n(n+1)/2,对下三角部分中任一元素a ij(i≥j),它在一维数组B 的下标k值是( )A. i(i-1)/2+j-1B. i(i-1)/2+jC. i(i+1)/2+j-1D. i(i+1)/2+j7.对一个满二叉树中,若把它存储到一维数组中(数组下标从0开始),则元素下标为k的右儿子下标是( ) (不考虑数组下标越界的问题)A. ⎣k/2⎦B. ⎡k/2⎤C. 2k+1D. 2k+28.已知一棵二叉树的后序和中序序列分别是dabec和debac,则先序序列是( )A. acbedB. decabC. cedbaD. deabc9.对一个含n个顶点和e条边的无向图(无环),其邻接矩阵中零元素的个数为( )A. eB. 2eC. n2 - eD. n2 - 2e10.假设一个有n个顶点和e条弧的有向图用邻接矩阵表示,则删除与某个顶点v i相关的所有弧的时间复杂度是( )A. O(n)B. O(e)C. O(n+e)D. O(n×e)11.下面关于栈特征的错误描述是( )A. FILOB. FIFOC. 数据可用数组或链表存储D. 弹出数据时,要先检验栈空12.下面关于队列特征的正确描述是( )A. FILOB. FIFOC. 只能用数组来实现队列D. 循环队列不受存储空间限制13.下列排序算法中,时间复杂度最差的是( )A. 选择排序B. 桶(基数)排序C. 快速排序D. 堆排序14. 若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为 ( )A. 顺序存储结构B. 链式存储结构C. 散列存储结构D. 索引存储结构 15. 在一个顺序存储的有序序列中查找指定的关键字,其时间复杂度的下界是 ( )A. O (log n )B. O (n log n )C. O (n )D. O (1) 二、已知一个无向图的顶点集为{ a , b , c , d , e , f },其邻接矩阵如下所示(0-无边,1-有边)。

数据结构本科试题及答案

数据结构本科试题及答案

数据结构本科试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性结构和非线性结构的划分依据是()。

A. 结构的形状B. 是否有分支C. 是否有子结构D. 是否有层次关系2. 线性表的顺序存储结构和链式存储结构相比,其优点是()。

A. 插入和删除操作快B. 存储密度高C. 存储空间可以动态分配D. 存储空间利用率高3. 在二叉树的遍历中,先序遍历的顺序是()。

A. 根-左-右B. 左-根-右C. 右-根-左D. 根-右-左4. 哈希表解决冲突的方法不包括()。

A. 分离链接法B. 开放定址法C. 链地址法D. 顺序存储法5. 在图的遍历中,深度优先搜索(DFS)算法使用的是()。

A. 栈B. 队列C. 链表D. 数组6. 快速排序算法的时间复杂度在最坏情况下是()。

A. O(n)B. O(nlogn)C. O(n^2)D. O(2^n)7. 以下哪个排序算法是稳定的()。

A. 快速排序B. 堆排序C. 归并排序D. 选择排序8. 一个有n个顶点的无向图中,其边的最大数量是()。

A. n(n-1)/2B. n(n+1)/2C. n^2D. 2n9. 以下哪个数据结构适用于实现稀疏矩阵()。

A. 顺序存储B. 链式存储C. 压缩存储D. 散列存储10. 以下哪个算法不是动态查找算法()。

A. 二分查找B. 顺序查找C. 斐波那契查找D. 平衡二叉树查找答案:1. B2. B3. A4. D5. A6. C7. C8. A9. C10. B二、填空题(每题2分,共20分)1. 在数据结构中,一个算法的时间复杂度是指算法执行过程中所需要的基本操作的______与输入数据量之间的关系。

2. 一个长度为n的线性表采用顺序存储结构时,其最后一个元素的存储地址为LOC(n),则第i个元素的存储地址LOC(i)为______。

3. 堆是一种特殊的完全二叉树,其中每个父节点的值都______其子节点的值(填“大于”或“小于”)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

武汉大学计算机学院
2006年-2007学年第二学期“数据结构”考试试题(A )
姓名
学号(序号)_ 答案隐藏 班号
要求:所有的题目的解答均写在答题纸上(每张答题纸上要写清楚姓名、班号和学号),需写清楚题目的序号。

每张答题纸都要写上姓名和序号。

一、单项选择题(每小题2分,共20分)
1. 在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 c 。

A. 数据的处理方法 B. 数据元素的类型 C. 数据元素之间的关系 D. 数据的存储方法
2. 下述函数中对应的渐进时间复杂度(n 为问题规模)最小是 。

A.T1(n)=nlog 2n+5000n B.T2(n)=n 2-8000n
C.T3(n)= n n
2
log -6000n D.T4(n)=1000nlog 2n+7000log 2n
3. 设线性表有n 个元素,以下操作中, 在顺序表上实现比在链表上实现效率更高。

A.输出第i(1≤i≤n)个元素值
B.交换第1个元素与第2个元素的值
C.顺序输出这n 个元素的值
D.输出与给定值x 相等的元素在线性表中的序号
4. 设n 个元素进栈序列是p 1,p 2,p 3,…,p n ,其输出序列是1,2,3,…,n ,若p 3=3,则p 1的值 。

A.可能是2
B.一定是2
C.不可能是1
D.一定是1
5. 以下各种存储结构中,最适合用作链队的链表是 。

A.带队首指针和队尾指针的循环单链表
B.带队首指针和队尾指针的非循环单链表
C.只带队首指针的非循环单链表
D.只带队首指针的循环单链表 6. 对于链串s (长度为n ,每个结点存储一个字符),查找元素值为ch 的算法的时间复杂度为 。

A.O(1)
B.O(n)
C.O(n 2)
D.以上都不对
7. 设二维数组A[6][10],每个数组元素占用4个存储单元,若按行优先顺序存放的数组元素a[3][5]的存储地址为1000,则a[0][0]的存储地址是 。

A.872
B.860
C.868
D.864 8. 一个具有1025个结点的二叉树的高h 为 。

A.11 B.10 C.11~1025 D.12~1024
9. 一棵二叉树的后序遍历序列为DABEC,中序遍历序列为DEBAC,则先序遍历序列为。

A.ACBED
B.DECAB
C.DEABC
D.CEDBA
10. 对图1所示的无向图,从顶点1开始进行深度优先遍历;可得到顶点访问序列。

A.1 2 4 3 5 7 6
B.1 2 4 3 5 6 7
C.1 2 4 5 6 3 7
图1 一个无向图
二、填空题(每题2分,共10分)
1. 顺序队和链队的区别仅在于的不同。

2. 在有n个顶点的有向图中,每个顶点的度最大可达。

3. 对有18个元素的有序表R[1..18]进行二分查找,则查找R[3]的比较序列的下标为。

4. 对含有n元素的关键字序列进行直接选择排序时,所需进行的关键字之间的比较次数为。

5. 已知关键字序列为{2,7,4,3,1,9,10,5,6,8},采用堆排序法对该序列作升序排序时,构造的初始堆(大根堆)是。

(不用画出堆,只需写出初始堆的序列)
三、问答题(共40分)
1. 一棵完全二叉树上有1001个结点,其中叶结点的个数是多少?(需写出推导过程,8分)
2. 给出如下各种情况下求任意一个顶点的度的过程(只需文字描述):(8分)
(1)含n个顶点的无向图采用邻接矩阵存储;
(2)含n个顶点的无向图采用邻接表存储;
(3)含n个顶点的有向图采用邻接矩阵存储;
(4)含n个顶点的有向图采用邻接表存储。

3. 将整数序列{4,5,7,2,1,3,6}中的数依次插入到一棵空的平衡二叉树中,试构造相应的平衡二叉树。

(要求画出每个元素插入过程,若需调整,还需给出调整后的结果,并指出是什么类型的调整,12分)
4. 当实现插入直接排序过程中,假设R[0..i-1]为有序区,R[i..n-1]为无序区,现要将R[i]插入到有序区中,可以用二分查找来确定R[i]在有序区中的可能插入位置,这样做能否改善直接插入排序算法的时间复杂度?为什么?(8分)
5. 简述外排序的两个阶段。

(4分)
四、算法设计题(共30分)
1. 设计一个算法delminnode(LinkList *&L),在带头结点的单链表L中删除所有结点值最小的结点(可能有多个结点值最小的结点)。

(15分)
2.假设二叉树采用二叉链存储结构存储,设计一个算法copy(BTNode *b,BTNode *&t),由二叉树b复制成另一棵二叉树t。

(15分)
参考答案
一、单项选择题(每小题2分,共20分)
1. C
2. D
3. A
4. A
5. B
6. B
7. B
8. C
9. D 10. A
二、填空题(每题2分,共10分)
1. 存储方法或存储结构。

2. 2(n-1)。

3. 9、4、2、3
4. n(n-1)/2。

5. 10,8,9,6,7,2,4,5,3,1。

(序列不全对不给分)
三、问答题(共40分)
1. 答:二叉树中度为1的结点个数只能是1或0。

设n1=1,n=n0+n1+n2=n0+n2+1=1001,由性质1可知n0=n2+1,由两式可求n0=500.5,不成立;设n1=0,n=n0+n1+n2=n0+n2=1001,由性质1可知n0=n2+1,由两式可求n0=501。

本题答案为:501。

评分标准:只给出结果给3分,推导过程占5分。

2. 答:对于邻接矩阵表示的无向图,顶点i的度等于第i行中元素等于1的个;对于邻接矩阵表示的有向图,顶点i的出度等于第i行中元素等于1的个数;入度等于第i列中元素等于1的个数;度数等于它们之和。

对于邻接矩阵表示的无向图,顶点i的出度等于g->adjlist[i]为头结点的单链表中结点的个数;入度需要遍历各顶点的边表,若g->adjlist[k]为头结点的单链表中存在顶点编号为i的结点,则顶点i的入度增1;度数等于它们之和。

评分标准:有向图、无向图两种存储方式各占4分。

3. 建立平衡二叉树过程如图2所示(图中加阴影的结点表示要调整的结点)。

图2 构造平衡二叉树过程
评分标准:每次调整占1分。

4.答:不能。

因为在这里,二分查找只减少了关键字间的比较次数,而记录的移动次数不变,时间的复杂度仍为O(n2)。

评分标准:答对“不能”占3分,说明理由占5分。

5. 答:生成初始归并段(或顺串),采用多路平衡归并方法进行归并。

四、算法设计题(共30分)
1. 解:用p从头至尾扫描单链表,pre指向*p结点的前驱,用minp保存值最小的结点指针,minpre指向*minp结点的前驱。

一面扫描,一面比较,将最小值的结点放到*minp 中。

算法如下:
void delminnode(LinkList *&L)
{
LinkList *pre=L,*p=pre->next,*minp=p,*minpre=pre;
ElemType mindata=p->data;
while (p!=NULL && p->data<mindata)
{ mindata=p->data;
p=p->next;
}
p=pre->next;
while (p!=NULL)
{
if (p->data==mindata)
{ pre->next=p->next;
free(p);
}
pre=pre->next;
p=pre->next;
}
}
评分标准:根据算法的正确性评分,不考虑算法的时间复杂度。

2.解:递归算法如下:
void copy(BTNode *b,BTNode *&t)
{
BTNode *l,*r;
if (b==NULL) t=NULL;
else
{
t=(BTNode *)malloc(sizeof(BTNode));
t->data=b->data;
copy(b->lchild,l);
copy(b->rchild,r);
t->lchild=l;
t->rchild=r;
}
}
评分标准:根据算法的正确性评分,不考虑算法的时间复杂度。

相关文档
最新文档