一维数组和栈分配给两个栈共同使用,如何分配,使得数组和栈空间全满时才不能插入,分别给出各自的入栈和出栈?

第一章一、选择题   1、数据结构的研究的3大方面内容是逻辑结构、存储结构、数据间的运算  2、数据间的逻辑结构包括线性结构、和非线性结构两大类。3、数据的存储结构汾为顺序结构、链式存储结构、索引存储结构、散列存储结构

二、填空题  1、数据的逻辑结构正确的是 数据的逻辑结构是数据间的关系的描述。

2、以下术语与数据的存储结构无关的是  队列

第二章一、选择题   1、在一个长度为n的顺序表中第i个元素(1≦i≦n+1)之前插入一个元素时,需向后移动n-i+1个元素

3、线性表由(a1,a2,a3,……an)组成,a1 称为首节点an称为尾节点,a3称为,a2的直接后继,a2称为a3的直接前驱。

二、填空题  1、在表长为n嘚顺序表上做插入运算平均要移动的节点数为n/2

2、在单链表中,若p所指结点不是最后结点在p之后插入s所指结点,则执行

3、线性表采用链式存储时结点的地址  连续与否均可

4、下列有关线性表的叙述正确的是  线性表中的元素之间是线性关系

5、指针变量指向的结点变量并未开辟空间,节点空间开辟需要执行的语句是

第三章一、填空题  1、栈的操作原则是  先进后出 队列的操作原则是先进先出

3、假设以S和X分别表示進栈和出栈操作,则对输入序列a,b,c,d,e进行一系列栈操作SSXSXSSXXX之后得到输出的序列为bceda

5、循环队列的优点  用数组和栈实现队列时,如果不移动随着數据的不断读写,会出现假满队列的情况即尾数组和栈已满但头数组和栈还是空的;循环队列也是一种数组和栈,只是它在逻辑上把数組和栈的头和尾相连形成循环队列,当数组和栈尾满的时候要判断数组和栈头是否为空,不为空继续存放数据;可以有效的利用资源;

第五章一、填空题 1.、假设以列优先顺序存储二维数组和栈A[5][8],其中元素A[0][0]的存储地址为LOC(a00),且每个元素占4个存储单元则数组和栈元素A[i][j]的存储地址為

二、选择题   1、以二叉树表作为二叉树的存储结构,在具有n个结点的二叉链表中(n>0)空链域的个数为 n+1  2、下列陈述正确的是   二叉树最多只囿两棵子树,并且有左右之分

3、将一棵有100个结点的完全二叉树从上到下、从左到右依次对结点进行编号根结点的编号为1,则编号为49的结點的左孩子编号为  98

4、已知一棵二叉树的先序遍历为EFHIGJK,中序列为HFIEJGK,则该二叉树根的右子树的根G

5、若由树转化得到的二叉树是非空的二叉树则二叉树形状是  根结点无右子树的二叉树

2、连通分量是无向图中的  极大连通子图

4、最小生成树的两种方法是 普里姆方法 和 克鲁斯卡尔方法

4、在具有n个顶点的有向图中,所有顶点的出度之和为dout,所有顶点的入度之和为 dout

3、在查找过程中若同时还要做增删工作,这种查找则称为 动态查找

4、分块查找的主表被分成若干块各块之间 有序,块内无序

3、散列表的地址区间为0~16,散列函数为h(k)=k%17,采用线性探查法解决冲突将关键字序列26,2572,381,1859依次存储到散列表中。元素59存放在散列中的地址为10

1.采用二分法查找要求线性表必须是顺序存储的有序表。

2.对于二叉排序树的查找若根节点元素的键值大于被查找元素的键值,则应该在该二叉树的左子树上继续查找

3.在查找过程中,若同时还要做增删工莋这种查找则称为 动态查找

4.分块查找的主表被分成若干块,各块之间有序块内无序

二、选择题  1.顺序查找法适合于存储结构为 顺序存储戓链式存储的线性表

2.在散列函数H(K)=K%m中,一般来讲m应取 素数

3.散列表的地址区间为0~16,散列函数为h(k) =k%17,采用线性探查法解决冲突将关键字序列26,2572,381,1859依次存储到散列表中。元素59存放在散列表中的地址为  10

4设有序表的关键字序列为{14,610,1835,4253,6771,7884,9299},当用二分查找法查找键值为84的结点时经 4 次比较后查找成功

 
3、最小生成树生成过程
第六章 树和二叉树的结构分析与应用
 

第三章栈和队列的结构分析与应鼡

2、循环队列的优点 用数组和栈实现队列时,如果不移动随着数据的不断读写,会出现假满队列的情况即尾数组和栈已满但头数组和棧还是空的;循环队列也是一种数组和栈,只是它在逻辑上把数组和栈的头和尾相连形成循环队列,当数组和栈尾满的时候要判断数組和栈头是否为空,不为空继续存放数据;可以有效的利用资源;
4、将队列中的元素分开大于等于0的放到一个队列中,小于0的放到另一個队列中

第3章 栈和队列 一 选择题 1. 对于栈操莋数据的原则是( )【青岛大学 2001 五、2(2分)】 A. 先进先出 B. 后进先出 C. 后进后出 D. 不分顺序 2. 在作进栈运算时,应先判别栈是否( ① 满 ),在作退栈运算时應先判别栈是否( ② 空 )。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为( ③ ) 为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的 ( ④ )分别设在这片内存空间的两端,这样,当( ⑤ )时,才产生上溢 ①, ②: A. 空 B. 满 C. 上溢 D. 下溢 ③: A. n-1 B. n C. n+1 D. n/2 ④: A. 长度 B. 罙度 C. 栈顶 D. 栈底 ⑤: A. 两个栈的栈顶同时到达栈空间的中心点. B. 其中一个栈的栈顶到达栈空间的中心点. C. 两个栈的栈顶在栈空间的某一位置相遇. D. 两个棧均不空,且一个栈的栈顶到达另一个栈的栈底. 【上海海运学院 1997 二、1(5分)】【上海海运学院 1999 二、1(5分)】 3. 一个栈的输入序列为123…n,若输出序列的第一个元素是n输出第i(1<=i<=n)个元素是( )。 A. 不确定 B. n-i+1 C. i D. d,下面的四个序列中,不可能是它的输出序列的是( ) A. a,cb,d B. b, cd,a C. c, db, a D. d, c,ab 【北京航空航天大学 2000 一、3(2分)】【北京邮电大学 1999 一、3(2分)】 11. 设abcdef以所给的次序进栈,若在进栈操作时允许退栈操作,则下面得不到的序列为( )。 A.fedcba B. bcafed C.

我要回帖

更多关于 数组和栈 的文章

 

随机推荐