2011山东省数据结构与算法理论考试试题及答案
数据结构考试试题库含答案解析
![数据结构考试试题库含答案解析](https://img.taocdn.com/s3/m/e7b95e0b773231126edb6f1aff00bed5b9f3732b.png)
数据构造习题集含答案目录目录 (1)选择题 (2)第一章绪论 (2)第二章线性表 (4)第三章栈和队列 (6)第四章串 (7)第五章数组和广义表 (8)第六章树和二叉树 (8)第七章图 (11)第八章查找 (13)第九章排序 (14)简答题 (19)第一章绪论 (19)第二章线性表 (24)第三章栈和队列 (26)第四章串 (28)第五章数组和广义表 (29)第六章树和二叉树 (31)第七章图 (36)第八章查找 (38)第九章排序 (39)编程题 (41)第一章绪论 (41)第二章线性表 (41)第三章栈和队列 (52)第四章串 (52)第五章数组和广义表 (52)第六章树和二叉树 (52)第七章图 (52)第八章查找 (52)第九章排序 (57)选择题第一章绪论1.数据构造这门学科是针对什么问题而产生的?〔A〕A、针对非数值计算的程序设计问题B、针对数值计算的程序设计问题C、数值计算与非数值计算的问题都针对D、两者都不针对2.数据构造这门学科的研究内容下面选项最准确的是〔D〕A、研究数据对象和数据之间的关系B、研究数据对象C、研究数据对象和数据的操作D、研究数据对象、数据之间的关系和操作3.某班级的学生成绩表中查得X三同学的各科成绩记录,其中数据构造考了90分,那么下面关于数据对象、数据元素、数据项描述正确的选项是〔C〕A、某班级的学生成绩表是数据元素,90分是数据项B、某班级的学生成绩表是数据对象,90分是数据元素C、某班级的学生成绩表是数据对象,90分是数据项D、某班级的学生成绩表是数据元素,90分是数据元素4.*数据构造是指〔A〕。
A、数据元素的组织形式B、数据类型C、数据存储构造D、数据定义5.数据在计算机存储器内表示时,物理地址与逻辑地址不一样,称之为〔C〕。
A、存储构造B、逻辑构造C、链式存储构造D、顺序存储构造6.算法分析的目的是〔C〕A、找出数据的合理性B、研究算法中的输入和输出关系C、分析算法效率以求改良D、分析算法的易懂性和文档型性7.算法分析的主要方法〔A〕。
2011山东省数据结构基础考试题库
![2011山东省数据结构基础考试题库](https://img.taocdn.com/s3/m/dff1c1c1360cba1aa811da90.png)
8、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
9、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
A) 4 B)3 C)2 D)12
7、已知栈的最大容量为4。若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。
A) 5,4,3,2,1,6 B) 2,3,5,6,1,4
C) 3,2,5,4,1,6 D) 1,4,6,5,2,3
34、已知栈的最大容量为4。若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。
A) 5,4,3,2,1,6 B) 2,3,5,6,1,4
C) 3,2,5,4,1,6 D) 1,4,6,5,2,3
35、与无向图相关的术语有( C )。
16、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
17、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( B )。
C)顺序队列 D)链队列
10、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
C)队列 D)树
11、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
A) hs->next=s; B) s->next=hs->next; hs->next=s;
2011年山东省数据结构试题大全考试答题技巧(精)
![2011年山东省数据结构试题大全考试答题技巧(精)](https://img.taocdn.com/s3/m/ab7b1c1ea6c30c2259019e83.png)
1、有向图采用邻接矩阵存储,某一行中非零元素的个数等于 A.对应顶点v 的度 B.对应顶点v的出度 C.对应顶点v的入度 D.依附于对应顶点v的边数2、在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行 B 操作与链表的长度有关。
A.删除单链表中的第一个元素 B.删除单链表中的最后一个元素C.在单链表第一个元素前插入一个新元素 D.在单链表最后一个元素后插入一个新元素3、需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。
A.单链表 B.静态链表 C.线性链表 D.顺序存储结构4、在二维数组a[9][10]中:每个数组元素占用3个存储空间,从首地址SA开始按行优先连续存放,则元素a[8][5]的起始地址是 A.SA+141 B.SA+144 C.SA+222 D.SA+255 5、链表不具备的特点是 A 。
A.可随机访问任一结点 B.插入删除不需要移动元素 C.不必事先估计存储空间 D.所需空间与其长度成正比 6、栈采用不同的存储方式时,下列关于出栈过程的叙述中,正确的是 A.顺序栈需要判定栈空,链栈也需要判定 B.顺序栈需要判定栈空,而链栈不需要判定 C.顺序栈不需要判定栈空,而链栈需要判定 D.顺序栈不需要判定栈空,链栈也不需要判定 7、向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( 。
A.O(n B.O(1C.O(n2 D.O(10g2n 8、深度为k的完全二叉树所含叶结点的个数最多为( B)。
A)2k B) 2k-1 C)k D) 2k 9、若进栈序列为1,2,3,4,则不可能得到的出栈序列是( C )。
A)3,2,1,4 B)3,2,4,1 C)4,2,3,1 D)2,3,4,1 10、已知关键字序列为{66,82,25,51,98,108},利用快速排序方法,以第一个元素为基准得到的一趟排序结果为 A.{25,51,66,82,98,108} B.{25,51,66,98,82,108} C.{51,25,66,108,98,82} D.{51,25,66,82,98,108} 11、已知关键字序列为{66,82,25,51,98,108},利用快速排序方法,以第一个元素为基准得到的一趟排序结果为 A.{25,51,66,82,98,108} B.{25,51,66,98,82,108} C.{51,25,66,108,98,82} D.{51,25,66,82,98,108} 12、栈采用不同的存储方式时,下列关于出栈过程的叙述中,正确的是 A.顺序栈需要判定栈空,链栈也需要判定 B.顺序栈需要判定栈空,而链栈不需要判定 C.顺序栈不需要判定栈空,而链栈需要判定 D.顺序栈不需要判定栈空,链栈也不需要判定 13、如果最常用的操作是取第i个结点及其前驱,则采用 D 存储方式最节省时间。
数据结构与算法 试题及答案
![数据结构与算法 试题及答案](https://img.taocdn.com/s3/m/d6bcd73d0640be1e650e52ea551810a6f524c8ac.png)
数据结构与算法试题及答案数据结构与算法试题及答案在计算机科学领域,数据结构与算法是非常重要的基础知识。
数据结构是一种组织和存储数据的方式,而算法则是解决问题的方法和步骤。
掌握好数据结构与算法,有助于提高程序的运行效率和解决实际问题。
下面是一些关于数据结构与算法的试题及其答案,希望能够帮助大家更好地理解和应用这方面的知识。
试题一:什么是数据结构?请举例说明。
答案一:数据结构是一种组织和存储数据的方式。
它可以使数据的操作更加高效。
常见的数据结构有数组、链表、栈、队列、树和图等。
举个例子,数组是一种线性数据结构,可以存储一组相同类型的元素。
试题二:什么是算法?请举例说明。
答案二:算法是一种解决问题的方法和步骤。
它是一个精确的描述,用于解决特定问题。
常见的算法有排序算法、查找算法、递归算法等。
例如,冒泡排序算法是一种比较简单的排序算法,通过不断交换相邻元素的位置来达到排序的目的。
试题三:什么是时间复杂度和空间复杂度?答案三:时间复杂度和空间复杂度是衡量算法性能的两个指标。
时间复杂度是指算法执行所需要的时间,通常用大O符号表示。
空间复杂度是指算法执行所需要的额外空间,通常也用大O符号表示。
它们都是描述算法随着输入规模增大而变化的趋势。
试题四:介绍一下常见的数据结构和相应的操作。
答案四:常见的数据结构有数组、链表、栈、队列、树和图等。
- 数组是一种线性数据结构,可以随机访问元素,并且在插入和删除元素时需要移动其他元素。
- 链表是一种动态数据结构,不需要固定的内存空间,但只能通过指针进行元素的访问。
- 栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除元素的操作。
- 队列是一种先进先出(FIFO)的数据结构,只能在队尾插入元素,在队头删除元素。
- 树是一种非线性数据结构,由节点和指向子节点的边组成。
常见的树有二叉树、二叉搜索树和AVL树等。
- 图是一种复杂的数据结构,由节点和边组成,可以表示各种关系。
2011年考研计算机统考真题及答案解析
![2011年考研计算机统考真题及答案解析](https://img.taocdn.com/s3/m/5164901b52d380eb62946d1d.png)
A.600 波特
B.1200 波特
C.4800 波特
D.9600 波特
35.数据链路层采用选择重传协议(SR)传输数据,发送方已发送了 0 ~ 3 号数据帧,现已
收到 1 号帧的确认,而 0、2 号帧依次超时,则此时需要重传的帧数是
A.1
B.2
C.3
D.4
36.下列选项中,对正确接收到的数据帧进行确认的 MAC 协议是
的中序遍历序列不.会是
A.1, 2, 3, 4
B.2, 3, 4, 1
C.3, 2, 4, 1
D.4, 3, 2, 1
6.已知一棵有 2011 个结点的树,其叶结点个数为 116,该树对应的二叉树中无右孩子的
结点个数是
A.115
B.116
C.1895
D.1896
7.对于下列关键字序列,不.可能构成某二叉排序树中一条查找路径的序列是
13.float 型数据通常用 IEEE 754 单精度浮点数格式表示。若编译器将 float 型变量 x 分配在
一个 32 位浮点寄存器 FR1 中,且 x = -8.25,则 FR1 的内容是
A.C104 0000H B.C242 0000H
C.C184 0000H
D.C1C2 0000H
14.下列各类存储器中,不.采用随机存取方式的是
C.进程 P 的全局变量
D.进程 P 中某线程的栈指针
26.用户程序发出磁盘 I/O 请求后,系统的正确处理流程是
A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序
B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序
C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序
青岛理工大学2011年数据结构A卷考试题答案
![青岛理工大学2011年数据结构A卷考试题答案](https://img.taocdn.com/s3/m/c9fa341d5f0e7cd1842536f0.png)
2010~_2011_学年第 2 学期数据结构课程试卷标准答案及评分标准A( √ )/B( ) 卷专业计算机科学与技术、软件、网络班级计算091-3、网络091-2、软件091-2 一、单项选择题(1*30=30分)1A 2D 3D 4B 5B 6C 7C 8D 9A 10B 11B 12A 13C 14B 15B 16B 17A18B 19C 20C 21B 22C 23B 24D 25B 26C 27A 28B 29B 30B二、判断题(1*10=10分)1 × 2√ 3 × 4 √ 5 × 6√ 7× 8 × 9 × 10×三、综合题(45分)1.二叉排序树如下所示:(8分)查找成功情况下的平均查找长度为:(1+2*2+3*2+4*2+5*3+6*2)/12=23/62.二叉树为:(5分)线索二叉树(5分)红色带箭头的为线索3.哈夫曼树如下(5分)带权路径长度为:WPL=(4+6+8+10)*4+(15+20)*3+(23+35)*2=333 (2分)成功查找情况下的平均查找长度为:ASL=(10*1+3*3)/13=19/135.(1)邻接表如下(2分)(2)深度优先遍历序列:1,2,3,4,5(2分)广度优先遍历序列:1,2,4,5,3(2分)(3)最小生成树:(2分)最小生成树各边上的权值之和为:10五、算法设计题(7+8=15分)1.(共7分)void MergeList_L(LinkList &HA,LinkList &HB,LinkList &HC){ //按值递增排序的单链表LA,LB,归并为LC后也按值递增排序pa=HA-->next; pb=HB-->next; Lc=pc=HA; //初始化(1分)while(pa&&pb) //将pa 、pb结点按大小依次插入C中{ if(pa->data<=pb->data) (1分){pc->next=pa; pc=pa; pa=pa->next;} (2分) else {pc->next=pb; pc=pb; pb=pb->next} (2分) }pc->next = pa?pa:pb ; //插入剩余段(1分)free(HB); //释放Lb的头结点} //MergeList_L2.二叉链表存储的二叉树的层次遍历的算法:(共8分)void BFSTraverse(BiTree T) {InitQueue(Q); // 置空的辅助队列Qif (T) EnQueue(Q, T); // 根结点入队列(1分)while (!QueueEmpty(Q)) { (1分)DeQueue(Q, p); // 队头元素出队并置为p (1分)Visit(p); (1分)if (p->Lchild)EnQueue(Q, p->Lchild); // 左子树根入队列(2分)if (p->Rchild)EnQueue(Q, p->Rchild); // 右子树根入队列(2分)} // while}。
数据结构-《数据结构与算法》试卷及答案【考试试卷答案】
![数据结构-《数据结构与算法》试卷及答案【考试试卷答案】](https://img.taocdn.com/s3/m/461be7d367ec102de3bd892b.png)
《数据结构与算法》试卷A适用专业: 考试日期: 闭卷 所需时间:120分钟 总分:100分一、 选择题(每题1分, 共20题,总共20分)。
1.算法分析的目的是( ) A .辨别数据结构的合理性 B .评价算法的效率C .研究算法中输入与输出的关系D .鉴别算法的可读性2.在一个单链表HL 中,若要在当前由指针p 指向的结点后面插入一个由q 指向的结点,则执行如下( )语句序列。
A. p=q; p->next=q;B. p->next=q; q->next=p;C. p->next=q->next; p=q;D. q->next=p->next; p->next=q; 3.以下哪一个不是队列的基本运算?( )A. 在队列第i 个元素之后插入一个元素B. 从队头删除一个元素C. 判断一个队列是否为空D.读取队头元素的值4.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。
A . 11 B.35 C. 19 D. 535.如下图所示的4棵二叉树中,( )不是完全二叉树。
6.下面关于线性表的叙述中,错误的是哪一个?( )A .线性表采用顺序存储,必须占用一片连续的存储单元。
B .线性表采用顺序存储,便于进行插入和删除操作。
C .线性表采用链接存储,不必占用一片连续的存储单元。
D .线性表采用链接存储,便于插入和删除操作。
7.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。
A .单链表B .仅有头指针的单循环链表C .双链表D .仅有尾指针的单循环链表8. 若长度为n 的线性表采用顺序存储结构,在其第i 个位置插入一个新元素的算法的时间复杂度为( )(1<=i<=n+1)。
A. O(0)B. O(1)C. O(n)D. O(n 2)9. 若已知一个栈的入栈序列是1,2,3,…,n ,其输出序列为p 1,p 2,p 3,…,p N ,若p N 是n ,则p i 是( )。
数据结构和算法习题及答案解析
![数据结构和算法习题及答案解析](https://img.taocdn.com/s3/m/df9663944431b90d6d85c717.png)
第1章绪论习题1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。
2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。
3.简述逻辑结构的四种基本关系并画出它们的关系图。
4.存储结构由哪两种基本的存储方法实现?5.选择题(1)在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.部结构和外部结构(2)与数据元素本身的形式、容、相对位置、个数无关的是数据的()。
A.存储结构B.存储实现C.逻辑结构D.运算实现(3)通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着()。
A.数据具有同一特点B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致C.每个数据元素都一样D.数据元素所包含的数据项的个数要相等(4)以下说确的是()。
A.数据元素是数据的最小单位B.数据项是数据的基本单位C.数据结构是带有结构的各数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构(5)以下与数据的存储结构无关的术语是()。
A.顺序队列 B. 链表 C.有序表 D. 链栈(6)以下数据结构中,()是非线性数据结构A.树B.字符串C.队D.栈6.试分析下面各程序段的时间复杂度。
(1)x=90; y=100;while(y>0)if(x>100){x=x-10;y--;}else x++;(2)for (i=0; i<n; i++)for (j=0; j<m; j++)a[i][j]=0;(3)s=0;for i=0; i<n; i++)for(j=0; j<n; j++)s+=B[i][j];sum=s;(4)i=1;while(i<=n)i=i*3;(5)x=0;for(i=1; i<n; i++)for (j=1; j<=n-i; j++)x++;(6)x=n; //n>1y=0;while(x≥(y+1)* (y+1))y++;(1)O(1)(2)O(m*n)(3)O(n2)(4)O(log3n)(5)因为x++共执行了n-1+n-2+……+1= n(n-1)/2,所以执行时间为O(n2)(6)O(n)第2章线性表1.选择题(1)一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()。
数据结构与算法 试题及答案
![数据结构与算法 试题及答案](https://img.taocdn.com/s3/m/65341b7ca5e9856a56126063.png)
绪论一、填空题1、数据的逻辑结构是数据元素之间的逻辑关系,通常有下列4类:集合_、线性结构_、树型结构_、图状结构_。
2、数据的存储结构是数据在计算机存储器里的表示,主要有4种基本存储方法:顺序存储_、链式存储_、索引存储_、散列存储_。
二、选择题1、一个算法必须在执行有穷步之后结束,这是算法的(B )。
A、正确性B、有穷性C、确定性D、可行性2、算法的每一步必须有确切的定义,也就是说,对于每步需要执行的动作必须严格、清楚地给出规定,这是算法的(A)。
A、正确性B、有穷性C、确定性D、可行性3、算法原则上都是能够有机器或人所完成的。
整个算法好象是一个解决问题的“工作序列”,其中的每一步都是我们力所能及的一个动作,这是算法的(D)A、正确性B、有穷性C、确定性D、可行性三、简单题1、什么是数据结构?什么是算法?两者有什么关系?什么是数据结构?数据结构是按某种逻辑关系组织起来的一批数据(或称带结构的数据元素的集合)应用计算机语言并按一定的存储表示方式把它们存储在计算机的存储器中,并在其上定义了一个运算的集合。
什么是算法?广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”两者有什么关系?算法与数据结构关系密切。
选择的数据结构是否恰当直接影响算法的效率;而数据结构的优劣由算法的执行来体现。
2、什么是复杂度和空间复杂度?时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。
3、数据的逻辑结构分几种?存储结构又有哪几种?数据的逻辑结构:结构定义中的“关系”,描述的是数据元素之间的逻辑关系;包括线性结构(线性表、栈、队、串、数组)和非线性结构(图形结构、树形结构);数据的存储结构(物理结构):数据结构在计算机中的表示(又称映像),包括数据元素的表示和关系德表示。
有顺序存贮(向量存贮)、链式存贮、索引存贮、散列存贮。
线性表1、一个线性表第一个元素的存储地址是100,每个元素的长度为2,则第5 个元素的地址是( B)。
2011级本科数据结构与算法习题答案
![2011级本科数据结构与算法习题答案](https://img.taocdn.com/s3/m/078f3024e2bd960590c67769.png)
第2章线性表2.算法设计题(1)将两个递增的有序链表合并为一个递增的有序链表。
要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。
表中不允许有重复的数据。
void MergeList_L(LinkList &La,LinkList &Lb,LinkList &Lc){pa=La->next; pb=Lb->next;Lc=pc=La; //用La的头结点作为Lc的头结点while(pa && pb){if(pa->data<pb->data){ pc->next=pa;pc=pa;pa=pa->next;}else if(pa->data>pb->data) {pc->next=pb; pc=pb; pb=pb->next;}else {// 相等时取La的元素,删除Lb的元素pc->next=pa;pc=pa;pa=pa->next;q=pb->next;delete pb ;pb =q;}}pc->next=pa?pa:pb; //插入剩余段delete Lb; //释放Lb的头结点}(2)将两个非递减的有序链表合并为一个非递增的有序链表。
要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。
表中允许有重复的数据。
void union(LinkList& La, LinkList& Lb, LinkList& Lc, ) {pa = La->next; pb = Lb->next; // 初始化Lc=pc=La; //用La的头结点作为Lc的头结点Lc->next = NULL;while ( pa || pb ) {if ( !pa ) { q = pb; pb = pb->next; }else if ( !pb ) { q = pa; pa = pa->next; }else if (pa->data <= pb->data ) { q = pa; pa = pa->next; }else { q = pb; pb = pb->next; }q->next = Lc->next; Lc->next = q; // 插入}delete Lb; //释放Lb的头结点}(3)已知两个链表A和B分别表示两个集合,其元素递增排列。
数据结构考试试题及答案
![数据结构考试试题及答案](https://img.taocdn.com/s3/m/a6e1e663bfd5b9f3f90f76c66137ee06eef94e0f.png)
数据结构考试试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用什么类型的数据结构来实现?A. 栈B. 队列C. 数组D. 链表答案:C2. 下列选项中,哪一个不是二叉树的性质?A. 任意节点的左子树和右子树的深度可能不同B. 任意节点的左子树和右子树的深度相同C. 任意节点的左子树和右子树的节点数可能不同D. 任意节点的左子树和右子树的节点数相同答案:B3. 哈希表的冲突解决方法不包括以下哪种?A. 开放定址法B. 链地址法C. 线性探测法D. 排序法答案:D4. 以下哪种排序算法的时间复杂度最低?A. 冒泡排序B. 快速排序C. 插入排序D. 归并排序答案:B5. 在图的遍历算法中,深度优先搜索(DFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:B6. 以下哪种数据结构可以有效地实现稀疏矩阵的存储?A. 顺序存储B. 链表C. 散列D. 邻接矩阵答案:C7. 在二叉搜索树中,插入一个新节点后,树的平衡因子可能为:A. -2B. 0C. 2D. 3答案:A8. 堆数据结构中,父节点的值总是大于其子节点的值,这种堆被称为:A. 最小堆B. 最大堆C. 完全二叉树D. 满二叉树答案:B9. 以下哪个算法不是动态查找表的算法?A. 直接查找B. 二分查找C. 斐波那契查找D. 哈希查找答案:A10. 在图的遍历算法中,广度优先搜索(BFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:C二、填空题(每题2分,共20分)1. 在数据结构中,栈是一种______结构,遵循后进先出(LIFO)的原则。
答案:线性2. 一个具有n个顶点的无向图的边数最多为______。
答案:n*(n-1)/23. 快速排序算法的时间复杂度在最坏情况下为______。
答案:O(n^2)4. 在哈希表中,如果一个关键字的哈希地址已经被占用,则需要进行______。
2011年山东科技大学数据结构与操作系统--真题及参考答案
![2011年山东科技大学数据结构与操作系统--真题及参考答案](https://img.taocdn.com/s3/m/45c49c02844769eae009ed23.png)
《数据结构》部分一、简答题(20 分,每题 5 分)1、请给出4 类常用的基本数据结构类型。
(课本p5第6行)答:根据数据元素之间关系的不同特征,通常有下列4类的基本结构:(1)集合。
(2)线性结构。
(3)树形结构。
(4)图状结构或网状结构。
2、什么是哈希表?(课本P253第2行)答:根据设定的哈希函数H(key)和处理冲突的方法,将一组关键字映射到一个有限的、连续的地址集(区间)上,并以关键字在地址集上的“像”作为记录在表中的存储位置,这种表便称为哈希表。
3、请比较简单排序、快速排序、堆排序、归并排序的算法效率和稳定性。
(课本P289)(算法效率的概念P14;稳定性的概念P263;简单排序也就是除希尔排序之外的所有插入排序P265;快速排序P272;堆排序P279;归并排序P283)答:4、请比较普里姆算法与克鲁斯卡尔算法解决图最小生成树问题的时间复杂度。
(课本P175)(最小生成树:P173;普里姆算法P173;克鲁斯卡尔算法P175)答:普里姆算法的时间复杂度为O(n2)(假设网中有n个顶点),与网中的边数无关,因此适用于求边稠密的网的最小生成树。
而克鲁斯卡尔算法恰恰相反,它的时间复杂度为O(eloge)(e为网中边的数目),因此它相对于普里姆算法而言,适合于求边稀疏的网的最小生成树。
二、应用题(50 分)1、已知二叉树的前序遍历、中序遍历的结果分别是:ABDEFGCHIJ 和DBFEGAHCIJ,请画出对应的二叉树,给出后序遍历的结果,并将它转换成等价的树或森林。
(10 分)(二叉树的前序遍历、中序遍历P128;树P137;森林P138)答:2、某带权有向图及它的邻接表如下:(1)试写出它的深度优先搜索序列。
(深度优先搜索P167;邻接表P163;广度优先搜素P169)答:A-->B-->D-->C-->F-->E-->G--H(提示:不要画图,直接根据邻接表画)(2)根据普里姆(Prim)算法,求它的从顶点A 出发的最小生成树。
数据结构与算法笔试题及答案
![数据结构与算法笔试题及答案](https://img.taocdn.com/s3/m/191d5e4617fc700abb68a98271fe910ef12dae3d.png)
数据结构与算法笔试题及答案1. 问题:什么是栈?请列举栈的应用场景,并举例说明。
答案:栈是一种具有特定插入和删除操作限制的线性数据结构。
栈遵循先入后出(LIFO)原则,即最后插入的元素最先删除。
栈的应用场景包括:- 表达式求值示例:对于表达式"3 + 5 * 2",可以将每个运算符和操作数都压入栈中,按照运算符的优先级进行计算。
- 函数调用示例:函数调用时,每个函数的局部变量和返回地址都可以存储在栈中,在函数返回时再依次弹出。
- 撤销操作示例:在图像编辑软件中,每次对图像进行修改时,可以将修改前的图像状态存储在栈中,撤销操作时便可以弹出最近的状态。
- 括号匹配示例:可以使用栈来判断表达式中的括号是否匹配,每次遇到左括号时压入栈中,遇到右括号时弹出栈顶元素并进行匹配。
2. 问题:请简述二叉树的定义,并介绍二叉树的遍历方式。
答案:二叉树是一种特殊的树型结构,其中每个节点最多有两个子节点。
二叉树的遍历方式包括:- 前序遍历(pre-order traversal):首先访问根节点,然后递归地遍历左子树,最后递归地遍历右子树。
- 中序遍历(in-order traversal):首先递归地遍历左子树,然后访问根节点,最后递归地遍历右子树。
- 后序遍历(post-order traversal):首先递归地遍历左子树,然后递归地遍历右子树,最后访问根节点。
- 层序遍历(level-order traversal):从上到下逐层访问二叉树的节点,同一层的节点按照从左到右的顺序访问。
3. 问题:请说明堆排序的基本思想及实现步骤。
答案:堆排序是一种基于比较的排序算法,其基本思想是通过构建二叉堆(大顶堆或小顶堆),然后依次将堆顶元素与最后一个元素交换,并进行调整,使得剩余元素满足堆的性质。
实现步骤如下:1. 构建堆:从最后一个非叶子节点开始,依次向上调整每个子树,使得每个子树都满足堆的性质。
2. 排序:将堆顶元素与最后一个元素交换,然后对剩余元素进行调整,重复此过程直到排序完成。
2011年济南市计算机专业理论综合试题答案
![2011年济南市计算机专业理论综合试题答案](https://img.taocdn.com/s3/m/b26ebb0c7cd184254b353579.png)
2011年济南市计算机类专业理论综合模拟试题参考答案及评分标准第Ⅰ卷(选择题,共100分)一、选择题(本大题50个小题,每小题2分,共100分)(非选择题,共100分)二、简答题(本大题6个小题,每小题5分,共30分)1.什么是分卷压缩?解压分卷压缩文件时有什么要求?分卷压缩就是压缩时将压缩的文件分成若干个小的压缩文件,以便于下载或拷贝。
解压分卷压缩文件时必须将所有的分卷全部放在一起,解压后缀数字最小的文件就会自动读取所有连续的文件。
2.什么是超线程技术?超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行运算,进而兼容多线程操作系统和软件,减少CPU的闲置时间,提高CPU的运行效率。
3.引起计算机死机的软件原因有哪些?(1)驱动程序有BUG(2)劣质盗版软件的问题(3)计算机病毒原因(4)虚拟内存不足(5)操作系统故障4.右图为某计算机硬盘,按要求回答以下问题。
(1)该硬盘属于什么接口的硬盘?该硬盘属于sata接口的硬盘(2)标号①、②所指的接口分别是什么接口?标号①所指的是数据线接口标号②所指的是电源线接口5.使用硬盘是除了正常的日常维护和保养外,还应注意哪些方面?(1)正确移动硬盘,注意防震(2)正确开关主机电源(3)不要自行拆开硬盘盖(4)正确拆卸硬盘(5)定期整理硬盘(6)学会屏蔽硬盘坏道(7)禁止频繁读写数据6.天网防火墙的安全级别分为哪四种,适合于什么用户?(1)低:适用于在局域网中提供服务的用户(2)中:适用于个人上网用户(3)高:适用于安全性要求很高的用户(1)扩:适用于需要频繁调用各种新的网络软件和服务,有需要对木马程序进行足够限制的用户?三、操作题(本大题8个小题,每小题7分,共40分)1.简述使用PartitionMagic创建新分区的步骤?(1)运行PartitionMagic,单击“任务”菜单下的“创建新的分区”菜单项,单击“下一步”(2)在“创建新的分区”对话框中选择要创建分区的磁盘,单击“下一步”(3)选择“在磁盘之后”创建新分区,单击“下一步”打开“创建新的分区”对话框(4)在“创建新的分区”对话框中选择新分区的大小,文件系统的类型,输入磁盘卷标,在“创建为”下拉列表中选择是主分区或逻辑分区,单击“下一步”(5)单击“完成”,返回主界面,单击“应用”按钮,系统开始创建新的分区。
数据结构考试试题及答案
![数据结构考试试题及答案](https://img.taocdn.com/s3/m/8ddf2f70a22d7375a417866fb84ae45c3a35c214.png)
数据结构考试试题及答案一、选择题(每题2分,共60分)1. 数据结构是指()。
A. 用来存储和组织数据的方式和方法B. 构建数据的逻辑关系C. 存储和处理数据的工具和技术D. 对数据进行操作和管理的过程2. 下列哪种数据结构是线性结构()。
A. 树B. 图C. 队列D. 堆3. 下列哪种数据结构是非线性结构()。
A. 栈B. 队列C. 数组D. 树4. 栈是一种()。
A. 先进先出的数据结构B. 先进后出的数据结构C. 后进先出的数据结构D. 后进后出的数据结构5. 在二叉树中,每个节点最多有几个孩子节点()。
A. 0B. 1C. 2D. 36. 下列哪种排序算法的时间复杂度最好()。
A. 冒泡排序B. 插入排序C. 快速排序D. 归并排序7. 哈希表的查找时间复杂度是()。
A. O(1)B. O(logn)C. O(n)D. O(nlogn)8. 链表的插入和删除操作时间复杂度是()。
A. O(1)B. O(logn)C. O(n)D. O(nlogn)9. 广度优先搜索算法一般使用()数据结构来实现。
A. 栈B. 队列C. 堆D. 树10. 什么是递归()。
A. 函数调用自身的过程B. 通过循环完成的过程C. 一种数据结构D. 没有调用其他函数的过程二、填空题(每题2分,共20分)1. 数据结构中,线性表是由一系列 _______________ 元素构成的数据结构。
2. 在树结构中,每个节点可以有 _______________ 个子节点。
3. 在图结构中,节点之间的关系可以用 _______________ 来表示。
4. _______________ 是一种递归定义的数据结构,它由若干个节点组成,每个节点都有零个或多个子节点。
5. 在堆排序中,堆是一种 _______________ 数据结构。
6. _______________ 是一种常用的搜索算法,常用于解决最短路径问题。
7. 在散列表中,使用 _______________ 来解决冲突问题。
数据结构与算法试题及
![数据结构与算法试题及](https://img.taocdn.com/s3/m/6f653a2c24c52cc58bd63186bceb19e8b8f6ec0f.png)
数据结构与算法试题及答案参考数据结构与算法试题及答案参考一、选择题1. 数据结构是研究什么的?A. 数据的结构和组织B. 数据的格式和排列C. 数据的读取和写入D. 数据的传输和存储正确答案:A2. 在数据结构中,栈(Stack)的特点是什么?A. 先进先出B. 先进后出C. 后进先出D. 后进后出正确答案:C3. 在链表中,结点的指针指向的是什么?A. 结点本身B. 结点的前一个结点C. 结点的后一个结点D. 结点的数据域正确答案:C4. 在二叉搜索树中,左子树的值都小于根节点,右子树的值都大于根节点。
这种特性被称为什么性质?A. 有序性B. 平衡性C. 完全性D. 二叉性正确答案:A二、填空题1. 算法的复杂度可以分为时间复杂度和________复杂度。
正确答案:空间2. 实现队列数据结构可以采用两个栈的方式,称为______队列。
正确答案:双栈3. 快速排序算法的时间复杂度为______。
正确答案:O(nlogn)三、编程题1. 请编写一个函数,实现对一个数组进行冒泡排序。
正确答案:```pythondef bubble_sort(arr):for i in range(len(arr) - 1):for j in range(len(arr) - 1 - i):if arr[j] > arr[j + 1]:arr[j], arr[j + 1] = arr[j + 1], arr[j]return arr```2. 请编写一个递归函数,计算斐波那契数列的第n项。
正确答案:```pythondef fibonacci(n):if n <= 1:return nelse:return fibonacci(n - 1) + fibonacci(n - 2)```四、简答题1. 请简单描述树和图的区别。
答:树是一种特殊的图,它是一个由节点和边组成的非线性数据结构,具有层级关系,且任意两个节点之间有且仅有一条路径相连。
2011山东省计算机等级考试二级理论考试试题及答案
![2011山东省计算机等级考试二级理论考试试题及答案](https://img.taocdn.com/s3/m/c171add6d5bbfd0a795673c9.png)
1、数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D)A. 自顶向下B. 由底向上C. 由内向外D. 由整体到局部2、算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间3、设有下列二叉树:图见书P46对此二叉树中序遍历的结果为(B)A. ABCDEFB. DBEAFCC. ABDECFD. DEBFCA4、下面对对象概念描述错误的是(A)A. 任何对象都必须有继承性B. 对象是属性和方法的封装体C. 对象间的通讯靠消息传递D. 操作是对象的动态性属性5、下列关于栈的叙述中正确的是(D)A. 在栈中只能插入数据B. 在栈中只能删除数据C. 栈是先进先出的线性表D. 栈是先进后出的线性表6、下列叙述中正确的是(A)A. 线性表是线性结构B. 栈与队列是非线性结构C. 线性链表是非线性结构D. 二叉树是线性结构7、信息隐蔽的概念与下述哪一种概念直接相关(B)A.软件结构定义B. 模块独立性C. 模块类型划分D. 模拟耦合度8、数据的存储结构是指(B)A. 数据所占的存储空间量B. 数据的逻辑结构在计算机中的表示C. 数据在计算机中的顺序存储方式D. 存储在外存中的数据9、下面概念中,不属于面向对象方法的是 (D)A. 对象B. 继承C. 类D. 过程调用10、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式11、关系表中的每一横行称为一个(A)A. 元组B. 字段C. 属性D. 码12、希尔排序法属于哪一种类型的排序法(B)A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法13、算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间14、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
数据结构与算法分析习题与参考答案
![数据结构与算法分析习题与参考答案](https://img.taocdn.com/s3/m/f573f3a07375a417866f8fd7.png)
大学《数据结构与算法分析》课程习题及参考答案模拟试卷一一、单选题(每题 2 分,共20分)1.以下数据结构中哪一个是线性结构?( )A. 有向图B. 队列C. 线索二叉树D. B树2.在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下( )语句序列。
A. p=q; p->next=q;B. p->next=q; q->next=p;C. p->next=q->next; p=q;D. q->next=p->next; p->next=q;3.以下哪一个不是队列的基本运算?()A. 在队列第i个元素之后插入一个元素B. 从队头删除一个元素C. 判断一个队列是否为空D.读取队头元素的值4.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( )个不同的字符串?A.14B.5C.6D.85.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。
以下6-8题基于图1。
6.该二叉树结点的前序遍历的序列为( )。
A.E、G、F、A、C、D、BB.E、A、G、C、F、B、DC.E、A、C、B、D、G、FD.E、G、A、C、D、F、B7.该二叉树结点的中序遍历的序列为( )。
A. A、B、C、D、E、G、FB. E、A、G、C、F、B、DC. E、A、C、B、D、G、FE.B、D、C、A、F、G、E8.该二叉树的按层遍历的序列为( )。
A.E、G、F、A、C、D、B B. E、A、C、B、D、G、FC. E、A、G、C、F、B、DD. E、G、A、C、D、F、B9.下面关于图的存储的叙述中正确的是( )。
A.用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关B.用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关C. 用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关D.用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关10.设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?( )A. a,g,h,m,n,p,q,x,zB. a,g,m,h,q,n,p,x,zC. g,m,q,a,n,p,x,h,zD. h,g,m,p,a,n,q,x,z二、填空题(每空1分,共26分)1.数据的物理结构被分为_________、________、__________和___________四种。
数据结构与算法单元测试题1及答案
![数据结构与算法单元测试题1及答案](https://img.taocdn.com/s3/m/40b1c36e3069a45177232f60ddccda38366be165.png)
一、单选题1、在数据结构中,从逻辑上可以将之分为()结构。
A.线性和非线性结构B.动态和静态结构C.紧凑和非紧凑结构D.内部和非内部结构正确答案:A2、算法的时间复杂度取决于()。
A.问题的规模B.待处理数据的初态C.没有正确答案D.问题的规模以及待处理数据的初态正确答案:D3、某算法的时间复杂度是O(n2),表明该算法的()。
A.执行时间与n2成正比B.问题规模与n2成正比C.执行时间等于n2D.问题规模是n2正确答案:A4、衡量算法效率优劣的不包括()。
A.正确性和可读性B.现实性C.健壮性/鲁棒性D.高效率与低存储正确答案:B5、算法效率分析的两个主要方面是()。
A.空间复杂度和时间复杂度B.数据复杂性和程序复杂性C.正确性和简明性D.可读性和文档性正确答案:A6、下面程序段的时间复杂度为()。
for(i=0;i<n;i++)for(j=0;j<m;j++)A[i][j]=0;A.O(n*m)B.O(1)C.O(n2)D.O(m2)正确答案:A7、下面程序段的时间复杂度为()。
void sum(int n) //n为正整数{int p=1,sum=0,i;for(i=1;i<=n;i++){p*=i;sum+=p;}}A.O(n2)B.O(n)C.O(1)D.O(√n)正确答案:B8、下述哪一条是顺序存储结构的优点()。
A.插入运算方便B.随机存取C.可方便地用于各种逻辑结构的存储表示D.删除运算方便正确答案:B9、静态链表中指针表示的是()。
A.下一元素在数组中的下标B.左、右孩子地址C.数组下标D.内存地址正确答案:A10、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()。
A.O(n2)B.O(0)C.O(n)D.O(1)正确答案:C11、对于顺序表,访问结点和删除结点的时间复杂度分别为()。
A.O(n) O(n)B.O(1) O(n)C.O(1) O(1)D.O(n) O(1)正确答案:B12、对于一个带头结点的单链表,其头指针为head,判定该表为空表的条件是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
2、队列的操作的原则是( A )。
A)先进先出 B) 后进先出
C) 只能进行插入 D) 只能进行删除
3、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
A)顺序表示法 B)单字符为结点的单链表表示法
C)等量分块表示法 D)不等量分块表示法
4、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
C)顺序队列 D)链队列
5、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。
A) Head(Head(Tail(Tail(L))))
B) Tail(Head(Head(Tail(L))))
C) Head(Tail(Head(Tail(L))))
D)Head(Tail(Head(Tail(Tail(L)))))
6、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。
A)4 B)5
C)6 D)7
7、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
A) rear=rear->next; B) front=front->next;
C) rear=front->next; D) front=rear->next ;
8、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
C)顺序队列 D)链队列
9、广义表head(((a,b),(c,d)))的运算结果为( A )。
A)(a,b) B)(c,d)
C)空表 D)((a,b),(c,d))
10、以下属于顺序存储结构优点的是( A )。
A) 存储密度大B) 插入运算方便
C)删除运算方便D)可方便地用于各种逻辑结构的存储表示
11、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
A)top不变 B)top=0 C)top-- D)top++
12、线性表的链接实现有利于( A )运算。
A)插入 B)读元素
C)查找 D)定位
13、下列序列中,执行第一趟快速排序后得到的序列是( A )。
A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]
C) [g,a,e,c,b]f[d,h] D) [a,b,c,d,]f[e,g,h]
14、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A) 单链表 B) 仅有头指针的单循环链表
C) 双链表 D) 仅有尾指针的单循环链表。