数据结构14

合集下载

《数据结构》填空作业题(答案)

《数据结构》填空作业题(答案)

《数据结构》填空作业题答案第 1 章绪论(已校对无误)1.数据结构包括数据的逻辑结构、数据的存储结构和数据的运算三方面的内容。

2.程序包括两个内容:数据结构和算法。

3.数据结构的形式定义为:数据结构是一个二元组:Data Structure =( D, S)。

4.数据的逻辑结构在计算机存储器内的表示,称为数据的存储结构。

5.数据的逻辑结构可以分类为线性结构和非线性结构两大类。

6.在图状结构中,每个结点的前驱结点数和后继结点数可以有多个。

7.在树形结构中,数据元素之间存在一对多的关系。

8.数据的物理结构,指数据元素在计算机中的标识(映象),也即存储结构。

9.数据的逻辑结构包括线性结构、树形结构和图形结构 3 种类型,树型结构和有向图结构合称为非线性结构。

10. 顺序存储结构是把逻辑上相邻的结点存储在物理上连续的存储单元里,结点之间的逻辑关系由存储单元位置的邻接关系来体现。

11. 链式存储结构是把逻辑上相邻的结点存储在物理上任意的存储单元里,节点之间的逻辑关系由附加的指针域来体现。

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

13. 线性结构反映结点间的逻辑关系是一对一的,非线性结构反映结点间的逻辑关系是一对多或多对多。

14.数据结构在物理上可分为顺序存储结构和链式存储结构。

15. 我们把每种数据结构均视为抽象类型,它不但定义了数据的表示方式,还给出了处理数据的实现方法。

16.数据元素可由若干个数据项组成。

17.算法分析的两个主要方面是时间复杂度和空间复杂度。

18.一个算法的时间复杂度是用该算法所消耗的时间的多少来度量的,一个算法的空间复杂度是用该算法在运行过程中所占用的存储空间的大小来度量的。

19.算法具有如下特点:有穷性、确定性、可行性、输入、输出。

20. 对于某一类特定的问题,算法给出了解决问题的一系列操作,每一操作都有它的确切的定义,并在有穷时间内计算出结果。

数据结构习题及答案

数据结构习题及答案

数据结构习题习题一一、选择题1、数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的(B)和运算的学科。

A.结构B.关系C.运算D.算法2、在数据结构中,从逻辑上可以把数据结构分成(C)。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.逻辑结构和存储结构3、线性表的逻辑顺序和存储顺序总是一致的,这种说法(B)。

A.正确B.不正确C.无法确定D.以上答案都不对4、算法分析的目的是(C)。

A.找出算法的合理性B.研究算法的输人与输出关系C.分析算法的有效性以求改进D.分析算法的易懂性二、填空题1、数据是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,数据是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。

例如,数学中所用到的整数和实数,文本编辑所用到的字符串等。

2、数据元素是数据的基本单位,有些情况下也称为元素、结点、顶点、记录等。

3、数据项是数据不可分割的最小单元,是具有独立含义的最小标识单位。

例如构成一个数据元素的字段、域、属性等都可称之为_数据项。

4、简而言之,数据结构是数据之间的相互关系,即数据的组织形式。

5、数据的逻辑结构是指数据之间的逻辑关系。

逻辑结构是从逻辑关系上描述数据,它与具体存储无关,是独立于计算机的。

因此逻辑结构可以看作是从具体问题抽象出来的数学模型。

6、数据的存储结构指数据元素及其关系在计算机存储器内的表示。

存储结构是逻辑结构在计算机里的实现,也称之为映像。

7、数据的运算是指对数据施加的操作。

它定义在数据的逻辑结构之上,每种逻辑结构都有一个数据的运算。

常用的有:查找、排序、插人、删除、更新等操作。

8、数据逻辑结构可以分为四种基本的类型,集合结构中的元素除了仅仅只是同属于一个集合_,不存在什么关系。

9、数据逻辑结构的四种基本类型中,线性结构_中的元素是一种一对一的关系,这种结构的特征是:若结构是非空集,则有且只有一个开始结点和一个终端结点,并且所有结点最多只能有一个直接前驱和一个直接后继。

数据结构(含答案)

数据结构(含答案)

数据结构综合练习一、选择题1.数据的存储结构包括顺序、链接、散列和()4种基本类型。

A索引B数组C集合D向量2.下面程序的时间复杂性的量级为()。

int i=0,s1=0,s2=0;while(i++<n){if (i%2)s1+=i;…else s2+=i;}(1) (1bn) (n)(2n)3.下面程序段的时间复杂度为()。

for(int i=0;i<m;i++)for(int j=0;j<n;j++)a[i][j]=i*j;(m2) (n2) (m+n) (m*n)4.在一个长度为n的顺序存储结构的线性表中,向第i个元素(1≤i≤n+1)位置插入一个元素时,需要从后向前依次后移()个元素。

+l<5.在一个长度为n的顺序存储结构的线性表中,删除第i个元素(1≤i≤n+1)时,需要从前向后依次后移()个元素。

+l6.在一个长度为n的线性表中,删除值为x的元素时需要比较元素和移动元素的总次数为()。

A.(n+1)/2 2 +17.在一个顺序表中的任何位置插入一个元素的时间复杂度为()。

A. O(n)B. O(n/2)C. O(1)D. O(n2)8. 线性表的链式存储比顺序存储更有利于进行()操作。

A.查找B.表尾插入和删除C.按值插入和删除D.表头的插入和删除…9. 线性表的顺序存储比链式存储更有利于进行()操作。

A.查找B.表尾插入和删除C.按值插入和删除D.表头的插入和删除10. 在一个表头指针为ph的单链表中,若要向表头插入一个由指针p指向的结点,则应执行()操作。

A. ph=p; p->next=ph;B. p->next=ph; ph=p;C. p->next=ph; p=ph;D. p->next=ph->next; ph->next=p;11. 在一个表头指针为ph的单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行()操作。

数据结构1800题(答案全)

数据结构1800题(答案全)

一、选择题1. 算法的计算量的大小称为计算的(B )。

【北京邮电大学2000 二、3 (20/8分)】A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于(C )【中科院计算所1998 二、1 (2分)】A.问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是(1),它必须具备(2)这三个特性。

(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性【南京理工大学1999 一、1(2分)【武汉交通科技大学1996 一、1(4分)】4.一个算法应该是()。

【中山大学1998 二、1(2分)】A.程序B.问题求解步骤的描述C.要满足五个基本特性D.A 和C.5. 下面关于算法说法错误的是()【南京理工大学2000 一、1(1.5分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是()【南京理工大学2000 一、2 (1.5分)】(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为()两大类。

【武汉交通科技大学1996 一、4(2分)】A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是()。

【北方交通大学2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈9.以下数据结构中,哪一个是线性结构()?【北方交通大学2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串10.以下那一个术语与数据的存储结构无关?()【北方交通大学2001 一、2(2分)】A.栈 B. 哈希表 C. 线索树 D. 双向链表11.在下面的程序段中,对x的赋值语句的频度为()【北京工商大学2001 一、10(3分)】FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1;A.O(2n) B.O(n) C.O(n2) D.O(log2n)12.程序段FOR i:=n-1 DOWNTO 1 DOFOR j:=1 TO i DOIF A[j]>A[j+1]THEN A[j]与A[j+1]对换;其中n为正整数,则最后一行的语句频度在最坏情况下是()A. O(n)B. O(nlogn)C. O(n3)D. O(n2) 【南京理工大学1998一、1(2分)】13.以下哪个数据结构不是多型数据类型()【中山大学1999 一、3(1分)】A.栈B.广义表C.有向图D.字符串14.以下数据结构中,()是非线性数据结构【中山大学1999 一、4】A.树B.字符串C.队D.栈15. 下列数据中,()是非线性数据结构。

山西煤矿db14数据结构

山西煤矿db14数据结构

山西煤矿db14数据结构山西煤矿DB14数据结构是指山西地区煤矿中使用的DB14数据通信模块的数据结构。

DB14数据通信模块是一种用于数据通信的设备,可以实现不同设备之间的数据交换和共享。

下面将详细介绍山西煤矿DB14数据结构。

山西煤矿DB14数据结构主要包括输入、输出、内部变量以及数据通信相关的参数等。

首先介绍输入和输出。

输入指的是从其他设备获取的数据,输出指的是向其他设备发送的数据。

输入和输出数据可以是不同类型的数据,比如模拟量、数字量、字符串等。

在煤矿中,常见的输入数据包括传感器采集的温度、压力、煤矿井下的水位等信息;常见的输出数据包括控制柜的开关量信号、电机控制信号等。

其次是内部变量。

内部变量是指在DB14数据通信模块内部使用的变量,用于存储和处理数据。

内部变量可以是标量(一个变量存储一个值)、数组(多个变量存储多个值)等。

在煤矿中,内部变量常用于存储和处理传感器采集的数据,比如对采集的温度数据进行滤波处理、对水位数据进行报警判断等。

此外,数据通信相关的参数也是DB14数据结构的重要组成部分。

数据通信参数包括通信协议、通信地址、通信速率等。

通信协议指的是数据通信模块与其他设备之间的通信方式,比如MODBUS、Profibus等;通信地址指的是访问数据通信模块的唯一标识,可以是硬件地址或软件地址;通信速率指的是数据传输的速度,一般以波特率表示。

除了以上介绍的几个主要组成部分,山西煤矿DB14数据结构还包括一些其他的参数和功能,比如数据采集周期、报警设置、故障诊断等。

数据采集周期是指数据通信模块对输入数据进行采集的时间间隔,可以根据实际需求进行设置。

报警设置是指对输入数据进行预设的报警条件,当输入数据满足报警条件时,数据通信模块会发出报警信号。

故障诊断功能可以对DB14数据通信模块进行自检,检测是否存在故障,并在故障发生时进行相应的处理。

综上所述,山西煤矿DB14数据结构包括输入、输出、内部变量以及数据通信相关的参数等。

计算机考研数据结构试卷十四(练习题含答案)

计算机考研数据结构试卷十四(练习题含答案)

共25套适用于计算机考研数据结构系统练习(PS:其他正在整理,敬请期待)数据结构试卷14一、填空题1、二维数组A[10][20]采用列序为主方式存储,每个元素占一个存储单元并且A[0][0]的存储地址是200,则A[6][12]的地址是____。

2、二维数组A[10..20][5..10]采用行序为主方式存储,每个元素占4个存储单元,并且A[10][5]的存储地址是1000,则A[18][9]的地址是____。

3、求下列广义表操作的结果:(1) GetTail[GetHead[((a,b),(c,d))]];(2) GetTail[GetHead[GetTail[((a,b),(c,d))]]]4、已知一个有向图的邻接矩阵表示,计算第i个结点的入度的方法是____。

5、已知一个图的邻接矩阵表示,删除所有从第i个结点出发的边的方法是____。

6、在利用快速排序方法对一组记录(54,38,96,23,15,72,60,45,83)进行快速排序时,递归调用而使用的栈所能达到的最大深度为____,共需递归调用的次数为____,其中第二次递归调用是对____一组记录进行快速排序。

7、在堆排序,快速排序和归并排序中,若只从存储空间考虑,则应首先选取____方法,其次选取____方法,最后选取____方法;若只从排序结果的稳定性考虑,则应选取____方法;若只从平均情况下排序最快考虑,则应选取____方法;若只从最坏情况下排序最快并且要节省内存考虑,则应选取____方法。

二、选择题1、二分查找和二叉排序树的时间性能【】。

A. 相同B. 不相同2、采用二分查找方法查找长度为n的线性表时,每个元素的平均查找长度为【】。

A.O(n2) B. O(nlog2n) C. O(n) D. O(log2n)3、在待排序的元素序列基本有序的前提下,效率最高的排序方法是【】。

A. 插入排序B. 选择排序C. 快速排序D. 归并排序4、下述几种排序方法中,要求内存量最大的是【】。

[计算机软件及应用]电大数据结构本形成性考核册作业14原题带答案

[计算机软件及应用]电大数据结构本形成性考核册作业14原题带答案

数据结构(本)形成性考核作业册使用说明本作业册是中央广播电视大学计算机科与技术专业(本科)数据结构(本)课程形成性考核的依据,与《数据结构(本科)》教材(李伟生主编,中央电大出版社出版)配套使用。

数据结构(本)课程是中央广播电视大学计算机科学技术专业的一门统设必修、学位课程,4学分,共72学时。

其中实验24学时,开设一学期。

本课程的特点是综合性、实践性强,内容抽象,在专业中具有承上启下的作用。

因此,在学习本课程时,要注意理论联系实际,结合教学内容进行上机实践,认真完成作业和实验内容。

本课程的总成绩按百分制记分,其中形成性考核所占的比例为30%,终结性考试占70%(闭卷,答题时限为90分钟)。

课程总成绩达到60分及以上者为合格,可以获得该课程的学分。

本课程的学位课程学分为70分,即课程总成绩达到70分及以上者有资格申请专业学位。

本课程共设计了4次形考作业,每次形考作业均包括实验内容,由各地电大根据学生对作业中各种题型练习和实验的完成情况进行考核。

对于实验内容要求按实验要求认真完成,并提交实验报告。

数据结构(本)课程作业作业1(本部分作业覆盖教材第1-2章的内容)一、单项选择题1.在数据结构中,从逻辑上可以把数据结构分为(C )。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部机构2.下列说法中,不正确的是( D )。

A.数据元素是数据的基本单位B.数据项是数据中不可分割的最小可标识单位C.数据可有若干个数据元素构成D.数据项可由若干个数据元素构成3.一个存储结点存储一个(B )。

A.数据项B.数据元素C.数据结构D.数据类型4.数据结构中,与所使用的计算机无关的是数据的(C )。

A.存储结构B.物理结构C.逻辑结构D.物理和存储结构5.下列的叙述中,不属于算法特性的是(D )。

A.有穷性B.输入性C.可行性D.可读性6.算法分析的目的是(C )。

A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性7.数据结构是一门研究计算机中( B )对象及其关系的科学。

数据结构-复习资料

数据结构-复习资料

1. 快速排序在最坏情况下的时间复杂度为( D )。

A.O(log2n) B.O(nlog2n) C.O (n) D. O (n2)2.设一棵二叉树的深度为k,则该二叉树中最多有( D )个结点。

A. 2k-1B. 2kC.2k-1D. 2k-13.二叉树中第i(i≥1)层上的结点数最多有( C )个。

A. 2iB. 2iC. 2i-1D. 2i-1 4.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为( A )。

A. p->next=p->next->nextB. p=p->nextC. p=p->next->nextD. p->next=p5.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是( C )。

A. 6B. 4C. 3D. 26.设有以下四种排序方法,则( B )的空间复杂度最大。

A. 冒泡排序B. 快速排C. 堆排序D. 希尔排序7.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为( B )。

A. 3B. 4C. 5D. 18.根据二叉树的定义可知二叉树共有( B )种不同的形态。

A. 4B. 5C. 6D. 79.对一个算法的评价,不包括如下( A )方面的内容。

A.并行性 B.健壮性和可读性 C.正确性 D.时空复杂度10.在二叉排序树中插入一个结点的时间复杂度为( C )。

A.O(1) B.O(n) C.O(log2n) D.O(n2)11. 队列是一种( B )的线性表。

A.先进后出B.先进先出 C.只能插入D.只能删除12.采用开放定址法处理散列表的冲突时,其平均查找长度( C )。

A.低于链接法处理冲突 B. 与链接法处理冲突相同C.高于链接法处理冲突 D.高于二分查找13.设有序顺序表中有n个数据元素,则利用二分查找法查找数据元素X的最多比较次数不超过( A )。

武汉理工大学数据结构2014复习题

武汉理工大学数据结构2014复习题

复习题集一判断题()1. 在决定选取何种存储结构时,一般不考虑各结点的值如何。

()2. 抽象数据类型与计算机内部表示和实现无关。

()3. 线性表采用链式存储结构时,结点和结点内部的存储空间可以是不连续的。

()4. 链表的每个结点中都恰好包含一个指针。

()5.链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动地将后续的各个单元向前移动。

()6. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。

()7. 顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。

()8. 线性表在物理存储空间中也一定是连续的。

()9. 顺序存储方式只能用于存储线性结构。

()10.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。

()11.对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。

()12.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。

()13.两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。

()14.二叉树的度为2。

()15.若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有n—1个非空指针域。

()16.二叉树中每个结点的两棵子树的高度差等于1。

()17.用二叉链表法存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。

()18.具有12个结点的完全二叉树有5个度为2的结点。

()19.二叉树的前序遍历序列中,任意一个结点均处在其孩子结点的前面。

()20.在冒泡法排序中,关键值较小的元素总是向前移动,关键值较大的元素总是向后移动。

()21.计算机处理的对象可以分为数据和非数据两大类。

()22.数据的逻辑结构与各数据元素在计算机中如何存储有关。

()23.算法必须用程序语言来书写。

()24.判断某个算法是否容易阅读是算法分析的任务之一。

数据结构习题及参考答案

数据结构习题及参考答案

数据结构习题及参考答案部门: xxx时间: xxx整理范文,仅供参考,可下载自行编辑数据结构习题及参考答案一、判断下列叙述的对错。

<1)线性表的逻辑顺序与物理顺序总是一致的。

<2)线性表的顺序存储表示优于链式存储表示。

<3)线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。

<4)二维数组是其数组元素为线性表的线性表。

<5)每种数据结构都应具备三种基本运算:插入、删除和搜索。

二、设单链表中结点的结构为typedef struct node { file://链表结点定义ElemType data; file://数据struct node * Link; file://结点后继指针} ListNode;<1)已知指针p所指结点不是尾结点,若在*p之后插入结点* s,则应执行下列哪一个操作?A. s->link = p; p->link = s;B. s->link = p->link; p->link = s;C. s->link = p->link; p = s;D. p->link = s; s->link = p;<2)非空的循环单链表first的尾结点<由p所指向)满足:A. p->link == NULL;B. p == NULL;C. p->link == first;D. p == first;三、设有一个顺序栈S,元素s1, s2, s3, s4, s5, s6依次进栈,如果6个元素的出栈顺序为s2, s3, s4, s6, s5, s1,则顺序栈的容量至少应为多少?b5E2RGbCAP四、一棵具有n个结点的理想平衡二叉树<即除离根最远的最底层外其他各层都是满的,最底层有若干结点)有多少层?若设根结点在第0层,则树的高度h如何用n来表示<注意n可能为0)?p1 EanqFDPw五、从供选择的答案中选择与下面有关图的叙述中各括号相匹配的词句,将其编号填入相应的括号内。

2014(下)数据结构复习

2014(下)数据结构复习

2014下《数据结构》复习提纲第1章绪论有关术语;算法、算法复杂度的分析和计算方法例题:1.下面算法的时间复杂度为O( n )。

int f( unsigned int n ){if ( n = = 0 || n = = 1 ) return 1;else returen n *f ( n – 1 ); }2.for(i=1,s=0;i<=n;i++){t=1;for(j=1;j<=i;j++) t=t*j;s=s+t;}时间复杂度为O(n2)第2-3章线性表,栈和队列线性表的概念、存储结构、插入与删除操作;栈和队列的概念,理解栈顶指针、队首、队尾指针的意义和作用,特别是循环队列的头、尾指针的设置。

为什么要这样设置。

它们基本操作的实现。

判空和判满?了解有关应用。

例题:1.在一个单链表中,若q所指结点是p所指结点的前驱结点,若在q与p 之间插入一个s所指的结点,则执行的语句?(答:q->next=s; s->next=p);注意在某个已知结点前插需要执行的语句?2.注意循环(链)队列的判空和判满的条件?(看书理解!)3.对于一个具有n个结点的单链表,在已知的结点p后插入一个新结点的时间复杂度为 O(1),在给定值为x的结点后插入一个新结点的时间复杂度为 O(n)。

4.在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队满的条件为 (rear+l)%n= = front。

执行出队操作后其头指针front如何?5. 线性表采用链式存储时,结点的存储地址连续与否均可;6.链式栈删除栈顶元素的操作序列为top=top->next.7.在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是p->next=p->next->next.8.判定“带头结点的链队列为空”的条件是Q.front==Q.rear.9. 假设以数组seqn[m]存放循环队列的元素,设变量rear和quelen分别指示循环队列中队尾元素的位置和元素的个数。

南开14春《数据结构》在线作业答案

南开14春《数据结构》在线作业答案

南开14春学期《数据结构》在线作业答案
单选题判断题
一、单选题(共20 道试题,共40 分。


1. 任何一个无向连通图的最小生成树()
A. 只有一棵
B. 一棵或多棵
C. 一定有多棵
D. 可能不存在
-----------------选择:A
2. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动()个元素
A. 8
B. 63.5
C. 63
D. 7
-----------------选择:B
3. 链表是一种采用存储结构存储的线性表
A. 顺序
B. 链式
C. 星式
D. 网状
-----------------选择:B
4. 对有n个记录的表作快速排序,在最坏情况下,算法的时间复杂度是()
A. O(n)
B. O(n2)
C. O(nlog2n)
D. O(n3)
-----------------选择:B
5. 下述几种排序方法中,要求内存最大的是()
A. 插入排序
B. 快速排序
C. 归并排序
D. 选择排序
-----------------选择:C
6. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为()
A. i
B. n=i
C. n-i+1
D. 不确定。

数据结构,清华大学出版社,严蔚敏吴伟民编著

数据结构,清华大学出版社,严蔚敏吴伟民编著

第一章绪论1、数据结构是计算机中存储、组织数据的方式。

精心选择的数据结构可以带来最优效率的算法。

2、程序设计= 算法+数据结构3、解决问题方法的效率:●跟数据的组织方式有关●跟空间的利用效率有关●跟算法的巧妙程度有关4、数据:所有能输入到计算机中,且被计算机处理的符号的集合,是计算机操作对象的总称;是计算机处理的信息的某种特定的符号表示形式。

5、数据元素:数据中的一个“个体”,数据结构中讨论的基本单位。

相当于“记录”,在计算机程序中通常作为一个整体考虑和处理。

6、数据项: 相当于记录的“域”, 是数据的不可分割的最小单位,如学号。

数据元素是数据项的集合。

7、数据对象:性质相同的数据元素的集合.例如: 所有运动员的记录集合8、数据结构:是相互间存在某种关系的数据元素集合。

9、数据结构是带结构的数据元素的集合。

10、不同的关系构成不同的结构。

11、次序关系:{<ai,ai+1>|i=1,2,3,4,5,6}12、对每种数据结构,主要讨论如下两方面的问题:1)数据的逻辑结构,数据结构的基本操作;2)数据的存储结构,数据结构基本操作的实现;13、数据的逻辑结构:数据之间的结构关系,是具体关系的抽象。

数据结构的基本操作:指对数据结构的加工处理。

14、数据的存储结构(物理结构):数据结构在计算机内存中的表示。

数据结构基本操作的实现:基本操作在计算机上的实现(方法)。

15、数据结构的有关概念16、数据元素的4类的基本结构:○1集合;○2线性结构:结构中数据元素之间存在一对一的关系;○3树形结构:结构中数据元素之间存在一对多的关系;○4图状结构或网状结构:结构中数据元素之间存在多对多的关系。

17、C语言的优点:C语言可以直接操作内存。

18、每个节点都由两部分组成:数据域和指针域。

19、链接存储结构特点:●比顺序存储结构的存储密度小(每个节点都由数据域和指针域组成)。

●逻辑上相邻的节点物理上不必相邻。

数据结构导论自考题模拟14

数据结构导论自考题模拟14

数据结构导论自考题模拟14(总分:100.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:30.00)1.算法指的是______(分数:2.00)A.计算机程序B.解决问题的计算方法C.排序算法D.解决问题的有限运算序列√解析:[考点] 算法的定义[解析] 算法是为了某一特定问题而制定的求解步骤的一种描述,它是有限的指令序列。

它的特性有零个或多个输入,一个或多个输出,确定性,有穷性,有效性。

2.下面程序段的时间复杂度是______for(i=0;i<n;i++)for(j=1;j<m;j++)A[i][j]=0;(分数:2.00)A.O(m*n) √B.O(m+n+1)C.O(m+n)D.O(n)解析:[考点] 时间复杂度的计算[解析] 第一重循环n,嵌套循环m,时间复杂度为mn。

3.队和栈的主要区别是______(分数:2.00)A.逻辑结构不同B.限定插入和删除的位置不同√C.所包含的运算个数不同D.存储结构不同解析:[考点] 栈和队列的区别[解析] 栈后进先出,队列先进先出。

4.设p指向单链表中的一个结点,s指向待插入的结点,则下述程序段的功能是______s->next=p->next;p->next=s;t=p->data;p->data=s->data;s->data=t;(分数:2.00)A.结点*p与结点*s的数据域互换B.在p所指结点的元素之前插入元素C.在p所指结点的元素之后插入元素D.在结点*p之前插入结点*s √解析:[考点] 链表的插入[解析] 根据指针的修改,确定选项D正确。

5.队列用链接方式存储,在进行删除运算时______(分数:2.00)A.头、尾指针可能都要修改√B.仅修改头指针C.仅修改尾指针D.头、尾指针都要修改解析:[考点] 队列用链接方式存储时的删除运算[解析] 队列用链接方式存储,在进行删除运算时,头尾指针可能都要修改。

6.根据定义,树的叶子结点其度数______(分数:2.00)A.必大于0B.必等于1C.必等于0 √D.必等于2解析:[考点] 树的叶子结点的度[解析] 树的叶子结点的度是0。

数据结构(C语言版)(第2版)课后习题答案

数据结构(C语言版)(第2版)课后习题答案

数据结构(C语言版)(第2版)课后习题答案李冬梅2015.3第1 绪论 (1)第2线性表 (5)第3栈和队列 14 第4串、数组和广义表 27 第5树和二叉树 34 第 6 图 (43)第7 查找 (55)第8 排序 (66)第 1 章绪论1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。

答案:数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。

如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、图像、声音、动画等通过特殊编码定义后的数据。

数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。

在有些情况下,数据元素也称为元素、结点、记录等。

数据元素用于完整地描述一个对象,如一个学生记录,树中棋盘的一个格局(状态)、图中的一个顶点等。

数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。

例如,学生基本信息表中的学号、姓名、性别等都是数据项。

数据对象:是性质相同的数据元素的集合,是数据的一个子集。

例如:整数数据对象是集合N={0 ,± 1 ,±2,⋯},字母字符数据对象是集合C={ ‘ A’,‘ B’,⋯,‘ Z’,‘ a’,‘ b ’,⋯,‘z’ } ,学生基本信息表也可是一个数据对象。

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。

换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。

逻辑结构:从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。

因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。

存储结构:数据对象在计算机中的存储表示,也称为物理结构。

抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。

具体包括三部分:数据对象、数据对象上关系的集合和对数据对象的基本操作的集合。

2020.10月西工大课程考试《数据结构》答案

2020.10月西工大课程考试《数据结构》答案

1.对有14个数据元素的有序表R[14]进行折半搜索,搜索到R[3]的关键码等于给定值,此时元素比较顺序依次为()。

A.R[0],R[1],R[2],R[3]B.R[0],R[13],R[2],R[3]C.R[6],R[2],R[4],R[3]D.R[6],R[4],R[2],R[3]答案:C2.若二叉树中度为2的结点有15个,度为1的结点有10个该树有()个叶结点。

A.25B.30C.31D.16答案:D3.下列排序算法中,()算法可能会出现下面情况:初始数据有序时,花费的时间反而最多。

A.堆排序B.冒泡排C.快速排序D.SHELL排序答案:C4.下列陈述中正确的是()。

A.二叉树是度为2的有序树B.二叉树中结点只有一个孩子时无左右之分C.二叉树中必有度为2的结点D.二叉树中最多只有两棵子树,并且有左右之分答案:D5.设有向图有n个顶点和e条边,进行拓扑排序时总的计算时间为()。

A.O(loge)B.O(en)C.O(elogn)D.O(n+e)答案:D6.散列表的平均查找长度()。

A.与处理冲突方法有关而与表的长度无关B.与处理冲突方法无关而与表的长度有关C.与处理冲突方法有关且与表的长度有关D.与处理冲突方法无关且与表的长度无关答案:C7.快速排序算法在最好情况下的时间复杂度为()。

A.O(n)B.O(nlog2n)C.O(n2)D.O(log2n)答案:A8.已知广义表a=((a,b,c),(d,e,f)),从a中取出原子e的运算是()。

A.tail(head(a))B.b.head(tail(a))C.head(tail(tail(head(a))))D.head(tail(tail(a)))答案:D9.关键路径是事件结点网络中()。

A.最短的回路B.最长的回路C.从开始结点到完成结点的最长路径D.从开始结点到完成结点的最短路径答案:B10.一个无向连通图的生成树是含有该连通图的全部顶点的()。

数据结构分章节习题及答案

数据结构分章节习题及答案

各章习题各章习题 (1)第一章绪论(7) (1)第二章线性表(6) (2)第三章栈和队列(5) (2)第四章串(3) (3)第五章数组(3) (3)第六章二叉树(20) (4)第七章图(5) (6)第九章查找(5) (7)第十章排序(8) (7)第一章绪论(7)1、数据结构中的4种逻辑结构是_________、__________、_________、_________.2.在数据结构中,从逻辑上可以把数据结构分成_________。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构3、一个算法除了输入和输出特性外,还必须具有的特性不包括_____A 有穷性B 可扩展性C 确定性D可行性4.算法分析的两个主要方面是____。

A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性5.设有数据结构D={d1,d2,d3,d4},R={(d1,d2),(d2,d3),(d3,d4)}画出相关逻辑图6.设图G=(V,E),V={1,2,3,4,5,6},E={<1,2>,<1,3>,<2,5>,<3,6>,<6,5>,<5,4>,<6,4>}。

请画出该图7.计算下列标有@语句的频度i=1;j=0;while (i+j<=n){if(i<j) j++ //@else i++;}第二章线性表(6)1.在n个元素的顺序表中插入或删除一个元素,需要平均移动________个元素。

2.带头结点的单循环链表,判定表空的条件是(设指向头结点的指针是H)_________________。

3. 不带头结点的单链表head为空的判定条件是___________A.head == NULLB.head->next == NULLC.head->next == headD.head != NULL4.线性表的顺序存储结构是一种______的存储结构,线性表的链式存储结构是一种______的存储结构。

825数据结构试题14

825数据结构试题14

825数据结构试题14河南科技⼤学2014年硕⼠研究⽣⼊学考试试题考试科⽬代码:825 考试科⽬名称:数据结构(如⽆特殊注明,所有答案必须写在答题纸上,否则以“0”分计算)⼀、判断题(正确的打√,错误的打×,每题1分,共5分):1、顺序存储⽅式只能⽤于存储线性结构。

2、栈与队列是⼀种特殊操作的线性表。

3、数组不适合作为任何⼆叉树的存储结构。

4、⼆叉树中每个结点⾄多有两个孩⼦结点,⽽对树则⽆此限制,因此,⼆叉树是树的特殊情形。

5、顺序查找法适⽤于存储结构为顺序或链式存储的线性表。

⼆、填空题(每空1分,共5分):1、数组存储结构采⽤存储⽅式。

2、深度为h的完全⼆叉树⾄少有个结点,⾄多有个结点。

3、AOE⽹中,结点表⽰,弧表⽰。

三、单项选择题(每题1分,共5分):1、线性表是具有n个()的有限序列。

A、表元素B、字符C、数据元素D、数据项2、栈的操作原则是()A、先进先出B、后进先出C、后进后出D、不分顺序3、下列算法中()不能保证每趟排序⾄少能将⼀个元素放到其最终的位置上。

A、快速排序B、希尔排序C、堆排序D、冒泡排序4、下列排序算法中,在待排数据已有序时,花费时间反⽽最多的是()排序。

A、冒泡排序B、希尔排序C、快速排序D、堆排序5、设⽆向图的顶点个数为n,则该图最多有()条边A、n-1B、n(n-1)/2C、n(n+1)/2D、n2四、简答题(每题5分,共30分)1、在顺序表中和在单链表中,逻辑上相邻的数据元素在物理位置上是否相邻?2、若较频繁地对⼀个线性表进⾏插⼊和删除操作,该线性表应采⽤何种存储结构?为什么?3、⾼度为10的⼆叉树,其结点最多可能为多少?4、对⼀个图进⾏遍历可以得到不同的遍历序列,那么导致得到遍历序列不唯⼀的因素有哪些?5、什么是静态查找表?什么是动态查找表?分别列举以上查找表的⼀种查找⽅式。

6、在内部排序算法中,待排的数据已经基本有序时,花费时间反⽽最多的排序⽅法是哪⼀种?为什么?五、简述算法的功能(每题5分,共10分):1、栈的元素类型SElemType为intstatus algo1(Stack S){int i,n,A[255];n=0;while(!StackEmpty(S)){ n++; Pop(S,A[n]);}for(i=1;i<=n;i++)Push(S,A[i]);return OK;}2、栈和队列的元素类型均为整形void algo(Queue &Q){Stack S;int d;InitStack(S);while(!QueueEmpty(Q)){DeQueue(Q,d); Push(S,d);}while(!StackEmpty(S)){Pop(S,d); EnQueue(Q,d);}}六、应⽤题(共60分)1、欲传输⼀段电⽂如下:CA TEATDATACAECA TAEAAE。

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

作业

已知下面的稀疏矩阵,请写出其对应的三元组 线性表。
A67
0 0 3 0 0 0
0 2 0 0 0 0
1 0 0 0 0 0
0 0 0 5 0 0
0 0 0 0 6 0
0 0 0 0 0 7
0 0 0 0 0 4
LOC(ai,j)=LOC(a1,1)+[(j-1)*m+(i-1)]*k
其中m为行数。
例1 对二维数组float a[5][4]计算:
(1)数组a中的数组元素数目; (2)若数组a的起始地址为2000,且每个数组元素长 度为32位(即4个字节),数组元素a[3][2]的内存地 址。
解:由于C语言中数组的行、列下界均为0, 该数组行上界为5-1=4,列上界为4-l=3,所以该数 组的元素数目共有(4-0+1)*(3-0+1)=5*4=20个。 又由于C语言采用行序为主序的存储方式,则 有: LOC(a3,2)=LOC(a0,0)+(i*n+j)*k =2000+(3*4+2)*4=2056
TupNode data[MaxSize];
} TSMatrix;
/*三元组顺序表定义*/
其中,data域中表示的非零元素通常以行序为
主序顺序排列,它是一种下标按行有序的存储结
构。这种有序存储结构可简化大多数矩阵运算算
法。下面的讨论假设data域按行有序存储。
(1)从一个二维矩阵创建其三元组表示 以行序方式扫描二维矩阵A,将其非零的元素插入 到三元组t的后面。算法如下:
所以在存储非零元素时还必须同时存储该非零元素
所对应的行下标和列下标。这样稀疏矩阵中的每一 个非零元素需由一个三元组(i,j,ai,j)惟一确定,稀疏 矩阵中的所有非零元素构成三元组线性表。
假设有一个6×7阶稀疏矩阵A(为图示方便,我 们所取的行列数都很小),A中元素如下图所示。
0 0 3 0 0 0 0 2 0 0 0 0 1 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 6 0 0 0 0 0 0 7 0 0 0 0 0 4
(2)数组中的数据元素具有相同的数据类型。 (3)数组中的每个数据元素都和一组惟一的下标 值对应。
(4)数组是一种随机存储结构。可随机存取数组 中的任意数据元素。
1.2
数组的存储结构
在一维数组中,一旦a1 的存储地址LOC(a1)确定, 并假设每个数据元素占用k个存储单元,则任一数据 元素ai的存储地址LOC(ai)就可由以下公式求出:
间中。
2. 对角矩阵的压缩存储
若一个n阶方阵A满足其所有非零元素都集中在 以主对角线为中心的带状区域中,则称其为n阶对 角矩阵。其主对角线上下方各有b条次对角线,称 b为矩阵半带宽,(2b+1)为矩阵的带宽。对于半带
宽为b(0≤b≤(n-1)/2)的对角矩阵,其|i-j|≤b的元素ai,j
不为零,其余元素为零。下图所示是半带宽为b的
void CreatMat(TSMatrix &t,ElemType A[M][N])
{ int i,j; t.rows=M;t.cols=N;t.nums=0; for (i=0;i<M;i++)
{
for (j=0;j<N;j++)
if (A[i][j]!=0) { } /*只存储非零元素*/ t.data[t.nums].r=i; t.data[t.nums].c=j;
t.data[t.nums].d=A[i][j]; t.nums++;
}
}
2.2 稀疏矩阵的十字链表表示 十字链表为稀疏矩阵的每一行设置一个单独链表, 同时也为每一列设置一个单独链表。 这样稀疏矩阵的每一个非零元素就同时包含在两 个链表中,即每一个非零元素同时包含在所在行的 行链表中和所在列的列链表中。这就大大降低了链
对于二维数组来说,由于计算机的存储结构是 线性的,如何用线性的存储结构存放二维数组元素 就有一个行/列次序排放问题。 以行序为主序的存储方式:即先存储第1行,然 后紧接着存储第2行,最后存储第m行。此时,二 维数组的线性排列次序为:
a1,1,a1,2,…,a1,n,a2,1,a2,2,…,a2,n,…,am,1,am,2,…am,n
typedef struct { int r; /*行号*/
int c;
ElemType d; } TupNode; typedef struct { int rows; int cols; int nums;
/*列号*/
/*元素值*/ /*三元组定义*/ /*行数值*/ /*列数值*/ /*非零元素个数*/
Am n
将Am*n简记为A,A是这样的一维数组: A=(a1,a2,…,ai…,am)
其中,ai=(ai,1,ai,2,…,ai,n) (1≤j≤m)。
显然,二维数组同样满足数组的定义。一 个二维数组可以看作是每个数据元素都是相同 类型的一维数组的一维数组。以此类推,任何 多维数组都可以看作一个线性表,这时线性表 中的每个数据元素也是一个线性表。多维数组 是线性表的推广。
对角矩阵示意图。
b条 ... b条 0
半带宽为b的对角矩阵
...
0
2
稀疏矩阵
一个阶数较大的矩阵中的非零元素个数s相对 于矩阵元素的总个数t十分小时,即s<<t时,称该 矩阵为稀疏矩阵。例如一个100×100的矩阵,若 其中只有100个非零元素,就可称其为稀疏矩阵。
2.1 稀疏矩阵的三元组表示
稀疏矩阵的压缩存储方法是只存储非零元素。 由于稀疏矩阵中非零元素的分布没有任何规律,
对一个已知以行序为主序的计算机系统中,当 二维数组第一个数据元素a1,1的存储地址LOC(a1,1)和 每个数据元素所占用的存储单元k确定后,则该二维
数组中任一数据元素ai,j的存储地址可由下式确定:
LOC(ai,j)=LOC(a1,1)+[(i-1)*n+(j-1)]*k
其中n为列数。
同理可推出在以列序为主序的计算机系统 中有:
1. 对称矩阵的压缩存储
若 一 个 n 阶 方 阵 A[n][n] 中 的 元 素 满 足
ai,j=aj,i(0≤i,j≤n-1),则称其为n阶对称矩阵。
由于对称矩阵中的元素关于主对角线对称,因
此在存储时可只存储对称矩阵中上三角或下三角中
的元素,使得对称的元素共享一个存储空间。这样,
就可便了算法中行方向和列方向的搜索,
因而大大降低了算法的时间复杂度。
本章小结
本章基本学习要点如下: (1)理解数组和一般线性表之间的差异。 (2)重点掌握数组的顺序存储结构和元素地址计算方法。
(3)掌握各种特殊矩阵如对称矩阵、上、下三角矩阵和对 角矩阵的压缩存储方法。
(4)掌握稀疏矩阵的各种存储结构以及基本运算实现算法。 (5)灵活运用数组这种数据结构解决一些综合应用问题。
数组与 稀疏矩阵
1.1 数组的基本概念
数组是n(n>1)个相同类型数据元素a0、a2、…、 an-1构成的有限序列,且该有限序列存储在一块地址 连续的内存单元中。
由此可见,数组的定义类似于采用顺序存储结 构的线性表。
数组具有以下性质:
(1)数组中的数据元素数目固定。一旦定义了一 个数组,其数据元素数目不再有增减变化。
A67
一个稀疏矩阵A
则对应的三元组线性表为: ((0,2,1),(1,1,2),(2,0,3),(3,3,5),(4,4,6),(5,5,7),(5,6,4))
若把稀疏矩阵的三元组线性表按顺序存储结 构存储,则称为稀疏矩阵的三元组顺序表。则三
元组顺序表的数据结构可定义如下:
#define MaxSize 100 /*矩阵中非零元素最多个数*/
LOC(ai)=LOC(a1)+(i-1)*k (0≤i≤n-1) 上式说明,一维数组中任一数据元素的存储地址 可直接计算得到,即一维数组中任一数据元素可直 接存取,因此,一维数组是一种随机存储结构。同 样,二维及多维数组也满足随机存储特性。
对于一个m行n列的二维数组Am×n,有:
a 1 ,1 a 2 ,1 a m ,1 a 1, 2 a 2, 2 a m ,2 a 1, n a 2,n a m ,n
1.3 特殊矩阵的压缩存储 特殊矩阵是指非零元素或零元素的分布有一定规 律的矩阵,为了节省存储空间,特别是在高阶矩阵 的情况下,可以利用特殊矩阵的规律,对它们进行 压缩存储,也就是说,使多个相同的非零元素共享 同一个存储单元,对零元素不分配存储空间。 特殊矩阵的主要形式有对称矩阵、对角矩阵等, 它们都是方阵,即行数和列数相同。
相关文档
最新文档