大家帮帮忙吧,拜托了!

JENNA 2009-06-19 11:22:00
我们下星期二要考到这些题目,自己只做了一份。来不急啦,求助大家帮帮忙啦!
一、选择题(每小题1分,共10分)
1、在一个长度为n的顺序表的表尾插入一个新元素的渐进时间复杂度为( )
A.O (n) B.O (1) C.O (n2 ) D.O (log2 n)
2、设单链表中结点的结构为(data , link)。已知指针q所指结点是指针p所指结事业的直接前驱,若在*q与*p之间插入结点*s,则应执行下列哪一个操作?
A.s ->link= p->link ; p->link=s B.q->link=s ;s->link=p
C.p->link=s->link ;s->link=p D.p->link=s ;s->link=q
3、若让元素1,2,3依次进栈,则出栈次序不可能出现( )种情况。
A.3,2,1 B.2,1,3 C.3,1,2 D.1,3,2
4、一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时间来看,通常递归过程比非递归过程( )
A.较快 B.较慢 C.相同
5、树中所有结点的度等于所有结点数加( )
A.0 B.1 C.-1 D.2
6、在一棵具有n个结点的二叉树中,所有结点的空子树个数等于( )
A.n B.n-1 C.n+1 D.2*n
7、对长度为n的有序单链表,若搜索每个元素的概率相等,则顺序搜索到表中任一元素的平均搜索长度为( )
A.n/2 B.(n+1)/2 C.(n –1)/2 D.n/4
8、在无向图中定义顶点V i与Vj之间的路径为从V i到达Vj的一个( )
A.顶点序列 B.边序列 C.权值总和 D.边的条数
9、如果只想得到1024个元素组成的序列中的前5个最小元素,那么用( )方法最快。
A.起泡排序 B.快速排序 C.堆排序 D.直接选择排序
10、设有一个含200个表项的散列表,用线性探查法解决冲突,按关键码查询时找到一个表项的平均探查次数不超过1.5,则散列表项应能够至少容纳(
)个表项。
(设搜索成功的平均搜索长度为Snl={1+1/(1-α)}/2其中α为装填因子)
A.400 B.526 C.624 D.676
二、填空题(每小题1分,共10分)
11、在程序运行过程中不能扩充的数组是 分配的数组。这种数组在声明它时必须指定它的大小。
12、将一个n阶三对角矩阵A的三条对角线上的元素按行压缩存放于一个一维数组B中,A[0][0]存放于B[0]中。对于任意给定数组元素A[ I ][ J
],如果它能够在数组B中找到,则它应在 位置。
13、链表适用于 查找。
14、队列的插入操作在 进行,删除操作在 进行。
15、设有一个顺序栈S,元素S1,S2,S3,S4,S5,S6依次进栈,如果6个元素的出栈顺序为S2,S3,S4,S6,S5,S1,则顺序栈的容量至少应为
16、通常程序在调用另一个程序时,都需要使用一个 来保存被调用程序内分配的局部变量、形式参数的存储空间以及返回地址。
17、广义表A((a,b,c),(d,e,f))的表尾为 。
18、在一棵树中, 结点没有前驱结点。
19、一棵树的广义表表示为a(b(c,d(e,f),g(h)),I(j,k(x,y))),结点k的所有祖先的结点数为 个。
20、根据一组记录(56,42,50,64,48)依次插入结点生成一棵AVL树(高度平衡的二叉搜索树)时,当插入到值为
的结点时需要进行旋转调整。
三、判断题(每小题1分,共10分)
21、二维数组可以视为数组元素为一维数组的一维数组。( )
22、链接存储表示的存储空间一般在程序的运行过程中动态分配和释放,通常存储器中还有空闲存储空间,就不会产生存储溢出的问题。( )
23、在用单链表表示的链式队列中,队头在链表的链尾位置。( )
24、凡是递归定义的数据结构都可以用递归算法来实现它的操作。( )
25、当向一个小根堆(最小堆)中插入一个具有最小值的元素时,该元素需要逐层向上调整,直到被调整到堆顶位置为止。( )
26、对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O(n)。( )。
27、进行折半搜索的表必须是顺序存储的有序表。( )
28、一棵m阶B树中每个结点最多有m个关键码,最少有2个关键码。( )
29、在散列法中采取开散列(链地址)法来解决冲突时,其装载因子的取值一定在(0,1)之间。( )
30、一棵3阶B树是平衡的3路搜索树,反之,一棵平衡的3路搜索树是3阶B树。( )
四、运算题(每小题8分,共40分)
1、对于一个n×n的矩阵A的任一矩阵元素a[I][j],按行存储时和按列存储时的地址之差是多少。(若设两种存储的开始存储地址LOC(0,0)及元素所占存储单元d相同)
2、已知一棵二叉树的中序和前序序列如下,求该二叉树的后序序列。
中序序列:c,b,d,e,a,g,I,h,j,f
前序序列:a,b,c,d,e,f,g,h,I,j
后序序列:
3、假定一组数据对象为(40,28,16,56,50,32,30,63),按次序插入每个对象生成一棵AVL树(高度平衡的二叉搜索树),根据插入过程填写下表,在相应位置填写所需要的调整类型:“左单旋转”、“右单旋转”、“先左后右双旋转”、“先右后左双旋转”,若不需要旋转则填写“无”。
数据:
调整:40 28 16 56 50 32 30 63

五、算法分析题(每小题8分,共24分)
1、设顺序表SeqList具有下列操作:
int Length ( ) const ; //计算表长度
T Remove ( ) ; //删除当前表项,置下一表项为当前表项
T First ( ) ; //取表中第一个表项的值,并把它置为当前表项
T Next ( ) ; //取当前表项的后继表项的值,并把该后继表项置为当前表项
试针对下面所给算法,回答下列问题:
(1)说明若顺序表中存放的数据为{29,38,47,16,95,64,73,83,51,10,0,26},表的长度为12,参数值s =10,t
=30,写出执行算法后得到的顺序表。
(2)说明该算法的功能。
# include < iostream .h>
# include “SeqList .h”
template < T >
void unknown (SeqList< T > *L , T s ,T t ){
if ( ! L->Length ( ) ||s>= t )
{ cerr<< ”List is empty or parameters are illegal !” <<endl ; exit (1) ;}
int I =0 ;
T temp = L->First ( );
While (I< L->Length( ))
If(temp> =s && temp< =t ) L->Remove( ) ;
Else {temp = L- >Next( ); I++ ;}
}
...全文
291 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jncryang 2009-06-19
  • 打赏
  • 举报
回复
围观
老邓 2009-06-19
  • 打赏
  • 举报
回复
这种题还是自己来吧。
lpf000 2009-06-19
  • 打赏
  • 举报
回复
路过
brookmill 2009-06-19
  • 打赏
  • 举报
回复
斑竹大人说了
NOBODY POSTS ASSIGNMENT QUESTIONS WITHOUT OWN THINKINGS, THANK YOU.
lhy 2009-06-19
  • 打赏
  • 举报
回复
四、2、cedbijhgfa
victor8200 2009-06-19
  • 打赏
  • 举报
回复
友情一下~~很强悍!
JENNA 2009-06-19
  • 打赏
  • 举报
回复
谢谢啦!
lingyin55 2009-06-19
  • 打赏
  • 举报
回复
友情up下。
JENNA 2009-06-19
  • 打赏
  • 举报
回复
呵呵,谢谢啦!顺便帮忙做下更好啊!
HelloDan 2009-06-19
  • 打赏
  • 举报
回复
帮顶。。。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧