数据结构线性表习题及答案

1,若进栈序列为1,2,3,4,则下列不可能的出栈序列为()A,1,4,3,2
B,2,3,4,1
C,3,1,4,2
D,3,4,2,1
2,链表不具备的特点是()
A,可随机访问任意一个结点
B,插入和删除时不需要移动任何元素
C,不必事先估计存储空间
D,所需空间与其长度成正比
3,对线性表,在下列情况下应该采用链表表示的是()A,经常需要随机地存取元素
B,经常需要进行插入和删除操作
C,表中元素需要占据一片连续的存储空间
D,表中元素的个数不变
4,如果最常用的操作是取第I个结点及其前驱,最节省时间的存储方式是()
A,单链表
B,双向链表
C,单循环链表
D,顺序表
5,与单链表相比,双链表的优点之一是()
A,插入、删除操作更加简单
B,可以随机访问
C,可以省略表头指针和表尾指针
D,顺序访问相邻结点更加灵活
6,栈和队列的共同点是()
A,都是先进先出
B,都是后进先出
C,都只允许在端点处插入和删除元素
D,没有共同点
7,判断一个栈ST(最多元素为maxsize)为空的条件是()A,ST -> top ! = -1
B,ST -> top = = -1
C,ST -> top ! = maxsize-1
D,ST -> top = = maxsize-1
8,判断一个栈ST(最多元素为maxsize)为满空的条件是()A,ST -> top ! = -1
B,ST -> top = = -1
C,ST -> top ! = maxsize-1
D,ST -> top = = maxsize-1
9,带头结点的单链表head为空的判定条件是()A,head==NULL
B,head -> next = =NULL
C,head -> next = = head
D,head ! =NULL
10,下列关于线性表、栈、队列的叙述,错误的是()A,线性表是给定的n个元素(n必须大于0)组成的序列
B,线性表允许在表的任何位置插入和删除元素
C,栈只允许在其一端进行插入和删除
D,队列允许在其一端进行插入和另一端进行删除
11,下列关于线性表的叙述中错误的是()
A,若用顺序存储,表中元素的存储位置是连在一起的
B,若用链表存储,便于插入和删除运算
C,若用链表存储,不需要占用一片相邻的存储空间
D,表的插入和删除只允许在表的一端进行
12,数组A中,每个元素的长度为3个字节,行下标i从1到8,列下标从1到10,从首地址SA开始,连续存放在存储器内,该数组按行存放,则元素A[8][5]的起始地址为()
A,SA+141
B,SA+144
C,SA+222
D,SA+225
13,数组A中,每个元素的长度为3个字节,行下标i从1到8,列下标从1到10,从首地址SA开始,连续存放在存储器内,该数组按列存放,则元素A[5][8]的起始地址为()
A,SA+141
B,SA+180
C,SA+222
D,SA+225
14,二维数组A[10][20]采用列序为主方式存储每个元素占一个存储单元,且A[0][0]的存储位置是200,则A[6][12]的地址是()A,332
B,
C,320
D,
E,305
F,306
15,二维数组A[10…20][5…10]采用行序为主方式存储每个元素占4个存储单元,且A[10][5]的存储位置是1000,则A[18][9]的地址是()
A,1184
B,
C,1180
D,1208
E,1212
16,有一个10阶对称矩阵A,采用压缩存储方式(行序为主序,且A[0][0]=1),则A[8][5]的地址是()
A,40
B,41
C,43
D,42
答案
C
A B D D C
B D B A D
C B A C D。

合集下载

数据结构习题及答案与实验指导(线性表)2

数据结构习题及答案与实验指导(线性表)2

第2章线性表线性表是一种最基本、最常用的数据结构,它有两种存储结构——顺序表和链表。

本章主要介绍线性表的定义、表示和基本运算的实现。

重点讨论了线性表的存储结构,以及在顺序、链式两种存储结构上基本运算的实现。

重点提示:●线性表的逻辑结构特征●线性表的顺序存储和链式存储两种存储结构的特点●在两种存储结构下基本操作的实现2-1 重点难点指导2-1-1 相关术语1.线性表线性表是具有相同数据类型的n(n≥0)个数据元素的有限序列,通常记为:(a1,a2,…,a n),其中n为表长,n=0时称为空表。

要点:一种逻辑结构,其数据元素属于相同数据类型,之间的关系是线性关系。

2.顺序表顺序存储的线性表。

要点:按线性表中的元素的逻辑顺序依次存放在地址连续的存储单元里,其存储特点:用物理上的相邻实现逻辑上的相邻。

3.链表用链表存储的线性表。

要点:链表是通过每个结点的链域将线性表的n个结点按其逻辑顺序链接在一起的,对每个结点的地址是否连续没有要求。

4.单链表每个结点除了数据域外还有一个指向其后继的指针域。

要点:通常将每个元素的值和其直接后继的地址作为一个结点,通过每个结点中指向后继结点的指针表示线性表的逻辑结构。

5.头指针要点:头指针是一个指针变量,里面存放的是链表中首结点的地址,并以此来标识一个链表。

如链表H,链表L等,表示链表中第一个结点的地址存放在指针变量H、L中。

通常用头指针来惟一标识一个链表。

6.头结点要点:附加在第一个元素结点之前的一个结点,头指针指向头结点。

当该链表表示一个非空的线性表时,头结点的指针域指向第一个元素结点;为空表时,该指针域为空。

7.头结点的作用要点:其作用有两个,一是使对空表和非空表的处理得到统一;二是在链表的第一个位置上的操作和在其他位置上的操作一致,无需特殊处理。

2-1-2 线性表的顺序存储1.顺序表顺序存储的线性表称为顺序表。

其特点是:用一组地址连续的存储单元来依次存放线性表的数据元素,因此数据元素的逻辑顺序和物理次序一致(这是顺序存储的核心所在)。

数据结构习题及答案

数据结构习题及答案

数据结构习题习题一一、选择题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.线性结构2.数据结构的顺序实现3.顺序表4.链表5.数据结构的链接实现6. 建表7.字符串8.串9.顺序串 10.链串二、填空题1.为了便于讨论,有时将含n(n>=0)个结点的线性结构表示成(a,a,……a),其中每n12个a代表一个______。

a称为______结点,a称为______结点,i称为a在线性表中的________ii1n或______。

对任意一对相邻结点a、a(1<=i<n),a称为a的直接______a称为a的直iii┼1i┼1┼i1i接______。

< bdsfid="75" p=""></n),a称为a的直接______a称为a的直iii┼1i┼1┼i1i接______。

<>2.为了满足运算的封闭性,通常允许一种逻辑结构出现不含任何结点的情况。

不含任何结点的线性结构记为______或______。

3.线性结构的基本特征是:若至少含有一个结点,则除起始结点没有直接______外,其他结点有且仅有一个直接______;除终端结点没有直接______外,其它结点有且仅有一个直接______.4.所有结点按1对1的邻接关系构成的整体就是______结构。

5.线性表的逻辑结构是______结构。

其所含结点的个数称为线性表的______,简称______.6.表长为O的线性表称为______7.线性表典型的基本运算包括:______、______、______、______、______、______等六种。

8.顺序表的特点是______。

9.顺序表的类型定义可经编译转换为机器级。

假定每个datatype 类型的变量占用k(k>=1)个内存单元,其中,b是顺序表的第一个存储结点的第一个单元的内存地址,那么,第i个结点a的存储地址为______。

数据结构_线性表练习题

数据结构_线性表练习题

一、判断题1. 线性表的逻辑顺序与存储顺序总是一致的。

(FALSE)2. 顺序存储的线性表可以按序号随机存取。

(TRUE)3.顺序表的插入和删除一个数据元素,每次操作平均只有近一半的元素需要移动。

TRUE)4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此是属于同一数据对象。

(TRUE)5,在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。

(FALSE )6.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。

(TRUE)7.线性表的链式存储结构优于顺序存储结构。

(FALSE )8. 在线性表的顺序存储结构中,插入和删除时,移动元素的个数与该元素的位置有关。

(TRUE)9.线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。

(TRUE)10.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。

(FALSE )二.选择题11.线性表是()。

(A)一个有限序列,可以为空;(B)一个有限序列,不能为空;(C)一个无限序列,可以为空;(D)一个无序序列,不能为空。

答:A12.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。

插入一个元素时平均要移动表中的()个元素。

(A)n/2(B)(n+1)/2(C)(n–1)/2(D)n答:A13.线性表采用链式存储时,其地址()。

(A)必须是连续的;(B)部分地址必须是连续的;(C)一定是不连续的;(D)连续与否均可以。

答:D14.用链表表示线性表的优点是()。

(A)便于随机存取(B)花费的存储空间较顺序存储少(C)便于插入和删除(D)数据元素的物理顺序与逻辑顺序相同答:C15.单链表中,增加一个头结点的目的是为了()。

(A)使单链表至少有一个结点(B)标识表结点中首结点的位置(C)方便运算的实现(D)说明单链表是线性表的链式存储答:C16.若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用()存储方式最节省运算时间()。

数据结构习题及答案 (2)

数据结构习题及答案 (2)

第二章线性表一、选择题1.一个线性表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( )(A)110 (B)108(C)100 (D)120参考答案:B2. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动()个元素。

(A)64(B)63 (C)63.5 (D)7参考答案:C3.线性表采用链式存储结构时,其地址()。

(A) 必须是连续的 (B) 部分地址必须是连续的(C) 一定是不连续的 (D) 连续与否均可以参考答案:D4. 在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行()(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;参考答案:B5.在一个单链表中,若删除p所指结点的后续结点,则执行()(A)p->next=p->next->next; (B)p=p->next; p->next=p->next->next;(C)p->next=p->next; (D)p =p->next->next;参考答案:A6.下列有关线性表的叙述中,正确的是()(A)线性表中的元素之间隔是线性关系(B)线性表中至少有一个元素(C)线性表中任何一个元素有且仅有一个直接前趋(D)线性表中任何一个元素有且仅有一个直接后继参考答案:A7.线性表是具有n个()的有限序列(n≠0)(A)表元素(B)字符(C)数据元素(D)数据项参考答案:C二、判断题1.线性表的链接存储,表中元素的逻辑顺序与物理顺序一定相同。

()2.如果没有提供指针类型的语言,就无法构造链式结构。

()3.线性结构的特点是只有一个结点没有前驱,只有一个结点没有后继,其余的结点只有一个前驱和后继。

数据结构(线性表)习题与答案

数据结构(线性表)习题与答案

数据结构(线性表)习题与答案数据结构(线性表)习题与答案1. 线性表的定义线性表是一种常用的数据结构,它由一系列元素组成,并且每个元素具有前驱和后继关系。

线性表可以通过顺序存储或链式存储来实现。

2. 线性表的实现方式2.1 顺序存储顺序存储是利用数组来实现线性表的一种方式。

数组的每个元素可以存储一个数据项,通过下标可以快速访问和操作其中的元素。

2.2 链式存储链式存储是通过节点之间的指针关联来实现线性表的一种方式。

每个节点包含数据域和指针域,指针域指向下一个节点。

3. 线性表的基本操作3.1 初始化线性表初始化线性表需要给表头节点分配内存空间,并将头节点的指针域置为空。

3.2 插入元素在线性表的某个位置插入元素,需要先找到插入位置的前一个节点,然后将新节点插入到该位置。

调整节点之间的指针关联即可完成插入操作。

3.3 删除元素删除线性表中的某个元素,需要找到待删除元素的前一个节点,然后将该节点的指针指向待删除节点的下一个节点,释放待删除节点的内存空间即可。

3.4 查找元素查找线性表中某个元素的位置,可以从表头节点开始逐个比较节点的数据域,直到找到目标元素或者遍历结束。

4. 线性表的习题与答案4.1 习题1已知线性表L中的元素按非递减顺序排列,设计一个算法,将元素x插入到L中,保持L的有序性。

解答:1) 从表头节点开始,顺序遍历节点的数据域,找到第一个大于等于x的节点的前一个节点,记为p。

2) 创建新的节点node,将x赋值给node的数据域。

3) 将node的指针域指向p的下一个节点。

4) 将p的指针域指向node。

5) 插入完成。

4.2 习题2已知线性表L中的元素按递减顺序排列,设计一个算法,删除L中所有大于x的元素。

解答:1) 从表头节点开始,顺序遍历节点的数据域,找到第一个小于等于x的节点的前一个节点,记为p。

2) 将p的指针域指向p的下一个节点,删除p的后继节点。

3) 重复执行步骤2,直到遍历结束。

数据结构(C++版)课后答案 (王红梅)第2章 线性表

第 2 章线性表课后习题讲解1. 填空⑴在顺序表中,等概率情况下,插入和删除一个元素平均需移动()个元素,具体移动元素的个数与()和()有关。

【解答】表长的一半,表长,该元素在表中的位置⑵顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的存储地址是()。

【解答】108【分析】第5个元素的存储地址=第1个元素的存储地址+(5-1)×2=108⑶设单链表中指针p 指向结点A,若要删除A的后继结点(假设A存在后继结点),则需修改指针的操作为()。

【解答】p->next=(p->next)->next⑷单链表中设置头结点的作用是()。

【解答】为了运算方便【分析】例如在插入和删除操作时不必对表头的情况进行特殊处理。

⑸非空的单循环链表由头指针head指示,则其尾结点(由指针p所指)满足()。

【解答】p->next=head【分析】如图2-8所示。

⑹在由尾指针rear指示的单循环链表中,在表尾插入一个结点s的操作序列是();删除开始结点的操作序列为()。

【解答】s->next =rear->next; rear->next =s; rear =s;q=rear->next->next; rear->next->next=q->next; delete q;【分析】操作示意图如图2-9所示:⑺一个具有n个结点的单链表,在指针p所指结点后插入一个新结点的时间复杂度为();在给定值为x的结点后插入一个新结点的时间复杂度为()。

【解答】Ο(1),Ο(n)【分析】在p所指结点后插入一个新结点只需修改指针,所以时间复杂度为Ο(1);而在给定值为x的结点后插入一个新结点需要先查找值为x的结点,所以时间复杂度为Ο(n)。

⑻可由一个尾指针唯一确定的链表有()、()、()。

【解答】循环链表,循环双链表,双链表2. 选择题⑴线性表的顺序存储结构是一种()的存储结构,线性表的链接存储结构是一种()的存储结构。

数据结构--线性表习题及答案

数据结构--线性表习题及答案第⼆章线性表⼀、选择题1、若长度为n的线性表采⽤顺序存储结构,在其第i个位置插⼊⼀个新元素算法的时间复杂度()。

A. O(log2n)B.O(1)C. O(n)D.O(n2)2、若⼀个线性表中最常⽤的操作是取第i个元素和找第i个元素的前趋元素,则采⽤()存储⽅式最节省时间。

A. 顺序表B. 单链表C. 双链表D. 单循环链表3、具有线性结构的数据结构是()。

A. 图B. 树C. ⼴义表D.栈4、在⼀个长度为n的顺序表中,在第i个元素之前插⼊⼀个新元素时,需向后移动()个元素。

A. n-iB. n-i+1C. n-i-1D. i5、⾮空的循环单链表head的尾结点p满⾜()。

A. p->next==headB. p->next==NULLC. p==NULLD. p==head6、链表不具有的特点是()。

A. 可随机访问任⼀元素B. 插⼊删除不需要移动元素C. 不必事先估计存储空间D. 所需空间与线性表长度成正⽐7、在双向循环链表中,在p指针所指的结点后插⼊⼀个指针q所指向的新结点,修改指针的操作是()。

A. p->next=q;q->prior=p;p->next->prior=q;q->next=q;B. p->next=q;p->next->prior=q;q->prior=p;q->next=p->next;C. q->prior=p;q->next=p->next;p->next->prior=q;p->next=q;D. q->next=p->next;q->prior=p;p->next=q;p->next=q;8、线性表采⽤链式存储时,结点的存储地址()。

A. 必须是连续的B. 必须是不连续的C. 连续与否均可D. 和头结点的存储地址相连续9、在⼀个长度为n的顺序表中删除第i个元素,需要向前移动()个元素。

数据结构(C++版)课后答案_(王红梅)第2章_线性表

⑾ 在一个单链表中,已知 q 所指结点是 p 所指结点的直接前驱,若在 q 和 p 之间插入 s 所指结点,则执行( )操作。 A s->next=p->next; p->next=s; B q->next=s; s->next=p; C p->next=s->next; s->next=p; D p->next=s; s->next=q; 【解答】B 【分析】注意此题是在 q 和 p 之间插入新结点,所以,不用考虑修改指针的顺序。
⑹ 在由尾指针 rear 指示的单循环链表中,在表尾插入一个结点 s 的操作序列是( );删除开始结点的操作序列为( )。 【解答】s->next =rear->next; rear->next =s; rear =s; q=rear->next->next; rear->next->next=q->next; delete q; 【分析】操作示意图如图 2-9 所示:
⑺ 一个具有 n 个结点的单链表,在指针 p 所指结点后插入一个新结点的时间复杂度为( );在给定值为 x 的结点后 插入一个新结点的时间复杂度为( )。 【解答】Ο(1),Ο(n)
⑻ 可由一个尾指针唯一确定的链表有( )、( )、( )。 【解答】的顺序存储结构是一种( )的存储结构,线性表的链接存储结构是一种( )的存储结构。
⑻ 在具有 n 个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是( )。 A O(1) B O(n) C O(n2) D O(nlog2n) 【解答】B
⑼ 对于 n 个元素组成的线性表,建立一个有序单链表的时间复杂度是( )。 A O(1) B O(n) C O(n2) D O(nlog2n) 【解答】C 【分析】该算法需要将 n 个元素依次插入到有序单链表中,而插入每个元素需 O(n)。

数据结构 线性表 习题

第二章线性表一、选择题1.线性表是()A.一个有限序列,可以为空B.一个有限序列,不可以为空C.一个无限序列,可以为空D.一个无限序列,不可以为空2.一维数组与线性表的特征是()。

A.前者长度固定,后者长度可变B.两者长度均固定C.后者长度固定,前者长度可变D.两者长度均可变3.用单链表方式存储的线性表,存储每个结点需要两个域,一个数据域,另一个是( ).A.当前结点所在地址域B.指针域C.空指针域D.空闲域4.用链表表示线性表的优点是()。

A.便于随机存取B.便于进行插入和删除操作C.占用的存储空间较顺序表少D.元素的物理顺序与逻辑顺序相同5.在具有 n 个结点的单链表中,实现___的操作,其算法的时间复杂度都是O(n)。

A.遍历链表和求链表的第i个结点D.删除地址为P的结点的后继结点B.在地址为P的结点之后插入一个结点 C.删除开始结点6.下面关于线性表的叙述中,错误的是()。

A.线性表采用顺序存储必须占用一片连续的存储单元B.线性表采用顺序存储便于进行插入和删除操作C.线性表采用链式存储不必占用一片连续的存储单元D.线性表采用链式存储便于进行插入和删除操作7.已知单链表的每个结点包括一个指针域next,它指向该结点的后继结点。

现要将指针 q 指向的新结点插入到指针 p 指向的结点之后,下面的操作序列中正确的是()。

A . q = p->next; p->next = q->next ;B . p->next = q->next; q = p->next ;C . q->next = p->next; p->next = q ;D . p->next = q; q->next = p->next ;8.设 a l,a2, a3为三个结点; p , 10 , 20 代表地址,则如下的链表存储结构称为()。

A.链表B.单链表C.双向循环链表D.双向链表9.单链表的存储密度()。

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