题目详情
当前位置:首页 > 计算机考试 > 初级程序员
题目详情:
发布时间:2024-07-30 20:43:30

[填空题]【说明4.1】
假设两个队列共享一个循环向量空间(如图1-2所示),其类型Queue2定义如下:
typedef struct
DateType data [MaxSize];
int front[2],rear[2];
Queue2;
对于i=0或1,front[i]和rear[i]分别为第i个队列的头指针和尾指针。函数.EnQueue (Queue2*Q,int i,DaleType x)的功能是实现第i个队列的入队操作。
【函数4.1】
int EnQueue(Queue2 * Q, int i, DateType x)
/*若第i个队列不满,则元素x入队列,并返回1;否则,返回0*/
if(i<0‖i>1) return 0;
if(Q->rear[i]==Q->front[ (1) ]
return 0;
Q->data[ (2) ]=x;
Q->rear[i]=[ (3) ];
return 1;

【说明4.2】
函数BTreeEqual(BinTreeNode*T1,BinTtneNode*T2)的功能是递归法判断两棵二叉树是否相等,若相等则返回1,否则返回0。函数中参数T1和T2分别为指向这两棵二叉树根结点的指针。当两棵树的结构完全相同,并且对应结点的值也相同时,才被认为相等。
已知二叉树中的结点类型BinTreeNode定义为:
struct BinTreeNode
char data;
BinTreeNode * left, * right;
;
其中dau为结点值域,leR和risht分别为指向左、右子女结点的指针域,
【函数4.2】
int BTreeEqual(BinTreeNode * T1, BinTreeNode * T2)

if(Ti == NULL && T2 == NULL)return 1 /*若两棵树均为空,则相等

更多"【说明4.1】 假设两个队列共享一个循环向量空间(如图1-2"的相关试题:

[填空题][函数2.1说明]
假设两个队列共享一个循环向量空间,其类型Queue2定义如下:
typedef struct
DateType data [MaxSize];
int front[2],rear[2];
Queue2;
对于i=0或1,front[i]和rear[i]分别为第i个队列的头指针和尾指针。函数EnQueue(Queue2 *Q,int i,DateType x)的功能是实现第i个队列的入队操作。
[函数2.1]
int EnQueue(Queue2 *Q,int i,DateType x)
/*若第i个队列不满,则元素x入队列,并返回1,否则返回0*/
if (i<0 || i>1) return 0;
if(Q->rear [i] ==Q->front[ (1) ]) return 0;
Q->data[ (2) ]=x;
Q->rear [i]= (3) ;
return 1;

[函数2.2说明]
函数int BtreeEquaI(BinTreeNode *T1,BinTreeNode *T2)的功能是递归判断两棵二叉数是否相等,若相等则返回1,否则返回0。当两棵树的结构完全相同,并且对应结点的值也相同时才被认为相等。
已知二叉树中的结点类型定义为:
struct BinTreeNode
char data;
BinTreeNode *left,*right;
;
其中data为结点值域,left和right分别为指向左、右子女结点的指针域。
[函数2.2]
int BtreeEqual(BinTreeNode *T1,BinTreeNode *T2)
(if (T1==NULL&&T2==NULL) return 1;
else if ( (4) ) return 0;
else if( (5) ) return 1;
else return 1;


[填空题]【说明4.1】
假设两个队列共享一个循环向量空间(如图1-2所示),其类型Queue2定义如下:
typedef struct
DateType data [MaxSize];
int front[2],rear[2];
Queue2;
对于i=0或1,front[i]和rear[i]分别为第i个队列的头指针和尾指针。函数.EnQueue (Queue2*Q,int i,DaleType x)的功能是实现第i个队列的入队操作。
【函数4.1】
int EnQueue(Queue2 * Q, int i, DateType x)
/*若第i个队列不满,则元素x入队列,并返回1;否则,返回0*/
if(i<0‖i>1) return 0;
if(Q->rear[i]==Q->front[ (1) ]
return 0;
Q->data[ (2) ]=x;
Q->rear[i]=[ (3) ];
return 1;

【说明4.2】
函数BTreeEqual(BinTreeNode*T1,BinTtneNode*T2)的功能是递归法判断两棵二叉树是否相等,若相等则返回1,否则返回0。函数中参数T1和T2分别为指向这两棵二叉树根结点的指针。当两棵树的结构完全相同,并且对应结点的值也相同时,才被认为相等。
已知二叉树中的结点类型BinTreeNode定义为:
struct BinTreeNode
char data;
BinTreeNode * left, * right;
;
其中dau为结点值域,leR和risht分别为指向左、右子女结点的指针域,
【函数4.2】
int BTreeEqual(BinTreeNode * T1, BinTreeNode * T2)

if(Ti == NULL && T2 == NULL)return 1 /*若两棵树均为空,则相等
[简答题]假设三个进程共享四个资源,每个进程一次只能预定或释放一个资源,每个进程最多需要两个资源,试证明这样做不会发生死锁。
[单项选择]假设在系统中一个文件有两个名字,它与一个文件保存有两个副本的区别是()。
A. 前者比后者所占用的存储空间更大
B. 前者需要两个目录项,后者只需要一个目录项
C. 前者存取文件的速度快,后者存取文件的速度慢
D. 前者改变与某个名字相联系的文件时,与另一个名字相联系的文件也改变:后者的另一个副本不改变
[判断题]由两个栈共享一个有存储空间的好处是减少存取时间,降低上溢发生的机率。
[简答题]成长公司的应税所得为78000美元,盈利公司的应税所得为7800000美元。
假设两个公司都有一个新项目可以使应纳税额增加10000美元,每个公司分别需要额外支付多少税金为什么这两个金额是一样的
应税所得(美元)
税率(%)
0~50000
15
50001~75000
25
75001~100000
34
100001~335000
[单项选择]某大学寝室有8个人,三个是广东人,一个是北京人,有两个是北方人,一个是保送生,三个是贫困生。假设上述介绍涉及该寝室的所有同学,则下列关于该寝室同学的判断与题干有矛盾的是( )。
A. 保送的学生来自北方
B. 北京人既不是保送生也不是贫困生
C. 有两个贫困生是广东人
D. 没有一个来自黑龙江的学生
[单项选择]某大学寝室有8人,三个是广东人,一个是北京人,有两个是北方人,一个是保送生,三个是贫困生。假设上述介绍涉及该寝室的所有同学,则下列关于该寝室同学的判断与题干有矛盾的是______。
A. 保送的学生来自北方
B. 北京人既不是保送生也不是贫困生
C. 有两个贫困生是广东人
D. 没有一个来自黑龙江的学生
[单项选择]为了摸清某地吸毒人员艾滋病(AIDS)病毒感染情况,1995年确立吸毒者和非吸毒者两个队列,观察起始均未感染AIDS病毒,1997年随访复查,排除队列有变动的人员,检查结果如下:
暴露情况
检查人数
AIDS感染者
吸毒
500
20
非吸毒
1000
2
试问吸毒人员感染AIDS的相对危险度
A. 10
B. 20
C. 50
D. 100
E. 200`
[填空题][说明2]
有两个进程(编号分别为0和1)需要访问同一个共享资源。为了解决竞争条件(race condition)的问题,需要实现一种互斥机制,使得在任何时刻只能有一个进程访问该共享资源。以下[C程序代码2]给出了一种实现方法。
[C程序代码2]
int flag[2]; /*flaq数组, 初始化为FALSE*/
Enter_Critical_Section (int my_task_id, int other_task_id)
while (flag [other_task_id]==TRUE); /*空循环语句*/
flag[my_task_id]=TRUE;

Exit_Critical_Section (int my_task_id, int other_task_id)
flag[my_task id]=FALSE;

当一个进程要访问临界资源时,就可以调用[C程序代码2]给出的这两个函数。[C程序代码3]给出了进程0的一个例子。
[C程序代码3]
Enter_Critical_Section(0,1) ;
…使用这个资源…
Exit_Critical_Section (0,1) ;
…做其他的事情…
[C程序代码2]所示的方法______实现共享资源的互斥访问。
A.能够 B.不能
[简答题][说明] 循环队列的类型定义如下(其中队列元素的数据类型为datatype): typedef struct{ datatype data[MAXSIZE]; /*数据的存储区*/ int front,rear; /*队首、队尾指针*/ int num; /*队列中元素的个数*/ }c _ SeQueue; /*循环队*/ 下面函数及其功能说明如下: (1) c_SeQueue* Init_SeQueue( ):新建队列; (2) int ln_SeQueue( c_SeQueue *q, datatype x):将元素x插入队列q,若成功返回1否则返回0; (3) int Out_SeQueue (c_SeQueue *q, datatype *x):取出队列q队首位置的元素,若成功返回1否则返回0。 [函数] c_SeQueue* Init_SeQueue( ) { q=malloc(sizeof(c_SeQueue)); q->front=q->rear=MAXSIZE-1; (1) ; return q; } int In_SeQueue( c_SeQueue *q, datatype x) { if(q->num= =MAXSIZE) return 0; /*队满不能入队*/ else { q->rear= (2) ; q->data[q->rear]=x; (3) ; return 1; /*入队完成*/ } } int Out_SeQueue( c_SeQueue *q, datatype *x) { if (q->num= =0) return 0; /*队空不能出队*/ else{ *x= (4) ; /*读出队首元素*/ q->front= (5) ; q->num- -; return 1; /*出队完成*/ } }
[单项选择]假设就绪队列中有10个进程,以时间片轮转方式进行进程调度,时间片大小为300ms,CPU进行进程切换要花费10ms,则系统开销所占的比率约为 (7) ;若就绪队列中进程个数增加到20个,其余条件不变,则系统开销所占的比率将为 (8)

A. 1%
B. 3%
C. 5%
D. 10%

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

截图扫码使用小程序[完全免费查看答案]
请不要关闭本页面,支付完成后请点击【支付完成】按钮
  • 支付完成
  • 取消支付
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码