2015甘肃省数据结构与算法(必备资料)

合集下载

数据结构与算法 试题及答案

数据结构与算法 试题及答案

绪论一、填空题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)。

2015甘肃省数据结构与算法考试题库

2015甘肃省数据结构与算法考试题库

1、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A )。

A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;C)p->next=s->next; s->next=p D)p->next=s; s->next=q;2、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。

A)n B)2e C)e D) n+e3、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。

A)p->next=p->next->next B)p=p->nextC)p=p->nexe->next D)p->next=p4、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( B )。

A)3,2,5,6,4,1 B)1,5,4,6,2,3C)2,4,3,5,1,6 D)4,5,3,6,2,15、在数据结构中,从逻辑上可以把数据结构分为( C )。

A)动态结构和静态结构 B)紧凑结构和非紧凑结构C)线性结构和非线性结构 D)内部结构和外部结构6、队列的操作的原则是( A )。

A)先进先出 B) 后进先出C) 只能进行插入 D) 只能进行删除7、下面关于线性表的叙述中,错误的是哪一个?( D )A)线性表采用顺序存储,必须占用一片连续的存储单元。

B)线性表采用链接存储,便于插入和删除操作。

C)线性表采用链接存储,不必占用一片连续的存储单元。

D)线性表采用顺序存储,便于进行插入和删除操作。

8、已知广义表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)))))9、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A )。

2015级软件工程专业《数据结构与算法》上机题目 (1)

2015级软件工程专业《数据结构与算法》上机题目 (1)

1868: 2015级软件班《数据结构与算法》实验1:线性表的应用(6学时)Description输入一个字符串,按照字符串的输入顺序创建一个线性表A。

线性表A中包含有三类字符:数字字符、字母字符、其他字符。

试写一个函数实现对线性表A的拆分,使得线性表A、B、C分别各自指向同一类字符。

要求如下:(1)在拆分时,必须使用原表A的结点空间,不能额外创建新结点。

(2)拆分后,原表A指向数字字符,且其内容的前后次序与原表中的前后次序必须一致,新的表B指向字母字符,新的表C指向其他字符。

其中要求删除B中的重复结点(如“abbcdexec”,变为“abcdex”)。

(3)判断拆分后的表A是否是中心对称的(如123321或12321都是中心对称的),若是,则输出1,否则输出0。

Input输入格式要求:输入一行字符串,可以带空格,并以‘?’做为输入结束标志,中间不能输入’?‘。

字符串长度不做限制。

如可以输入:1aabccd2e3f(!3c<2g1>?Output输出格式要求:前3行分别输出表A、B、C的内容(若某个表为空表,则相应行输出-1),第4行输出表A是否为对称的标志。

如输出:123321 (拆分后表A的内容)abcdef g (拆分后表B的内容)(!<> (拆分后表C的内容)1 (拆分后表A是中心对称的)Sampl e Input1aabccd2e3f(!3c<2g1>?Sampl e Output123321abcdefg(!<>1HINT为了方便判断线性表是否为中心对称的,可以使用双向链表结构(但不是必须的)。

1869: 2015级软件工程专业《数据结构与算法》实验2:表达式求值(9学时~12学时)Description表达式求值是计算机实现程序设计语言中的基本问题之一,也是栈应用的一个典型例子,通过本实验,对输入的一个表达式进行求值。

[实验目的]掌握栈的应用;掌握算符优先表达式求值的算法;掌握字符串处理和数值的转换。

《数据结构与算法》课程思政优秀教学案例(一等奖)

《数据结构与算法》课程思政优秀教学案例(一等奖)

《数据结构与算法》课程思政优秀教学案例(一等奖)一、课程简介数据结构与算法是计算机科学与技术专业的核心基础课程,是一门理论与实践相结合的课程,在课程体系中处于举足轻重的地位。

课程主要介绍线性表、栈、队列、数组、树、图等常用数据结构的基本概念、操作及其典型应用及基本和经典的查找、排序算法。

通过研究数据的逻辑结构和存储结构,建立在数据结构上基本运算的正确概念,学习基本算法效率的定性和定量分析方法。

使学生熟悉数据结构在计算机科学中最基本的应用,了解数据对象的特性,学会数据组织的方法,并初步具备分析和解决现实世界问题的能力。

学完本课程后学生将基本掌握数据结构和算法的设计分析技术,提高程序设计的质量;根据所求解问题的性质选择合理的数据结构并对时间空间复杂性进行必要的控制。

二、课程内容三、案例(一)案例来源案例1:人与自然的和谐发展案例2:构建社会主义和谐社会的提出过程(二)案例点评适用范围:本案例主要适用于数据结构、思想政治等课程。

本案例是一个人与自然关系、社会主义和谐观的思考,通过结合数据结构中平衡二叉树的概念,其教学目的在于使学生对平衡的概念更清晰、准确和透彻的理解,提高学生正确认识问题、分析问题和解决问题并培养严谨对待问题的工匠精神。

思政元素:和谐价值观课程思政教学目标:(1)通过案例讨论,演示平衡二叉树调整的4种情况,让学生发现其中的变化及调整规律。

(2)加强学生对平衡概念的认识,并启发学生注重心态平衡,以及社会和谐。

相关教学经验:将专业知识与社会科学、科学精神等结合,从课程知识过渡到思政元素的过程中,如何做到过渡自然,是需要注意的地方。

课上,通过讨论对平衡的理解,使学生对平衡二叉树的概念有了更深的感悟,不仅学到了课本知识,还对人与自然和谐、国家构建和谐社会有了进一步认识。

2015年数据结构真题回忆版

2015年数据结构真题回忆版

2015年华中科技大学887数据结构与算法分析真题(回忆版)一.名词解释1.1(二叉树结点的)平衡因子1.2有向完全图1.3空间复杂度1.4(图的)广度优先搜索1.5二叉搜索树二.选择题2.1函数形式是⎪⎩⎪⎨⎧-=+-<=其他如果如果,)),1((12%,1)2(00)(n A A n n A n n A ,那么函数的时间复杂度是__________。

)(.A n O )log (.B n n O )(.C 2n O 记不清了.D2.2以下排序方法中时间复杂度比较稳定的是_______。

冒泡排序.A 选择排序.B 记不清了.C 归并排序.D2.3后续表达式求值。

2.4在长度为n 的数组中进行查找,成功查找的时间复杂度是________。

2.A n 21.B -n 21.C +n2.5题目给出的时间复杂度形式类似23log )(n n n n n n O ++=,则时间复杂度为_______。

三.大题3.1给出二叉树的中序遍历和后序遍历,试画出二叉树。

3.2给出九个数,用这九个数构成一颗哈夫曼树,并给出每一个数的哈夫曼编码。

3.3给出八个数,运用数组将这八个数构造成一个小根堆,并写出构造过程。

3.4有向图中共有0V 到6V 七个节点,运用Dijkstra 算法求出从0V 到其余点的最短路径,并写出过程。

3.5假设数组][a 中的元素增序排列并且每个元素的值均不相同,试设计算法确定是否存点点i 使得i i a =][,并给出算法的时间复杂度。

四.算法设计4.1运用函数)*(__int root BTNode leaves of number 设计算法计算二叉树中叶子结点的个数。

4.2在一个数组中如果j i <并且][][j A i A >,则称i 和j 为一对逆序对,请设计算法计算数组][n A 中的逆序对数,要求算法的时间复杂度为)log (n n O 。

数据结构与算法详解

数据结构与算法详解

数据结构与算法详解数据结构和算法是计算机科学中非常重要的两个概念。

数据结构是一种数据组织和存储方式,它能够提高数据的访问和处理效率。

算法是一种解决问题的具体步骤,可以优化问题的解决方式。

在计算机科学中,数据结构和算法被广泛应用于软件开发、数据处理、计算机通信等方面。

本文将深入介绍数据结构和算法的相关内容。

一、常用数据结构常见的数据结构有数组、链表、堆、栈、队列、散列表、二叉树等。

下面依次介绍这些数据结构的特点。

1. 数组数组是一种线性结构,由一组相同类型的元素组成并按照一定的顺序存储。

数组具有下标定位和随机访问等优点,适用于元素较少且随机查询比较频繁的情况。

2. 链表链表也是一种线性结构,由一系列不同类型的数据节点组成。

每个节点包含一个数据项和指向下一个节点的指针。

链表具有灵活的插入和删除操作,适用于元素较多且数据分散的情况。

3. 堆堆是一种特殊的树形结构,它满足父节点的键值总是大于或等于子节点的键值。

堆常用于优先队列、排序等场景中。

4. 栈栈是一种特殊的线性结构,它的数据存储在一个简单的表中,只有在表的一端进行插入和删除操作。

栈的操作是“后进先出”,适用于回溯、表达式求值等场景中。

5. 队列队列也是一种特殊的线性结构,它的数据存储在一个简单的表中,只能从表的一端进行插入,从另一端进行删除。

队列的操作是“先进先出”,适用于排队、广度优先搜索等场景中。

6. 散列表散列表也叫哈希表,是一种根据键值(key)而直接访问到值(value)的数据结构。

散列表通过哈希函数将键映射到表中位置,从而实现快速查找。

7. 二叉树二叉树是一种特殊的树形结构,每个节点最多有两个子节点。

二叉树包含前序遍历、中序遍历、后序遍历等方法,适用于排序、查找等场景中。

二、常用算法常见的算法包括排序、搜索、图算法等。

下面依次介绍这些算法的特点。

1. 排序算法排序算法是将一组未排序的数据按照一定的规则进行排序的算法。

常见的排序算法有冒泡排序、快速排序、插入排序、选择排序、归并排序、计数排序、桶排序、基数排序等。

数据结构 2015版(严)

数据结构 2015版(严)

树和二叉树
问题:对于一般的二叉树如何存储呢?
●非完全二叉树的存储示例
1 3 5 6 7
6 7Βιβλιοθήκη 2 4一般二叉树也 必须以完全二 叉树的形式来 确定。无结点 的补0,造成了 存储空间的浪 费。
bt(1:11)
1 2 3 4 5 0 0 0 0
(0表示不存在此结点)
6.2 二叉树
6.2.3 二叉树的存储结构 一、顺序存储结构
6.2 二叉树
6.2.1 二叉树的定义 ● 基本形态:二叉树有5种基本形态。
树和二叉树

A B
A
A B
左子树为空
A B C
左、右子树 均非空
空二叉树
只有根结点 的二叉树
右子树为空
图6.3 树的5种基本形态
6.2 二叉树
6.2.2 二叉树的性质
树和二叉树
性质1:在二叉树的第i层上至多有2i-1个结点(i≥1)。 [证]用归纳法。 1)i=1,只有一个根结点。2i-1=20=1。正确。 2)设命题对j成立,即有第j层上至多有2j-1个结 点。由于二叉树每个结点的度至多为2,故第i层上最 大结点数是第i-1层的2倍,即2j-1.2=2j=2(j+1)-1。故命 题对j+1亦成立。 证毕。
link n
困惑:构造树的结点时 应当开多少个链域?
树和二叉树
左孩子-右兄弟表示法
A B C D
E
F
G
H
I
J
data 右兄弟 左孩子
K
L
M
多叉树转为 了二叉树
6.2 二叉树
树和二叉树
为何要重点研究结点最多只有两个 “叉” 的树?
● 二叉树的结构最简单,规律性最强; ● 可以证明,所有树都能转为唯一对应的二叉树, 不失一般性。

数据结构与算法考试试卷

数据结构与算法考试试卷

江西财经大学-第学期期末考试试卷试卷代码:03266A 授课课时:112课程名称:数据结构与算法适用对象:本科一、单项选择题(从下列各题四个备选答案中选出一个正确答案,并将其代号写在答题纸相应位置处。

答案错选或未选者,该题不得分。

每小题2分,共24分。

)1.数据结构被形式地定义为(K,R),其中K是数据元素的有限集,R是K上的___有限集。

A.操作B.映像C.存储D.关系2.线性表若采用链式存储结构时,要求内存中可用存储单元的地址____。

A.必须连续的B.部分地址必须连续的C.一定是不续的D.连续不连续都可以3.一个栈的入栈序列是a、b、c、d、e,则栈的不可能输出序列是____。

A.edcbaB.decbaC.dceabD.abcde4.一个队列的入队序列是1、2、3、4,则队列输出序列是____。

A.4、3、2、1B.1、2、3、4C.1、4、3、2D.3、2、4、15.栈和队列的共同点是____。

A.都是先进后出B.都是先进先出C.只允许在端点处插入、删除元素D.没有共同点6.在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行____。

A. s->next = p->next; p->next=s;B. p->next = s->next; s->next = p;C. q->next = s; s->next = p;D. p->next = s; s->next = q;7.设串s1=‘ABCDEFG’,s2=‘PQRST’,函数con (x, y) 返回x与y串的连接串,函数subs (s, i, j) 返回串s的从序号i的字符开始的j个字符组成的子串,函数len (s) 返回串s的长度,则con (subs (s1, 2, len (s2)), subs (s1, len (s2), 2)) 的结果串是____。

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

1、n个顶点的图的最小生成树必定( D ),是不正确的描述。

A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
2、串的逻辑结构与( D )的逻辑结构不同。

A)线性表 B)栈
C)队列 D)树
3、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( B )。

A)3,2,5,6,4,1 B)1,5,4,6,2,3
C)2,4,3,5,1,6 D)4,5,3,6,2,1
4、线索二叉树中某结点D,没有左孩子的条件是( B )。

A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
5、数据结构研究的内容是( D )。

A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
6、以下属于顺序存储结构优点的是( A )。

A) 存储密度大B) 插入运算方便
C)删除运算方便D)可方便地用于各种逻辑结构的存储表示
7、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。

A) hs->next=s; B) s->next=hs->next; hs->next=s;
C) s->next=hs; hs=s; D) s->next=hs; hs=hs->next;
8、在数据结构中,从逻辑上可以把数据结构分为( C )。

A)动态结构和静态结构 B)紧凑结构和非紧凑结构
C)线性结构和非线性结构 D)内部结构和外部结构
9、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。

A) 单链表 B) 仅有头指针的单循环链表
C) 双链表 D) 仅有尾指针的单循环链表
10、采用链结构存储线性表时,其地址( B )。

A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
11、以下属于顺序存储结构优点的是( A )。

A) 存储密度大B) 插入运算方便
C)删除运算方便D)可方便地用于各种逻辑结构的存储表示
12、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。

A) A, B, C, D, E
B) B, C, D, E, A
C) E, A, B, C, D
D) E, D, C, B, A
13、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。

A)13 B)33 C)18 D)40
14、n个顶点的图的最小生成树必定( D ),是不正确的描述。

A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
15、串的逻辑结构与( D )的逻辑结构不同。

A)线性表 B)栈
C)队列 D)树
16、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。

A)9 B)11 C)15 D)不能确定
17、n个顶点的强连通图至少有( A )条边。

A)n B)n+1 C)n-1 D)n(n-1)。

相关文档
最新文档