数据结构线性结构习题
数据结构线性表习题1
数据结构练习题1 指导老师:***姓名:***学校:滨州学院院系:信息工程学院软件技术填空题1.对于一个n个结点的单链表,在表头插入元素的时间复杂度为_____O(1)_____,在表尾插入元素的时间复杂度为_____O(n)_____。
2.删除非空线性链表中由q所指的链结点(其直接前驱结点由r指出)的动作时执行语句___r->link=q->link_______和______free(q)____。
结点结构为typedef struct Node{int value;node * link;}node;3.非空线性链表中,若要在由p所指的链结点后面插入新结点q,则应执行语句____ q->link=p->link;______和_____ p->link=q;_____。
结点结构为typedef struct Node{int value;node* link;}node;4.线性表L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是_____(n-1)/2_____。
5.在一个长度为n的顺序表中第i个元素(1≤i≤n)之前插入一个元素时,需向后移动_____ n-i+1_____ 个元素。
6.在具有n个链结点的链表中查找一个链结点的时间复杂度为O(_______n___)。
7.线性表中的插入、删除操作,在顺序存储方式下平均移动近一半的元素,时间复杂度为_____O(n)_____;而在链式存储方式下,插入和删除操作的时间复杂度都是____O(1)______ 。
8.若某线性表采用顺序存储结构,每个元素占4个存储单元,首地址为100,则第10个元素的存储地址为____136______。
选择题1.对于一个带头结点的单链表,头指针为head,判定该表为空的条件是________B__。
A. head==NULLB. head->next==NULLC. head->next==headD. head!=NULL2.将长度为m的线性链表链接在长度为n的线性链表之后的过程的时间复杂度若采用大O形式表示,则应该是______B____。
数据结构线性表练习题试卷及答案
第2章线性表后面红色的答案一选择题1.下述哪一条是顺序存储结构的优点?()【北方交通大学2001 一、4(2分)】A.存储密度大B.插入运算方便C.删除运算方便D.可方便地用于各种逻辑结构的存储表示2.下面关于线性表的叙述中,错误的是哪一个?()【北方交通大学2001 一、14(2分)】A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
3.线性表是具有n个()的有限序列(n>0)。
【清华大学1998 一、4(2分)】A.表元素B.字符C.数据元素D.数据项E.信息项4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
【哈尔滨工业大学2001 二、1(2分)】A.顺序表B.双链表C.带头结点的双循环链表D.单循环链表5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
【南开大学2000 一、3】A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表6.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。
A. 单链表B.单循环链表C. 带尾指针的单循环链表D.带头结点的双循环链表【合肥工业大学2000 一、1(2分)】7.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。
则采用()存储方式最节省运算时间。
【北京理工大学2000 一、1(2分)】A.单链表B.双链表C.单循环链表D.带头结点的双循环链表8. 静态链表中指针表示的是(). 【北京理工大学2001 六、2(2分)】A.内存地址B.数组下标C.下一元素地址D.左、右孩子地址9. 链表不具有的特点是()【福州大学1998 一、8 (2分)】A.插入、删除不需要移动元素B.可随机访问任一元素C.不必事先估计存储空间D.所需空间与线性长度成正比10. 下面的叙述不正确的是()【南京理工大学1996 一、10(2分)】A.线性表在链式存储时,查找第i个元素的时间同i的值成正比B. 线性表在链式存储时,查找第i个元素的时间同i的值无关C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比D. 线性表在顺序存储时,查找第i个元素的时间同i的值无关11. 线性表的表元存储方式有((1))和链接两种。
数据结构练习题线性表习题及答案
数据结构练习题线性表习题及答案精品文档第二章线性表一.名词解释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的存储地址为______。
数据结构习题及答案 (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,直到遍历结束。
数据结构习题
第一章绪论1.有如下程序段:for(i=1;i<=n;i++)for(j=1;j<=n;j++){++t;}他的算法时间复杂度为:n n第二章线性表1.若有100个学生,每个学生有学号,姓名,平均成绩,采用什么样的数据结构最方便,写出这些结构?2.线性表有两种存储结构:一是顺序表,二是链表。
试问:(1)如果有 n个线性表同时并存,并且在处理过程中各表的长度会动态变化,线性表的总数也会自动地改变。
在此情况下,应选用哪种存储结构?为什么?链表(2)若线性表的总数基本稳定,且很少进行插入和删除,但要求以最快的速度存取线性表中的元素,那么应采用哪种存储结构?为什么?顺序表3.在顺序表中,逻辑上相邻的元素,其物理位臵相邻。
在单链表中,逻辑上相邻的元素,其物理位臵相邻。
4.线性结构包括哪几种?5.已知L是无表头结点的单链表,且P结点既不是首元素结点,也不是尾元素结点。
按要求从下列语句中选择合适的语句序列。
a. 在P结点后插入S结点的语句序列是:。
b. 在P结点前插入S结点的语句序列是:。
c. 在表首插入S结点的语句序列是:。
d. 在表尾插入S结点的语句序列是:。
供选择的语句有:(1)P->next=S;(2)P->next= P->next->next;(3)P->next= S->next;(4)S->next= P->next;(5)S->next= L;(6)S->next= NULL;(7)Q= P;(8)while(P->next!=Q) P=P->next;(9)while(P->next!=NULL) P=P->next;(10)P= Q;(11)P= L;(12)L= S;(13)L= P;第三章栈和队列1.有5 个元素,其入栈次序为:A,B,C,D,E,在各种可能的出栈次序中,以元素C,D最先出栈(即C第一个且D第二个出栈)的次序有哪几个?2.栈S和队列Q的初始状态皆为空,元素a1,a2,a3,a4,a5和a6依次通过S栈,一个元素出栈后即进入队列Q,若6个元素出队列的顺序是a3,a5,a6,a4,a2,a1,则栈S至少应该容纳个元素。
数据结构--线性表习题及答案
数据结构--线性表习题及答案第⼆章线性表⼀、选择题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个元素,需要向前移动()个元素。
数据结构练习题(含答案)
数据结构练习题习题1 绪论1.1 单项选择题1. 数据结构是一门研究非数值计算的程序设计问题中,数据元素的①、数据信息在计算机中的②以及一组相关的运算等的课程。
① A.操作对象B.计算方法C.逻辑结构D.数据映象② A.存储结构B.关系C.运算D.算法2. 数据结构DS(Data Struct)可以被形式地定义为DS=(D,R),其中D是①的有限集合,R是D上的②有限集合。
① A.算法B.数据元素C.数据操作D.数据对象② A.操作B.映象C.存储D.关系3. 在数据结构中,从逻辑上可以把数据结构分成。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构4. 算法分析的目的是①,算法分析的两个主要方面是②。
① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和文档性② A. 空间复杂性和时间复杂性 B. 正确性和简明性C. 可读性和文档性D. 数据复杂性和程序复杂性5. 计算机算法指的是①,它必具备输入、输出和②等五个特性。
① A. 计算方法 B. 排序方法C. 解决问题的有限运算序列D. 调度方法② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性C. 确定性、有穷性和稳定性D. 易读性、稳定性和安全性1.2 填空题(将正确的答案填在相应的空中)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.在具有 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、线性表是具有n 个______ 的有限序列。
A.数据项B.字符C.数据元素D.表元素正确答案:C2、线性表是_______。
A.一个无限序列,可以为空B.一个有限序列不可以为空C.一个无限序列,不可以为空D.一个有限序列,可以为空正确答案:D3、关于线性表的正确说法是_______。
A.每一个元素都有一个前驱和一个后继元素B.除第一个元素和最后一个元素外,其余元素有且仅有一个前驱和一个后继元素C.表中元素的排序顺序必须是由小到大或者由大到小D.线性表中至少有一个元素正确答案:B4、线性表采用链表存储时,其存放各个元素的单元地址是_______。
A.连续与否均可以B.部份地址必须是连续的C.一定是不连续的D.必须是连续的5、链表不具备的特点是_______。
A.插入删除不需要挪移元素B.所需空间与其长度成正比C.不必事先估计存储空间D.可随机访问任一节点正确答案:D6、线性表的静态链表存储结构与顺序存储结构相比,优点是_______。
A.所有的操作算法实现简单B.便于利用零散的存储器空间C.便于随机存取D.便于插入和删除正确答案:D7、线性表的顺序存储结构和链式存储结构相比,优点是_______。
A.便于随机存取B.便于插入和删除C.所有的操作算法实现简单D.节省存储空间正确答案:A 8、设线性表有n 个元素,以下操作中,_______在顺序表上实现比在链表上实现效率高。
A.交换第1 个元素第2 个元素的值B.输出与给定值x 相等的元素在线性表中的符号C.输入第i ( 1<=i<=n )个元素值D.顺序输出这n 个元素的值正确答案:C9、对于一个线性表,既要求能够较快地进行插入和删除操作,又要求存储结构能够反映数据元素之间的逻辑关系,则应采用_______ 存储结构。
A.顺序B.链式C.散列D.索引正确答案:B10、设线性表中有n 个元素,以下操作,_______ 在单链表上实现要比在顺序表上实现效率高。
《数据结构》关于线性表的练习题(PPT内含答案)
C.插入删除时不需移动元素
D.所需空间与线性表成正比
7.在( B )的运算中,使用顺序表比链表好。
A.插入
B.根据序号查找
C.删除
D.根据元素查找
8.在单链表指针为p的结点之后插入指针为s的结点,正确 的操作是( B )。
A.p->next=s;s->next=p->next;
B.s->next=p->next;p->next=s;
9.若对一个线性表经常进行查找操作,而很少进行插入和 删除操作时,则采用 顺序 存储结构为宜,相反,若经 常进行的是插入和删除操作时,则采用 链式 存储结构 为宜。
习题2
三、判断题 1.线性表的链式存储结构优于顺序存储结构。( F ) 2.链表的每个结点都恰好包含一个指针域。 ( F ) 3.在线性表的链式存储结构中,逻辑上相邻的两个元素在
B.循环链表和单向链表
C.循环链表
15.对具有n个结点的线性表进行插入或删除操作, 所需的算法时间复杂度为( D )。
A.O(n2) C.O(log2n)
B.O(nlog2n) D.O(n)
习题2
二、填空题
1.线性表L=(a1,a2,…,an)采用顺序存储,假定删除 表中任意元素的概率相同,则删除一个元素平均 需要移动元素的个数是 (n-1)/2 。
习题2
5.链表相对于顺序表的优点是插入、删除方便;缺点是存 储密度 小 。
6.链式存储的特点是利用 指针 来表示数据元素之间的 逻辑关系。
7.在双向链表中,每个结点有两个指针域,一个指向其 前驱结点,另一个指向其 后继 结点。
8.在一个双链表中,设指针p是指向该表中待删除的结点, 则需要执行的操作为: p->pre->next=p->next 。
数据结构第二章习题
数据结构第二章习题第2章线性表一、单项选择题1.线性表就是具备n个_________的非常有限序列。
a.表元素b.字符c.数据元素d.数据项2.线性表是_________。
a.一个非常有限序列,可以为空b.一个非常有限序列,不可以为空c.一个无穷序列,可以为空d.一个无穷序列,不可以为空3.线性表使用链表存储时,其地址_________。
a.必须是连续的b.一定是不连续的c.部分地址必须是连续的d.连续与否均可以4.链表不具备的特点是_________。
a.可以随机出访任一结点b.填入删掉不须要移动元素c.不必事先估算存储空间d.所须要空间与其长度成正比5.设立线性表存有n个元素,以下操作方式中,_________在顺序单上同时实现比在链表上同时实现效率更高。
a.输出第i(1≤i≤n)个元素值b.互换第1个元素与第2个元素的值c.顺序输入这n个元素的值d.输出与给定值x相等的元素在线性表中的序号6.设立线性表中存有2n个元素,以下操作方式中,_________在单链单上同时实现Obrero在顺序单上同时实现效率更高。
a.删掉选定的元素b.在最后一个元素的后面插入一个新元素c.顺序输出前k个元素d.互换第i个元素和第2n-i-1个元素的值(i=0,1…,n-1)7.如果最常用的操作是取第i个结点及其前驱,则采用_________存储方式最节省时间。
a.单链表中b.双链表中c.单循环链表d.顺序表8.与单链表相比,双链表的优点之一是_________。
a.填入和删掉操作方式更直观b.可以展开随机出访c.可以省略字段指针或表尾指针d.出访前后相连结点更有效率9.率先垂范结点的单链表中l为觑的认定条件就是_________。
a.l==nullb.l->next==nullc.l->next==ld.l!=null10.在一个具备n个结点的有序单链表填入一个崭新结点并仍然维持有序的时间复杂度就是_________。
数据结构-线性表习题及解析
线性表典型例题一、单项选择题[例7-1]在数据结构中,与所使用计算机无关的数据叫( ①)结构;链表是一种采用( ②)存储结构存储的线性表;链表适用于( ③)查找;在链表中进行( ④)操作的效率比在线性表中进行该操作的效率高。
①A.存储B.物理C.逻辑D.物理和逻辑②A.顺序B.网状C.星式D.链式③A.顺序B.二分法C.顺序及二分法D.随机④A.二分法查找B.快速查找C.顺序查找D.插入解析:本题考查的是基本概念。
本题答案为:①C;②D;③A;④D。
[例7-2] 链表不具备的特点是( )。
A.插入和删除不需要移动元素B.可随机访问任一结点C.不必预分配空间D.所需空间与其长度成正比解析:线性表可随机访问任一结点,而链表必须从第一个数据结点出发逐一查找每个结点。
本题答案为:B。
[例7-3] 不带头结点的单链表head为空的判定条件是( )。
A.head==NULL B.head_>next==NULLC.head_>next==head D.head!=NULL解析:在不带头结点的单链表head中,head指向第一个数据结点。
空表即该表没有结点,head==NULL表示该单链表为空。
本题答案为:A。
[例7-4] 带头结点的单链表head为空的判定条件是( )。
A.head==NULL B.head—>next==NULLC.head—> next==head D.head!=NULL解析:在带头结点的单链表head中,head指向头结点。
空表即该表只有头结点,head —>next==NULL表示该单链表为空。
本题答案为:B。
[例7-5] 带头结点的循环单链表head中,head为空的判定条件是( )。
A.head==NULL B.head—>next==NULLC.head—> next==head D.head!=NULL解析:在带头结点的循环单链表head中,head指向头结点。
数据结构(线性表习题含答案)
数据结构第二章线性表习题含答案说明:顺序存储的线性表称为向量。
一,单项选择题一个向量第一个元素的地址是100,每个元素的长度为2,则第5个元素的地址是__①_B__。
A) 110 B) 108 C) 100 D) 120线性结构通常采用的两种存储结构是__①A___。
A) 顺序存储结构和链式存储结构B) 散列方式和索引方式C) 链表存储结构和数组D) 线性存储结构和非线性存储结构不带头结点的单链表head为空的判定条件是__①__A_.A) head==NULL B) head->next==NULLC) head->next==head D) head!=NULL带头结点的单链表head为空的判定条件是__①B___。
A) head==NULL B) head->next==NULLC) head->next==head D) head!=NULL非空的循环链表head的尾结点(由p所指向)满足__①_C__。
A) p->next==NULL B) p==NULLC) P->next==head D) p==head在循环双链表的p所指结点之后插入s所指结点的操作是___①_C_。
A) p->right=s; s->left=p; p->right->left=s; s->right=p->right;B) p->right=s; p->right->left=s; s->left=p; s->right=p->right;C) s->left=p; s->right=p->right; p->right=s; p->right->left=s;D) s->left=p; s->right=p->right; p->right->left=s; p->right=s;在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点, 则执行__①c___。
数据结构(线性表)练习题与答案2
1、与单链表相比,双链表的优点之一是()。
A.插入、删除操作更简单B.可以进行随机访问C.可以省略表头指针或表尾指针D.访问前后相邻节点更方便正确答案:D解析:在双链表中可以访问任一节点的前后相邻节点,而单链表中只能访问任一节点的下一个节点。
2、带头节点的双链表L为空表时应满足()。
A.L==NULLB.L->prior==L->nextC.L->prior==NULLD.L->next==NULL正确答案:D3、在长度为n(n≥1)的双链表中插入一个节点(非尾节点)要修改()个指针域。
A.1B.2C.3D.4正确答案:D解析:需要修改插入节点的prior、next域,前驱节点的next域和后继节点的prior域。
4、对于长度为n(n≥1)的双链表L,在p所指节点之前插入一个新节点的算法的时间复杂度为()。
A. O(1)B. O(n)C. O(n2)D. O(nlog2n)正确答案:A解析:设新节点指针为q,操作是:p->prior->next=p; q->prior=p->prior; p->prior=q; q->next=p;5、在长度为n(n≥1)的双链表中删除一个节点(非尾节点)要修改()个指针域。
A.1B.2C.3D.4正确答案:B解析:需要修改前驱节点的next域和后继节点的prior域。
6、与非循环单链表相比,循环单链表的主要优点是()。
A.不再需要头指针B.已知某个节点的位置后,能够容易找到它的前驱节点C.在进行插入、删除操作时,能更好地保证链表不断开D.从表中任意节点出发都能扫描到整个链表正确答案:D解析:循环单链表中可以循环扫描,因此从表中任意节点出发都能扫描到整个链表。
7、设有带头节点的循环单链表L,当这种链表成为空链表时,有()。
A.表头节点指针域next为空B.L的值为NULLC.表头节点的指针域next与L的值相等D.表头节点的指针域next与L的地址相等正确答案:C解析:带头节点的循环单链表L成为空链表时满足L->next==L,即表头节点*L的指针域next与L的值相等,而不是表头节点*L的指针域next与L的地址相等。
数据结构(线性表)习题与答案
1、线性表是具有n个 ______ 的有限序列。
A.数据项B.字符C.数据元素D.表元素正确答案:C2、线性表是 _______。
A.一个无限序列,可以为空B.一个有限序列不可以为空C.一个无限序列,不可以为空D.一个有限序列,可以为空正确答案:D3、关于线性表的正确说法是 _______。
A.每个元素都有一个前驱和一个后继元素B.除第一个元素和最后一个元素外,其余元素有且仅有一个前驱和一个后继元素C.表中元素的排序顺序必须是由小到大或由大到小D.线性表中至少有一个元素正确答案:B4、线性表采用链表存储时,其存放各个元素的单元地址是 _______。
A.连续与否均可以B.部分地址必须是连续的C.一定是不连续的D.必须是连续的5、链表不具备的特点是 _______。
A.插入删除不需要移动元素B.所需空间与其长度成正比C.不必事先估计存储空间D.可随机访问任一节点正确答案:D6、线性表的静态链表存储结构与顺序存储结构相比,优点是 _______。
A.所有的操作算法实现简单B.便于利用零散的存储器空间C.便于随机存取D.便于插入和删除正确答案:D7、线性表的顺序存储结构和链式存储结构相比,优点是 _______。
A.便于随机存取B.便于插入和删除C.所有的操作算法实现简单D.节省存储空间正确答案:A8、设线性表有n个元素,以下操作中,_______在顺序表上实现比在链表上实现效率高。
A.交换第1个元素第2个元素的值B.输出与给定值x相等的元素在线性表中的符号C.输入第i(1<=i<=n)个元素值D.顺序输出这n个元素的值正确答案:C9、对于一个线性表,既要求能够较快地进行插入和删除操作,又要求存储结构能够反映数据元素之间的逻辑关系,则应采用 _______ 存储结构。
A.顺序B.链式C.散列D.索引正确答案:B10、设线性表中有n个元素,以下操作,_______ 在单链表上实现要比在顺序表上实现效率高。
《数据结构》习题集:第2章_线性表
第2章线性表一、选择题1.表长为N 的顺序表,当在任何位置上插入或删除一个元素的概率相等时,插入一个元素所需移动元素的平均次数为(E ),删除一个元素需要移动的元素个数为(A )。
A. (N-1)/2B. NC. N+1D. N-1E. N/2F. (N+1)/2G. (N-2)/22.线性表是具有N 个(C )的有限序列。
A、表元素B、字符C、数据元素D、数据项E、信息3.“线性表的逻辑顺序和物理顺序总是一致的。
”这个结论是(B )。
A、正确的B、错误的C、不一定,与具体结构有关。
4.线性表采用链式存储结构时,要求内存中可用存储单元的地址(D )。
A、必须是连续的B、部分地址必须是连续的C、一定是不连续的D、连续或不连续都可以。
5.带头结点的单链表为空的判定条件是(B )。
A、head==NULLB、head->next==NULLC、head->next==headD、head!=NULL6.不带头结点的单链表head 为空的判定条件是(A )。
A、head==NULLB、head->next==NULLC、head->next==headD、head!=NULL7.非空的循环单链表head 的尾结点P 满足( C )。
A、P->NEXT=NULLB、p=NULLC、p->next==headD、p==head8.在一个具有n 个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是(B )。
A、O(1)B、O(n)C、O(n2)D、O(nlog2n)9.在一个单链表中,若删除P 所指结点的后继结点,则执行( A )。
A、p->next=p->next->nextB、p=p->next;p->next=p->next->nextC、p->next=p->next;D、p=p->next->next;10.在一个单链表中,若在P所指结点之后插入S所指结点,则执行(B )。
数据结构线性表习题
第二章作业题1.求单链表中当前结点的后继和前驱的时间复杂度分别是()A.O(n)和O(1)B.O(1)和O(1)C.O(1)和O(n)D.O(n)和O(n)2.非空的单循环链表的头指针为head,尾指针为rear,则下列条件成立的是()A.rear->next= =head B.rear->next->next= =headC.head->next= =rear D.head->next->next= =rear3.在带头结点的循环链表L中,结点的数据元素为整型,且按值递增有序存放。
给定两个整数a和b,且a<b,编写算法删除链表L中元素值大于a且小于b的所有结点。
4.在线性表的下列运算中,不.改变数据元素之间结构关系的运算是()A.插入B.删除C.排序D.定位5.已知指针p和q分别指向某单链表中第一个结点和最后一个结点。
假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为( ) A.q->next=s->next;s->next=p; B.s->next=p;q->next=s->next;C.p->next=s->next;s->next=q;D.s->next=q;p->next=s->next;6.若线性表的插入和删除操作频繁地在表头或表尾位置进行,则更适宜采用的存储结构为()A.无头结点的双向链表B.带尾指针的循环链表C.无头结点的单链表D.带头指针的循环链表7.在下列对顺序表进行的操作中,算法时间复杂度为O(1)的是()A.访问第i个元素的前驱(1<ni≤)B.在第i个元素之后插入一个新元素(n1≤≤)iC.删除第i个元素(n≤)i1≤D.对顺序表中元素进行排序8.在链表的结点中,数据元素所占的存储量和整个结点所占的存储量之比称作________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章
1.数据结构是一门研究非数值计算的程序设计问题中计算机
的 () 以及它们之间的 () 和运算等的学科。
2.数据的逻辑结构被形式的定义为B=(K,R),其中K是 () 的有限集合,R是K上的
的有限集合。
3.数据结构在计算机内存中的表示是指 () 。
4.在数据结构中,与所使用的计算机无关的是数据的 () 结构。
5.算法分析的目的是 () ,算法分析的两个主要方面是。
6.计算机算法指的是 () ,它必须具备输入,输出和 () 等5个特性。
7.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 () 。
8.以下说法正确的是:()
A 数据元素是数据的最小单位。
B 数据项是数据的基本单位
C 数据结构是带结构的数据项的集合
D 一些表面上很不相同的数据可以有相同的逻辑结构
9.一个数据结构在计算机中的 () 称为存储结构。
10.数据结构,数据元素和数据项在计算机中的映射分别称为存储结构,节点和数据域。
这
个断言正确否?
11.有下列用二元组表示的数据结构,画出]它们分别对应的逻辑结构图形表示,并指出它
们分别属于何种结构。
(1)A=(K,R),其中:K={a,b,c,d,e,f,g,h},
R={<a,b>,<b,c>,<c,d>,<d,e>,<e,f>,<f,g>,<g,h>}
(2)C=(K,R),其中K={1,2,3,4,5,6}
R={<1,2>,<2,3>,<2,4>,<3,4>,<3,5>,<3,6>,<4,5>,<4,6>}
12.下面程序段的时间复杂度。
For(i=0;i<n;i++)
For(j=0;j<m;j++)
A[i][j]=0;
第二章
1.不带头结点的单链表head为空的判定条件是 () 。
2.带头结点的单链表head为空的判定条件是 () 。
3.在循环双链表的p所指结点之前插入s所指结点的操作是 () 。
4.如果最常用的操作是取第i个结点及其前驱,则采用 () 存储方式最节省时间。
5.在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行 () 操作与链表的长度
无关.
A 删除单链表中的第一个元素;
B 删除单链表中的最后一个元素;
C 在单链表第一个元素前插入一个新元素;
D 在单链表最后一个元素后插入一个新元素;
6.与单链表相比, 双链表的优点之一是 ()
A 插入、删除操作更简单;
B 可以进行随即访问;
C 可以省略表头指针或表尾指针;
D 顺序访问相邻接点更灵活
7.向一个长度为n的顺序表中的第i个元素(0≤i≤n-1)之前插入一个元素时,须向后移动 ()
个元素.
8.在单链表中,要删除某一指定的结点,必须找到该结点的 () 结点.
9.设有一个顺序表L,其元素为整形数据(无0元素),设计一算法将L中所有小于0的整数放在前半部分,大于0的整数放在后半部分.
10.有一个单链表,其头指针为head,设计一个算法计算数据域为X的结点个数。
11.设有一个循环双链表,其中有一结点的指针为P,设计一个算法将P与其后续结点进行交换。
第三章
1.栈和队列的共同点是 () 。
2.一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是 () 。
A edcba
B decba
C dceab
D abcde
3.一个队列的入队序列是1,2,3,4,则队列的输出序列是 () 。
4.判断一个队列Q为空的条件是 () ;为满队列的条件是 () 。
5.在一个队列中,假设f和r分别为队头和队尾指针,则删除一个结点的运算是 () 。
6.栈和队列的区别仅在于 () 。
7.在具有n个单元的循环队列中,队满时共有 () 个元素。
8.设计一个算法,利用栈的基本运算将指定栈中的内容进行逆转。
9.设计一算法,利用栈的基本运算返回指定栈中栈底元素。
10.设计一个算法,利用队列的基本运算返回指定队列中的最后一个元素。
第四章
1.空串与空白串是相同的,这种说法 () 。
2.串是一种特殊的线性表,其特殊性体现在 () 。
3.两个串相等的充分必要条件是 () 。
4.采用顺序结构存储串,设计一个算法计算一个子串在一个字符串中出现的次数,如果该子串不出现则为0。