数据结构习题及答案
数据结构习题及标准答案

第一章1.在数据结构中,从逻辑上可以把数据结构分为(C )A.动态结构和静态结构B。
紧凑结构和非紧凑结构C.线性结构和非线性结构D。
内部结构和外部结构● 2.在数据结构中,与所使用的计算机无关的是( A )A。
逻辑结构 B. 存储结构C。
逻辑和存储结构 D. 物理结构3。
下面程序的时间复杂度为____O(mn)_______。
for (int i=1;i〈=m; i++)for (int j=1;j〈=n;j++ )S+=i第二章线性表●链表不具备的特点是(A)A 可以随机访问任一结点(顺序)B 插入删除不需要移动元素C 不必事先估计空间D 所需空间与其长度成正比2。
不带头结点的单链表head为空的判定条件为(A ),带头结点的单链表head为空的判定条件为(B )A head==nullB head—〉next==nullC head-〉next==headD head!=null●3.在线性表的下列存储结构中,读取元素花费时间最少的是(D)A 单链表B 双链表C 循环链表D 顺序表● 4.对于只在表的首、尾两端进行手稿操作的线性表,宜采用的存储结构为(C)A 顺序表B 用头指针表示的单循环链表C 用尾指针表示的单循环链表D 单链表●5。
在一个具有n 个结点的有序单链表中插入一个新的结点,并保持链表元素仍然有序,则操作的时间复杂度为( D )A O(1)B O(log2n)C O(n2)D O(n)● 6.在一个长度为n (n〉1)的单链表上,设有头和尾两个指针,执行(B)操作与链表的长度有关A 删除单链表中第一个元素B 删除单链表中最后一个元素C 在第一个元素之前插入一个新元素D 在最后一个元素之后插入一个新元素●7。
与单链表相比,双向链表的优点之一是(D)A 插入删除操作更简单B 可以进行随机访问C 可以省略表头指针或表尾指针D 顺序访问相邻结点更容易●8。
若list是某带头结点的循环链表的头结点指针,则该链表最后那个链结点的指针域(头结点的地址)中存放的是( B )A list的地址B list的内容C list指的链结点的值D 链表第一个链结点的地址●9.若list1和list2分别为一个单链表与一个双向链表的第一个结点的指针,则( B )A list2比list1占用更多的存储单元B list1与list2占用相同的存储单元C list1和list2应该是相同类型的指针变量D 双向链表比单链表占用更多的存储单元10。
数据结构习题及答案

数据结构习题习题一一、选择题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、数据逻辑结构的四种基本类型中,线性结构_中的元素是一种一对一的关系,这种结构的特征是:若结构是非空集,则有且只有一个开始结点和一个终端结点,并且所有结点最多只能有一个直接前驱和一个直接后继。
数据结构习题与答案

C、便于插入和删除D、便于利用零散的存储器空间
3.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素算法的时间复杂度为C。
A、O(log2n) B、O(1)
C、O(n) D、O(n2)
4.(1)静态链表既有顺序存储的特点,又有动态链表的优点。所以,它存取表中第i个元素的时间与i无关;
4、线性结构的特征:逻辑上满足有且仅有一个开始结点和一个终端结点,且其余结点有且仅有唯一的一个直接前趋和一个直接后继。
5.数据的存储结构被分为顺序、链接、索引和散列4种。
6.存储结构是逻辑结构的存储实现,其基本目标是建立数据的机内表示。
7.数据表示任务是逐步完成的,即数据表示形式的变化过程是:机外表示→
A、带尾指针的非循环链表B、带尾指针的循环链表
C、带头指针的非循环链表D、带头指针的循环链表
2、若用一个大小为6的数组来实现循环队列,且当rear和front的值分别为0和3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是B。
A、1和5 B、2和4
C、4和2 D、5和1
3、设栈的输入序列为1、2、3、4,则C不可能是其出栈序列。
push (s,x); }
push (s,x); printf(x)
push(s,y); }
push(s,x);
push(s,'E');
push(s,x);
此题的输出结果是HELOLLL。
5、以下为单链表删除运算,分析算法,请在处填上正确的语句。
void delete_lkist(lklist head,int i)
D、q->next=p->next;q->prior=p;p->next=q;p->next=q;
数据结构习题及答案

数据结构习题及答案第1章算法一、选择题1.算法的时间复杂度是指()。
A)执行算法程序所需要的时间B)算法程序中的指令条数C)算法执行过程中所需要的基本运算次数D)算法程序的长度2.算法的空间复杂度是指()。
A)算法程序的长度B)算法程序所占的存储空间C)算法执行过程中所需要的存储空间D)算法程序中的指令条数3.下面()的时间复杂度最好(即执行时间最短)。
logn)O()O(n ) B)A2logn2 ) D)O(n)C)O(n24.下面累加求和程序段的时间复杂度为()。
int sum(int a[],int n){int i, s=0;for (i=0;i<n;i++)< p="">s+=a[i];return s;}logn ) )O(A)O(1 ) B22))O(nC)O(n ) D中的算法,c[][]相加的结果存放到b[][]n阶矩阵5.下面是将两个n阶矩阵a[][]与。
该算法的时间复杂度为()void matrixadd(int a[][],intb[][],c[][],int n){int i,j;for (i=0;i<n;i++)< p="">for(j=0;j<n;j++)< p="">c[i][j]=a[i][j]+b[i][j];}nlog) )O(1 ) B)O(A22) )O(nO( n ) DC)。
6.下面程序段的时间复杂度为() 1int i=0,s1=0,s2=0;while(i<n)< p="">{if(i%2)s1+=i;elses2+=i;i++;}nlog) O(A)O(1 ) B)22) )O(nC)O(n ) D )。
7.下面程序段的时间复杂度为(int prime(int n){int i=1;int x=(int)sqrt(n);while(i<=x){i++;if(n%i==0)break;}if(i>x)return 1;elsereturn 0;}nlog) O(O(1 ) BA))2n) O()CO(n ) D))下面程序段的时间复杂度为(8.int fun(int n){int i=1,s=1;while(s<n)< p="">{i++;s+=i;}return i;}nlog)O(n/2) BA))O(2 2n) )O(C)O(n ) D9.下面程序段的时间复杂度为()int i,j,m,n,a[][];for(i=0;i<m;i++)< p="">for(j=0;j<n;j++)< p="">a[i][j]=i*j;22) )O(nA)O(m) BO(m+n) )C)O(m*n ) D )10. 下面程序段的时间复杂度为(int sum1(int n){int i,p=1,s=0;for(i=1;i<=n;i++){p*=i;s=s+p;}return s;}nlog) )O(A)O(1 ) B22)O(n ) D)O(nC)二、填空题复杂度。
数据结构练习题及答案

数据结构练习题(一)一、单选题1.栈和队列的共同特点是( )。
A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进行插入运算时( )。
A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中( )是非线性结构。
A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在()位置。
脚注(10)表示用10进制表示。
A.688 B.678 C.692 D.6965.树最适合用来表示( )。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( )。
A.2k-1 +1 D. 2k-17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )。
A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有()个。
A.1 B.2 C.3 D.49.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。
二、填空题1.通常从四个方面评价算法的质量:_________、_________、_________和_________。
2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。
3.假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含的结点数为__________个,树的深度为___________,树的度为_________。
数据结构教材课后习题及参考答案习题 (10)[3页]
![数据结构教材课后习题及参考答案习题 (10)[3页]](https://img.taocdn.com/s3/m/3b7b79ebeff9aef8951e063c.png)
习题6一.填空题1.树中除根结点外,其他结点有且只有个直接前驱结点,但可以有个直接后继结点。
2.树中结点的度,是指结点拥有的个数;一棵具有n个结点的树,该树中所有结点的度数之和为。
3.深度为h的完全二叉树至少有个结点,至多有个结点,若按层序从1开始编号,则编号最小的叶子结点的编号是。
5.将一棵完全二叉树按层序从1进行编号,对编号为i的结点,如果有左孩子,则左孩子的编号应该是;如果有右孩子,则右孩子的编号应该是。
6.一棵完全二叉树有1001个结点,其深度是,叶子结点个数是。
78.树的先根遍历序列与其对应二叉树的遍历序列相同,树的后根遍历序列与其对应二叉树的遍历序列相同。
9.若二叉树共有n个结点,采用线索链表存储其线索二叉树,那么在所有存储结点里,一共有个指针域,其中有个指针是指向其孩子结点的,个指针是指向其前驱后继结点的。
指向前驱后继结点的指针称为。
10.哈夫曼树又称。
它是n个带权叶子结点构成的所有二叉树中,带权路径长度的二叉树。
11.哈夫曼树中,权值较大的叶结点一定离根结点。
由n个带权值的叶结点生成的哈夫曼树中共有个结点,其中有个分支结点。
12.哈夫曼树中不存在度为的结点。
二.选择题1.有关二叉树下列说法正确的是()A.二叉树的度为2 B.一棵二叉树的度可以小于2C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2 2.二叉树的第i层上最多含有结点数为()A.2i B.2i-1-1 C.2i-1D.2i-13.一棵具有1025个结点的二叉树的高度为( )。
A.11 B.10 C.11至1025之间D.10至1024之间4.一棵高度为5的二叉树,其结点总数为()。
A.6~17 B.5~16 C.6~32 D.5~315.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( )。
A.9 B.11 C.15 D.不能确定6.一棵完全二叉树具有600个结点,则它有( ) 个度为1的结点。
数据结构习题及答案

第一章概论一、填空题1. 数据结构是一门研究非数值计算的程序设计问题中计算机的 操作对象 以及它们之间的 关系 和运算等的学科。
2. 数据结构被形式地定义为(D, R ),其中D 是 数据元素 的有限集合,R 是D 上的 关系 有限集合。
3. 数据结构包括数据的 逻辑结构 、数据的 存储结构 和数据的 运算 这三个方面的内容。
4. 数据结构按逻辑结构可分为两大类,它们分别是 线性结构 和 非线性结构 。
5. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。
6. 在线性结构中,第一个结点 没有 前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点 没有后续结点,其余每个结点有且只有1个后续结点。
7. 在树形结构中,树根结点没有 前驱 结点,其余每个结点有且只有 1 个前驱结点;叶子结点没有 后续 结点,其余每个结点的后续结点数可以任意多个 。
8. 在图形结构中,每个结点的前驱结点数和后续结点数可以 任意多个 。
9.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序 、 链式 、 索引 和 散列 。
10. 数据的运算最常用的有5种,它们分别是插入 、 删除、修改、 查找 、排序。
11. 一个算法的效率可分为 时间 效率和 空间 效率。
二、单项选择题( B )1. 非线性结构是数据元素之间存在一种:A )一对多关系B )多对多关系C )多对一关系D )一对一关系( C )2. 数据结构中,与所使用的计算机无关的是数据的 结构;A) 存储 B) 物理 C) 逻辑 D) 物理和存储( C )3. 算法分析的目的是:A) 找出数据结构的合理性 B) 研究算法中的输入和输出的关系C) 分析算法的效率以求改进 D) 分析算法的易懂性和文档性( A )4. 算法分析的两个主要方面是:A) 空间复杂性和时间复杂性 B) 正确性和简明性C) 可读性和文档性 D) 数据复杂性和程序复杂性( C )5. 计算机算法指的是:A) 计算方法 B) 排序方法 C) 解决问题的有限运算序列 D) 调度方法( B )6. 计算机算法必须具备输入、输出和 等5个特性。
数据结构练习题及参考答案

《数据结构》练习题一、解答题(共50分)1、(8分)假设用于通讯的电文字符集及其出现的频率如下表所示。
请为这8个字符设计哈夫曼编码,并画出其哈夫曼树,计算WPL 。
2. (8分)若一棵二叉树中序遍历和后序遍历序列分别为:DBEHGAFIC 和DHGEBIFCA 。
试画出这棵二叉树,并写出其先序遍历和层序遍历序列。
3.(16分)以下无向网络以邻接表为存储结构(假设邻接表的顶点表按字母a 、b 、c 、d 、e 、f 、g 、h 的顺序依次存储,邻接表的边表结点按顶点的下标由小到大链接)。
请画出其邻接表,并写出从顶点f 出发,分别进行深度和广度优先遍历的序列,写出用Prime 方法从顶点c开始产生最小生成树的边的序列。
4.(8分)已知键值序列为(44,39,67,25, 52,59,43,84,54,58,15,26,12,73,92,69),取填充因子α=0.8,采用线性探查法处理冲突,试构造散列表。
⒌(5分)已知一组记录为(67,88,15,12,60,37,7,31,45,81),用希尔排序方法进行排序,d1=5,d2=3,d3=1,则第二趟的排序结果是( )。
⒍(5分)已知一组记录为(67,88,15,12,60,37,7,31,45,81) ,用堆(大根堆)排序方法进行排序,第一趟的排序结果是( )。
二、完善程序(共20分,每空2分)1.假设一组递减有序的原始数据存储在数组r 中,存放元素的下标下限为low,下标上字符 出现频率 a 0.05 b 0.03 c 0.24 d 0.16 e 0.08 f 0.24 g 0.18 h0.02限为high,以下是在数组中查找数值为k的折半查找算法。
请填空完善程序。
int BinSearch(int r[ ], int low,int high,int k){ int l,h,m;l= low; h= high;while ( ⑴){m= ⑵;if (k < r[m]) ⑶;else if (k > r[m]) ⑷;else return m;}return 0;}2. 以下程序功能是将数组r中,从下标first到end之间的元素进行快速排序的分区。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章1.在数据结构中,从逻辑上可以把数据结构分为( C )A •动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构2. 在数据结构中,与所使用的计算机无关的是( A )A. 逻辑结构B. 存储结构C. 逻辑和存储结构D. 物理结构3. _________________________ 下面程序的时间复杂度为O(mn)。
for (int i=1; i<=m; i++)for (int j=1; j<=n; j++ )S+=i第二章线性表链表不具备的特点是(A)A 可以随机访问任一结点(顺序)B 插入删除不需要移动元素C 不必事先估计空间D 所需空间与其长度成正比2. 不带头结点的单链表head为空的判定条件为(A ),带头结点的单链表head为空的判定条件为( B )A head==nullB head->next==nullC head->next==headD head!=null3. 在线性表的下列存储结构中,读取元素花费时间最少的是(D)A 单链表B 双链表C 循环链表D 顺序表4. 对于只在表的首、尾两端进行手稿操作的线性表,宜采用的存储结构为(C)A 顺序表B 用头指针表示的单循环链表C 用尾指针表示的单循环链表D 单链表5. 在一个具有n 个结点的有序单链表中插入一个新的结点,并保持链表元素仍然有序,则操作的时间复杂度为( D )A O(1)B O(log 2n)C O(n2)D O(n)6. 在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行(B)操作与链表的长度有关A 删除单链表中第一个元素B 删除单链表中最后一个元素C 在第一个元素之前插入一个新元素D 在最后一个元素之后插入一个新元素7. 与单链表相比,双向链表的优点之一是(D)A 插入删除操作更简单B 可以进行随机访问C 可以省略表头指针或表尾指针D 顺序访问相邻结点更容易8. 若list 是某带头结点的循环链表的头结点指针,则该链表最后那个链结点的指针域(头结点的地址)中存放的是( B )A list 的地址B list 的内容C list 指的链结点的值D 链表第一个链结点的地址9. 若listl和Iist2分别为一个单链表与一个双向链表的第一个结点的指针,则(B )A Iist2比listl占用更多的存储单元B listl与Iist2占用相同的存储单元C list1 和list2 应该是相同类型的指针变量D 双向链表比单链表占用更多的存储单元10. 链表中的每个链结点占用的存储空间不必连续,这句话正确吗?(不正确)11. 某线性表采用顺序存储结构,元素长度为4,首地址为100,则下标为12的(第13个)元素的存储地址为14& V 100+4*12=14811. 在顺序表的(最后一个结点之后)插入一个新的数据元素不必移动任何元素。
12. 若对线性表进行的操作主要不是插入删除,则该线性表宜采用(顺序)存储结构,若频繁地对线性表进行插入和删除操作,则该线性表宜采用(链)存储结构。
13、一个顺序表所占用存储空间的大小与(B)无关。
A •表的长度B•元素的存放顺序 C.元素的类型 D.元素中各的类型14、设存储分配是从低地址到高地址进行的。
若每个元素占用4个存储单元,则某元素的地址是指它所占用的单元的(A)。
A. 第1 个单元的地址B. 第2 个单元的地址C. 第3个单元的地址D. 第4个单元的地址15、若线性表采用顺序存储结构,每个元素占用 4 个存储单元,第1 个元素的存储地址为100,则第12个元素的存储地址是(B)。
A. 112B. 144C.148D. 41216、若长度为n 的线性表采用顺序存储结构,在表的第i 个位置插入一个数据元素,i 的合法值应该是( D )。
A. i>0B.i<=nC.1<=i<=nD. 1<=i<=n+117、若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,i的合法值应该是( C )。
A. i>0B.y<=nC.1<=i<=nD. d<=i<=i+118、若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,首先需要移动表中( B )个数据元素。
A. n-iB.n+iC. n-i+1D. n-i-119、若长度为n的非空线性表采用顺序存储结构,在表的第i个位置插入一个数据元素,首先需要移动表中( C )个数据元素。
A. iB. n+iC.n-i+1D.n-i-120、若频繁地对线性表进行插入和删除操作,该线性表应该采用( C )存储结构。
A.散列B.顺序C.链式D.索引21、链表中的每一个链结点所占用的存储单元( B )。
A.不必连续B.—定连续C.部分连续D.连续与否无所谓22、在一个具有n 个链结点的线性链表中查找某一个链结点,若查找成功,需要平均比较(C)个链结点。
A. nB. n/2C.(n+1)/2D. (n-1)/223、给定具有n 个元素的顺序表,建立一个有序线性链表的时间复杂度为(C)。
A. O(1)B.O(n)C.O(n2)D. O(log 2 n)24、在非空线性链表中由p所指的链结点后面插入一个由q所指的链结点的过程是依次执行( B )。
A. q->next=p; p->next=q;B. q->next=p->next; p->next=q;C. q->next=p->next; p =q;D. p->next=q; q->next=p;25、若删除非空线性链表中由p 所指的链结点的直接后继链结点的过程过程是依次执行(B)。
A. r=p->next; p->next=r; free(r);B. r=p->next; p->next=r->next; free(r);C. r=p->next; p->next=r->next; free(p);D. p->next=p->next->next; free(p);26、在非空双向循环链表中由q 所指的链结点后面插入一个由p 所指的链结点的操作依次为p->prior=q; p->next=q->next;q->next=p; (C )。
A. q->prior=pB. q->next->prior=pC. p->next->prior=p;D. p->prior->next=p;27、在非空双向循环链表中由q 所指的链结点前面插入一个由p 所指的链结点的操作依次为p->next=q; p->prior=q->prior;q->prior=p; (D )。
A.q->next=p;B. q->prior->next=p;C. p->next->prior=p;D. p->prior->next=p;28、顺序存储的线性表(a1,a2;••…,an),在任一结点前插入一个新结点时所需移动结点的平均次数为(D )。
A. nB. n/2C. n+1D. (n+1)/229、在长度为n的顺序表的第i (1 < i < n+1个位置上插入一个元素,元素的移动次数是(A )。
A. n-i+1B. n-iC. iD. i-130、在线性表的下列存储结构中,读取元素花费时间最少的是(D)。
A. 单链表B. 双链表C. 循环链表D. 顺序表31、在以单链表为存储结构的线性表中,数据元素之间的逻辑关系用( C )。
A. 数据元素的相邻地址表示B. 数据元素在表中的序号表示C. 指向后继元素的指针表示D. 数据元素的值表示25、假设指针p指向单链表中的某一结点,若把p指针后面的结点删除,只需修改下列哪个指针值即可()。
A.p=p->next; B.p->next=p->next->nextC.p=p->next->next; D .p->next=p;26、在一个单链表HL中,若要在指针q所指结点的后面插入一个由指针P所指向的结点,则执行( D )。
A. q_>next = p_>next; p_>next = qB. p_>next = q_>next; q= p;C. q_>next = p_>next; p_>next = q;D . p_>next = q_>next; q_>next = p;27、构造一个空的线性表L 用(A )A. InitList(&L)B. DestroyList (&L)C. ListEmpty(L)D. ClearList(&L)第三章1、栈和队列的共同点是( C )A. 都是先进后出B. 都是先进先出在C. 只允许在端点处插入和删除元素D. 没有共同点2、一个栈的进栈顺序是a,b,c,d,e则栈的出栈顺序不可能是(C )A. edcbaB.decbaC. dceabD. adcbe3、设n个元素的进栈序列为1,2,3, ...... ,n,出栈序列为p1,p2,p3, ...... ,pn,若p1=n,则pi(1<=i<=n)的值为( C )。
A. iB. n-iC.n-i+1D. 有多种可能4、判断下面的说法是否正确(1)插入和删除操作比较简单,是链式栈和链式队列的优点之一。
X(2)堆栈允许删除的一端称为栈顶,而栈底元素是不能删除的。
5、设有一个顺序栈S,元素s1,s2,s3,s4,s5,s6依次进栈,如果6个元素的出栈顺序为s2,s3,s4,s6,s5,s1则顺序栈的容量至少应为多少?6、若数组s[0..n-1为两个栈,si和s2的共用存储空间,且仅当s[0..n-1全满时,各栈才不能进行进栈操作,则为这两个栈分配空间的最佳方案是:s1 和s2 的栈顶指针的初值分别为( C )。
A. 1 和n+1B. 1 和n/2C. -1 和nD. -1 和n+17、判定一个顺序栈st(最多元素为Maxsize)为空的条件为(B),判断栈满的条件为(D ).A. st.top!=-1B. st.top==0C.st.top!=MaxsizeD.st.top==Maxsize8、循环顺序队列中是否可以插入下一个元素,(A )A. 与队头指针和队尾指针的值有关B. 只与队尾指针的值有关,与队头指针的值无关C. 只与数组的大小有关,与队首头指针和队尾指针的值无关D. 与曾经进行过多少次插入操作有关9、若用一个大小为6 的一维数组来实现循环队列,且当前rear 和front 的值分别为0 和3,当从队列中删除1个元素,然后再插入2个新元素后,rear和front的值分别为(B)。