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)) 的结果串是____。

2015甘肃省计算机等级考试二级试题及答案

2015甘肃省计算机等级考试二级试题及答案

1、下述关于数据库系统的叙述中正确的是(A)A. 数据库系统减少了数据冗余B. 数据库系统避免了一切冗余C. 数据库系统中数据的一致性是指数据类型的一致D. 数据库系统比文件系统能管理更多的数据2、将E-R图转换到关系模式时,实体与联系都可以表示成(B)A. 属性B. 关系C. 键D. 域3、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)A. 模拟现实世界中不同事物之间的联系B. 强调模拟现实世界中的算法而不强调概念C. 使用现实世界的概念抽象地思考问题从而自然地解决问题D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考4、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码5、在关系数据库中,用来表示实体之间联系的是(D)A. 树结构B. 网结构C. 线性表D. 二维表6、对建立良好的程序设计风格,下面描述正确的是(A)A. 程序应简单、清晰、可读性好B. 符号名的命名要符合语法C. 充分考虑程序的执行效率D. 程序的注释可有可无7、在下列选项中,哪个不是一个算法一般应该具有的基本特征(C)A. 确定性B. 可行性C. 无穷性D. 拥有足够的情报8、下面不属于软件工程的3个要素的是(D)A. 工具B. 过程C. 方法D. 环境9、算法一般都可以用哪几种控制结构组合而成(D)A. 循环、分支、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环10、软件调试的目的是(B) 注:与软件测试要对比着复习A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能11、下面概念中,不属于面向对象方法的是 (D)A. 对象B. 继承C. 类D. 过程调用12、算法的时间复杂度是指(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数13、下列叙述中正确的是(C)A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致14、下面概念中,不属于面向对象方法的是 (D)A. 对象B. 继承C. 类D. 过程调用15、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

2015年甘肃省数据结构试题集(10套题并附带答案)一点通

2015年甘肃省数据结构试题集(10套题并附带答案)一点通

16、数据结构在计算机内存中的表示是指 A 。
A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系
17、G是一个非连通无向图,共28条边,则该图至少有( )个顶点
A 6 B 7 C 8 D 9
B.二维数组是其数据元素为线性表的线性表
C.栈的操作方式是先进先出
D.队列的操作方式是先进后出
33、数据结构在计算机内存中的表示是指 A 。
A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系
34、在数据结构中,从逻辑上可以把数据结构分为 C 。
14、深度为k的完全二叉树所含叶结点的个数最多为( B)。
A)2k B) 2k-1 C)k D) 2k
15、在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。
A.数据的处理方法 B.数据元素的类型
C.数据元素之间的关系 D.数据的存储方法
9、在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是 B 。
A.O(1) B.O(n) C.O(n2) D.O(nlog2n)
10、与单链表相比,双链表的优点之一是 D 。
A.插入、删除操作更简单
B.可以进行随机访问
C.可以省略表头指针或表尾指针
D.顺序访问相邻结点更灵活
11、在二维数组a[9][10]中:每个数组元素占用3个存储空间,从首地址SA开始按行优先
连续存放,则元素a[8][5]的起始地址是
A.SA+141 B.SA+144 C.SA+222 D.SA+255
12、若一个栈以数组V[0..n-1]存储,初始栈顶指针top为n,则x入栈的正确操作是

兰大数据结构重点

兰大数据结构重点

数据结构重点第一章1、数据结构:给定数据对象及其上定义的操作(运算、关系)所共同构成的整体数据结构研究的方面:数据的逻辑结构、数据的存储结构(顺序结构、链接结构、索引结构、散列结构)、数据的运算结构第二章1、算法:算法是一个能完成某项特定任务的指令的有限集合。

算法必须满足以下规则:有穷性、确定性、输入输出、可行性。

算法评价的标准:正确性、可读性、健壮性、高效性。

算法的描述方法:计算机程序设计语言、自然语言、伪程序设计语言、流程图第三章1、线性表:一个线性表是n≥0个数据元素a1,a2……a n的有限序列,序列中除第一个和最后一个以外,每个元素有且仅有一个直接前驱和直接后继。

3、链表节点的插入和删除第四章1、栈:栈是一个下限为常数,上限可变化的向量(或者反之)。

队列:队列是一个上限和下限只能增加而不能减少的向量。

3、循环链表的出入队第五章1、串:一个由零个或多个字符组成的有穷序列称为串。

模式匹配:把从目标S中查找模式P的过程称为串的模式匹配(在模式分类或问题回答系统等方面,将输入模式与样本相匹配的过程)。

第六章1、数组:数组是一个向量,它的每个元素是该结构中不可分割的最小单位;n维数组是一个向量,它的每个元素是n-1维数组,且具有相同的上限和下限。

稀疏数组:在一个数组当中和某元素比较而言,不相同的元素很少时,我问称此数组为稀疏数组。

广义表:是零个或多个原子或子表所组成的有限序列。

一般简称为表(或列表)。

2、稀疏矩阵的存储表达,三元组,十字链表第七章1、树T,是满足如下性质的有限个结点组成的非空集合:①T中有且仅有一个称为根的结点。

②除根结点之外,其余结点分成m>0个不相交的集合T1T2……Tn,其中每个Ti都是树,而且都称为T的子树。

二叉树T是满足如下性质的结点的有限结合:T是空集;或者T包含一个根结点且其余结点分成两个不相交的集合并分别称为根结点的左子树和右子树。

遍历:对于给定的数据结构,系统的访问该结构中的每个结点,且每个结点仅访问一次的操作称为遍历。

2010年甘肃省《数据结构》期末考试试题及答案考试重点和考试技巧

2010年甘肃省《数据结构》期末考试试题及答案考试重点和考试技巧
A LL B LR C RL D RR
6、在平衡二叉树中插入一个结点后造成不平衡,设最低的不平衡结点为A,并已知A的左孩子平衡因子为0,右孩子平衡因子为1,则应该做( )型调整以使其平衡
A LL B LR C RL D RR
(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系
C.分析算法的效率以求改进 C.分析算法的易读性和文档性
(2)A.空间复杂度和时间复杂度 B.正确性和简明性
C.可读性和文档性 D.数据复杂性和程序复杂性
26、与单链表相比,双链表的优点之一是 D 。
40、在决定选取何种存储结构时,一般不考虑 A 。
A.各结点的值如何 B.结点个数的多少
C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。
3、下列选项中,符合堆定义的是
A.{102,24,55,60,89,93}
B.{24,89,55,60,93,102}
C.{102,93,55,60,89,24}
D.{102,60。89,93,55,24}
4、在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行 B 操作与链表的长度有关。
28、在数据结构中,与所使用的计算机无关的是数据的 A 结构。
A.逻辑 B.存储 C.逻辑和存储 D.物理
29、在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行 B 操作与链表的长度有关。
A.删除单链表中的第一个元素
B.删除单链表中的最后一个元素
A.删除单链表中的第一个元素
B.删除单链表中的最后一个元素
C.在单链表第一个元素前插入一个新元素
D.在单链表最后一个元素后插入一个新元素

2015甘肃省数据结构考试深入

2015甘肃省数据结构考试深入

1、编写一个过程,对一个n×n矩阵,通过行变换,使其每行元素的平均值按递增顺序排列。

2、有一个带头结点的单链表,每个结点包括两个域,一个是整型域info,另一个是指向下一个结点的指针域next。

假设单链表已建立,设计算法删除单链表中所有重复出现的结点,使得info域相等的结点只保留一个。

#include <stdio.h>typedef char datatype;typedef struct node{datatype data;struct node * next;} listnode;typedef listnode* linklist;/*--------------------------------------------*//* 删除单链表中重复的结点 *//*--------------------------------------------*/linklist deletelist(linklist head){ listnode *p,*s,*q;p=head->next;while(p){s=p;q=p->next;while(q)if(q->data==p->data){s->next=q->next;free(q);q=s->next;}else{ s=q; /*找与P结点值相同的结点*/q=q->next;}p=p->next;}return head;}3、4、void LinkList_reverse(Linklist &L)//链表的就地逆置;为简化算法,假设表长大于2{p=L->next;q=p->next;s=q->next;p->next=NULL;while(s->next){q->next=p;p=q;q=s;s=s->next; //把L的元素逐个插入新表表头}q->next=p;s->next=q;L->next=s;}//LinkList_reverse4、给定n个村庄之间的交通图,若村庄i和j之间有道路,则将顶点i和j用边连接,边上的Wij表示这条道路的长度,现在要从这n个村庄中选择一个村庄建一所医院,问这所医院应建在哪个村庄,才能使离医院最远的村庄到医院的路程最短?试设计一个解答上述问题的算法,并应用该算法解答如图所示的实例。

2015甘肃省分析数据库的考试题目基础

2015甘肃省分析数据库的考试题目基础

1、约瑟夫环问题(Josephus问题)是指编号为1、2、…,n的n(n>0)个人按顺时针方向围坐成一圈,现从第s个人开始按顺时针方向报数,数到第m个人出列,然后从出列的下一个人重新开始报数,数到第m的人又出列,…,如此重复直到所有的人全部出列为止。

现要求采用循环链表结构设计一个算法,模拟此过程。

2、根据二叉排序树中序遍历所得结点值为增序的性质,在遍历中将当前遍历结点与其前驱结点值比较,即可得出结论,为此设全局指针变量pre(初值为null)和全局变量flag,初值为true。

若非二叉排序树,则置flag为false。

#define true 1#define false 0typedef struct node{datatype data; struct node *llink,*rlink;} *BTree;void JudgeBST(BTree t,int flag)// 判断二叉树是否是二叉排序树,本算法结束后,在调用程序中由flag得出结论。

{ if(t!=null && flag){ Judgebst(t->llink,flag);// 中序遍历左子树if(pre==null)pre=t;// 中序遍历的第一个结点不必判断else if(pre->data<t->data)pre=t;//前驱指针指向当前结点else{flag=flase;} //不是完全二叉树Judgebst (t->rlink,flag);// 中序遍历右子树}//JudgeBST算法结束3、对一般二叉树,仅根据一个先序、中序、后序遍历,不能确定另一个遍历序列。

但对于满二叉树,任一结点的左右子树均含有数量相等的结点,根据此性质,可将任一遍历序列转为另一遍历序列(即任一遍历序列均可确定一棵二叉树)。

void PreToPost(ElemType pre[] ,post[],int l1,h1,l2,h2)//将满二叉树的先序序列转为后序序列,l1,h1,l2,h2是序列初始和最后结点的下标。

2015考研真题数据结构

2015考研真题数据结构

2015考研真题数据结构数据结构是计算机科学中非常重要的一门学科,考研中也是一个重点考察的内容。

在2015年的考研真题中,数据结构也是一个热门出题领域。

本文将对2015年考研真题中的数据结构部分进行详细解析和讨论。

一、选择题2015年考研真题数据结构部分的选择题主要集中在树、图和排序算法等内容上。

其中,树的遍历、图的表示和遍历算法、排序算法的性能分析等是考点。

首先是树的遍历问题。

在2015年的考研真题中,给出了一棵二叉树的前序和中序遍历序列,要求根据这两个序列重建原来的二叉树。

这是一个常见的树问题,可以通过递归的方式进行求解。

另外,图的表示和遍历算法也是一个重要考点。

在2015年的考研真题中,给出了一个图的邻接矩阵表示和一个起点,要求输出从起点出发的深度优先遍历和广度优先遍历序列。

这是一个典型的图遍历问题,可以使用深度优先搜索和广度优先搜索算法进行求解。

在排序算法方面,2015年考研真题主要涉及快速排序和归并排序两种算法。

要求对给定的序列进行排序,并分析所给序列的最好、最坏和平均时间复杂度。

快速排序和归并排序是两种常见的高效排序算法,对于考研而言,了解它们的性能分析是很重要的。

二、编程题2015年考研真题的数据结构部分也包含了一道编程题,主要考察的是链表的操作。

在这道编程题中,给出了链表的头结点和一个整数K,要求将链表中第K个节点移动到链表的末尾,并输出新链表的头结点。

这是一个典型的链表操作问题。

可以通过遍历链表找到第K个节点,并进行相应的操作实现题目要求。

三、解题思路对于2015年考研真题中的数据结构部分,我们可以总结出一些解题的思路和方法。

首先,对于树的遍历问题,可以通过递归的方式来求解。

利用前序遍历和中序遍历的性质,可以重建原来的二叉树。

在递归的过程中,可以不断地将前序和中序遍历序列缩小范围,直至找到根节点。

其次,对于图的表示和遍历算法,可以使用深度优先搜索和广度优先搜索算法进行求解。

使用邻接矩阵来表示图,然后利用递归或队列等数据结构进行遍历,可以得到图的深度优先遍历和广度优先遍历序列。

(完整版)数据结构与算法第1章参考答案08

(完整版)数据结构与算法第1章参考答案08
{k=i;
for(j=i+1;j<=n;j++)
if(R[j]>R[j+1])k=j;
t=R[k];R[k]=R[i];R[i]=t;
}
[解答]O(n2)
7.计算一元n次多项式P( x,n)=a0+alx+a2x2+..+anxn“的值,输人x,n,a0,al,…,an,输出多项式P(x,n)的值。设计算法求解,请选择合适的输人、输出格式,要求算法具有较好的时间性能。
习题参考答案
一.选择题
1.从逻辑上可以把数据结构分为(C)两大类。
A.动态结构、静态结构B.顺序结构、链式结构
C.线性结构、非线性结构D.初等结构、构造型结构
2.在下面的程序段中,对x的斌值语句的频度为(C)。
for( t=1;k<=n;k++)
for(j=1;j<=n; j++)
x=x十1;
A. O(2n)B.O(n)C.O(n2).D.O(1og2n)
D.同一个算法,实现语言的级别越高,执行效率就越低
5.在发生非法操作时,算法能够作出适当处理的特性称为(B)。
A.正确性B.健壮性C.可读性D.可移植性
二、判断题
1.数据的逻辑结构是指数据的各数据项之间的逻辑关系。(√)
2.顺序存储方式的优点是存储密度大,且插人、删除运算效率高。(×)
3.数据的逻辑结构说明数据元素之间的次序关系,它依赖于数据的存储结构。(×)
3.采用链式存储结构表示数据时,相邻的数据元素的存储地址(C)。
A.一定连续B.一定不连续
C.不一定连续D.部分连续,部分不连续
4.下面关于算法说法正确的是(D)。
A.算法的时间复杂度一般与算法的空间复杂度成正比
B.解决某问题的算法可能有多种,但肯定采用相同的数据结构

数据结构(C语言版)知识点复习资料

数据结构(C语言版)知识点复习资料

数据结构复习资料一、填空题1. 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。

2. 数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D上的关系有限集合。

3. 数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容。

4. 数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。

5. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。

6.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。

7. 在树形结构中,树根结点没有前驱结点,其余每个结点有且只有 1 个前驱结点;叶子结点没有后续结点,其余每个结点的后续结点数可以任意多个。

8. 在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。

9.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引和散列。

10. 数据的运算最常用的有5种,它们分别是插入、删除、修改、查找、排序。

11. 一个算法的效率可分为时间效率和空间效率。

12. 在顺序表中插入或删除一个元素,需要平均移动表中一半元素,具体移动的元素个数与表长和该元素在表中的位置有关。

13. 线性表中结点的集合是有限的,结点间的关系是一对一的。

14. 向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动 n-i+1 个元素。

15. 向一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动 n-i 个元素。

16. 在顺序表中访问任意一结点的时间复杂度均为 O(1) ,因此,顺序表也称为随机存取的数据结构。

17. 顺序表中逻辑上相邻的元素的物理位置必定相邻。

单链表中逻辑上相邻的元素的物理位置不一定相邻。

18.在单链表中,除了首元结点外,任一结点的存储位置由其直接前驱结点的链域的值指示。

数据结构2015

数据结构2015

1、已知一颗二叉树的先序遍历:ABCDEFGHI ,中序遍历:DCEBAGIHF ,根据已知画出这颗二叉树,并写出它的后序遍历。

2、将如图所示的森林转换成二叉树。

3、假定用于通信的电文由8个字符A 、B 、C 、D 、E 、F 、G 、H 组成,各字母在电文中出现的概率为5%、25%、4%、7%、9%、12%、30%、8%,试为这8个字母设计哈夫曼树,求出每个字符的编码,计算出平均码长。

4、对于如图所示的带权无向图,用图示说明利用Kruskal 算法构造最小生成树的过程。

5、下图给出了一个具有15个活动、11个事件的工程的AOE 网,求关键路径。

C D E F G A B H I LJK3e 1f dc b a g 979 4 6 2 1 85 486、假定一个待哈希存储的线性表为(32,75,29,63,48,94,25,36,18,70,49,80),哈希地址空间为HT[0..12],若采用除留余数法(H= key MOD13)构造哈希函数和线性探测法处理冲突,试画出最后得到的哈希表,并求出在等概率且都成功的情况下的平均查找长度。

7、待排序列为(39,80,76,41,13,29,50,78,30,11,100,7,41,86),步长因子分别取5、3、1,给出采用希尔排序方法按关键字递增序排列时的每一趟结果。

参考答案:1、后序遍历:DECBIHGFAAB FC GD E HI2、3、哈夫曼树CDEFGABHILJK259 918433012 152757100哈夫曼编码:A:0011 B:01 C:0010 D:1010E:000 F:100 G:11 H:1011平均码长:(4*5+2*25+4*4+4*7+3*9+3*12+2*30+4*8)/100=2.694、利用Kruskal 算法构造最小生成树的过程如图ae f d c b g 初始状态 a e f d c b g 增加第2条边 1 1 a efd c bg 增加第1条边 1 3 a e f d c bg 增加第5条边21 413 a e f d c b g 增加第4条边 2 1 1 a e f d c b g 增加第3条边 2 1 13 a e f d c b g 增加第6条边 21 46 15、求解过程如下:6、元素 初始哈希地址最终哈希地址0 1 2 3 4 5 6 7 8 9 10 11 12 平均查找长度为14/107、解:排序过程如下:p=5 39 80 76 41 13 29 50 78 30 11 100 7 41 86子序列分别为{39,29,100},{80,50,7},{76,78,41},{41,30,86},{13,11}。

国家电网考试备考资料:计算机之数据结构与算法(一)

国家电网考试备考资料:计算机之数据结构与算法(一)

国家电网考试备考资料:计算机之数据结构与算法(一)1.数据结构数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。

记为:Data_Structure=(D,R),其中D是数据元素的集合,R是该集合中所有元素之间的关系的有限集合。

数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。

逻辑结构包括:1.集合2.线性结构3.树形结构4.图形结构2.数组 (Array)在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。

这些按序排列的同类数据元素的集合称为数组。

在C语言中,数组属于构造数据类型。

一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。

因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。

数组类别:多维数组有时需要追踪记录数组中的相关信息。

例如,为了追踪记录计算机屏幕上的每一个像素,需要引用它的 X、Y坐标。

这时应该用多维数组存储值。

可用 Visual Basic 声明多维数组。

例如,下面的语句声明了一个过程内的 10 × 10 的二维数组。

Static MatrixA (9,9) As Double可用显式下界来声明两个维数或两个维数中的任何一个:Static MatrixA (1 To 10,1 To 10) As Double可以将所有这些推广到二维以上的数组。

例如:Dim MultiD (3,1 To 10,1 To 15)这个声明建立了三维数组,大小为 4 × 10 × 15。

元素总数为三个维数的乘积,为 600。

注意在增加数组的维数时,数组所占的存储空间会大幅度增加,所以要慎用多维数组。

使用 Variant 数组时更要格外小心,因为他们需要更大的存储空间。

用循环操作数组:可以用 For循环嵌套有效的处理多维数组。

2015甘肃省公务员考试复习资料考试技巧、答题原则

2015甘肃省公务员考试复习资料考试技巧、答题原则

1、下面哪个网络是Internet的最早雏形____。

A、NSFNETB、CERNETC、ARPANETD、CSTNET2、在Word的编辑状态,打开了"wi.doe"文档,若要将经过编辑后的文档以"w2.doc"为名存盘,应当执行“文件”菜单中的命令是____。

A、保存B、别存为HTMLC、另存为D、版本3、计算机网络技术包含的两个主要技术是计算机技术和____。

A、微电子技术B、通信技术C、数据处理技术D、自动化技术4、十进制数89转换成二进制数是____。

A、1101101B、1011001C、1100101D、10011015、电脑病毒的主要危害是____。

A、损坏电脑的显示器B、干扰电脑的正常运行C、影响操作者的健康D、使电脑长锈腐烂6、某用户在域名为的邮件服务器上申请了一个账号,账号名为Xing,那么该用户的电子邮件地址为____。

A、@xingB、%XingC、Xing%D、Xing@7、下面列出的条目中,数据库的主要特点是____:I、存储大量数据;II、高效检索;III、管理操作方便;IV、通过网络实现数据共享。

A、Ⅰ、Ⅱ和ⅢB、Ⅰ和ⅡC、Ⅰ、Ⅱ和ⅣD、都是8、在利用FrontpPage编辑网页时,要想观看网页在浏览器中的情形,应使用FrontpPage2000 网页视图窗口中的____标签。

A、打印预览B、预览C、打印D、HTML9、在Windows中,为了查找文件名以"A"字母打头,后跟一字母的所有文件,应当在查找名称框内输入____。

A、AB、A*C、A?D、A#10、为了保证任务栏任何时候在屏幕上可见,应在"任务栏属性"对话框的"任务栏选项"标签中选择____。

A、不被覆盖 B、总在最前 C、自动隐藏 D、显示时钟11、Pentium IV处理器属于____处理器。

A、第一代B、第三代C、第四代D、第五代12、计算机病毒主要是通过____传播的。

  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)。

相关文档
最新文档