| 查看: 545 | 回复: 0 | |||
| 当前主题已经存档。 | |||
[交流]
【求助】求解五道程序与算法考研复试题
|
|||
|
本人有小弟要去遥感所复试,这里有一套以前的程序与算法题,我不太清楚,他自己算法也不太厉害,最紧要是时间太紧了,他没有时间解,所以100金币请高手帮忙解答。 要求:1.在2010年4月19日下午五点前解答完,就是明天下班前,谢谢。 最紧要是其中后面的四道大题。 2.本人建议大家答好一题之后直接上传一题,这样免得大家重复做题。过多的浪费大家的时间,而且也好让大家做一个评判!做一道题得金币, 积极评价者得金币!! 如果答题及时和答的好,本人承诺再奖励20-100金币不等。再次致谢! 题目如下: 一、填空题(每小题2分,共80分) 1.A node in a tree that does not have any children is called (a) a leaf; (b) an internal node; (c) a root; (d) an empty node; 2.对于一棵深度为2的二叉树,它的总节点数: (a) 至多7个 (b)至多2个 (c) 节点数不限 (d) 至多4个 3.下面的伪码是对二叉树操作算法的片段: print( node ) { if( there is a left child ) print( left child ); print data; if( there is a right child ) print( right child ); } 这个算法是: (a)折半查找; (b)前序遍历; (c)中序遍历; (d)后序遍历; 4.下面哪个序列不是折半查找(二分查找)所访问的数值序列 (a) 10, 20, 30, 40, 50; (b) 50, 40, 30, 20, 10; (c) 10, 20, 30, 15, 18; (d) 30, 50, 40, 45, 42 5.递归函数可以调用自身多少次? (a) 只多1次; (b) 任意次数; (c) 0 次; (d) 至多2次; 6. 分析下面函数: int f( int n ) { if( n = = 0 ) return 0; if( (n & 1) = = 0 ) return f(n/2); return f(n/2) + 1; } 调用函数f(10)的返回值是: (a) 1; (b) 3; (c) 5; (d) 2; 7. 假如n,m>=0,那么下面函数的功能是: int ff( int n, int m ) { if( n == 0 ) return m; return ff( n-1, m*n ); } (a) 计算m * (n!); (b) 计算最大公约数; (c)计算最小公倍数; (d) 计算(m + n)!; 8. 给定长度为10的数组,归并排序由于对站所需的额外空间是 (a) n+1; (b)n; (c)log n; (d)n2 ; 9. 总的来说,哈希方法(hashing,也称散列方法)的主要问题在于: (a)哈希函数难以计算; (b)哈希表的存取速度慢; (c)会发生冲突; (d)哈希表占很多内存; 10. 对于一个大小为m含有n项的哈希表,它的负载(load)因子是: B(猜的) (a) m - n; (b) n + m; (c) m/n; (d) n/m ; 11. 编译或执行下面C语言条件语句的结果是: if( x = expr ) ; (a)expr的值赋给x,然后计算x的值作为if的条件; (b)当且仅当expr的值为true(真)时,其值付给x; (c)会出现编译错误; (d)计算expr,然后与x的值相比较; 12. 下面对p的声明,那一个是指向整数的指针: (a) int **p; (b) int p[]; (c) int &p; (d) int *p; 13. 假设Thing是一个用户定义的类,B是Thing的一个实例,对于下面的代码段 Thing A = B 用到了类Thing中的哪一个成分:(a) (a)赋值操作符; (b)析构函数; (c)构造函数; (d)复制构造函数; 14. 下面对类的部分描述用于说明一种用户定义的实数实现: class RealNumber { ... RealNumber( float x ); RealNumber( float x, float y=0 ); }; 这段代码可能错在哪里?(a) (a)在构造函数中不允许时有缺省值; (b)没有错误; (c)第二个构造函数与第一个不一致; (d)用两个实数参数无法创建一个实数; { if( n = = 0 ) return 0; if( (n & 1) = = 0 ) return f(n/2); return f(n/2) + 1; } 调用函数f(10)的返回值是:A (a) 1; (b) 3; (c) 5; (d) 2; 7. 假如n,m>=0,那么下面函数的功能是:A int ff( int n, int m ) { if( n == 0 ) return m; return ff( n-1, m*n ); } (a) 计算m * (n!); (b) 计算最大公约数; (c)计算最小公倍数; (d) 计算(m + n)!; 8. 给定长度为10的数组,归并排序由于对站所需的额外空间是 (a) n+1; (b)n; (c)log n; (d)n2 ; 9. 总的来说,哈希方法(hashing,也称散列方法)的主要问题在于: (a)哈希函数难以计算; (b)哈希表的存取速度慢; (c)会发生冲突; (d)哈希表占很多内存; 10. 对于一个大小为m含有n项的哈希表,它的负载(load)因子是: (a) m - n; (b) n + m; (c) m/n; (d) n/m ; 11. 编译或执行下面C语言条件语句的结果是: if( x = expr ) ; (a)expr的值赋给x,然后计算x的值作为if的条件; (b)当且仅当expr的值为true(真)时,其值付给x; (c)会出现编译错误; (d)计算expr,然后与x的值相比较; 12. 下面对p的声明,那一个是指向整数的指针: (a) int **p; (b) int p[]; (c) int &p; (d) int *p; 13. 假设Thing是一个用户定义的类,B是Thing的一个实例,对于下面的代码段 Thing A = B 用到了类Thing中的哪一个成分: (a)赋值操作符; (b)析构函数; (c)构造函数; (d)复制构造函数; 14. 下面对类的部分描述用于说明一种用户定义的实数实现: class RealNumber { ... RealNumber( float x ); RealNumber( float x, float y=0 ); }; 这段代码可能错在哪里? (a)在构造函数中不允许时有缺省值; (b)没有错误; (c)第二个构造函数与第一个不一致; (d)用两个实数参数无法创建一个实数; (a)abcd*+-; (b)abc+*d-; (c)abc*+d-; (d)*-a+bc; 29. 在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行: (a)s->next = p->next; p->next = s;(b)p ->next = s->next; s->next = p; (c) q->next =s; s->next = p; (d) p->next =s; s->next = q; 30. 在一个链队中,假设f和r分别为队首和队尾指针,则插入s所指结点的运算是: (a) f->next = s;f=s;(b) f->next = s;r=s;(c) s->next = r;r=s;(d) s->next = f;f=s; 31. 将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是 (a)2和2 (b)2和5 (c)5和2 (d)5和5 32. 计算机算法是指 (a) 数值计算方法 (b) 对抽象数据结构的操作方法 (c) 非数值计算方法 (d) 解决问题的有限运算序列 33. 将递归算法转换成对应的非递归算法时,通常需要使用 (a) 栈 (b) 对列 (c) 链表 (d) 树 34. 树最适合用来表示 (a) 有序数据元素 (b) 无序数据元素 (c) 元素之间具有分支层次关系的数据 (d) 元素之间相关联的数据 35. 分析执行下面程序段后,变量a的值: a ← 0 i ← 0 j ← 100 WHILE i <= j DO BEGIN a ← a + i + j i ← i + 1 j ← j - 1 END (a) 5100 (b)500 (c) 4900 (d) 5101 36. 要求一个线性表既能较快地查找,又能适应动态变化的要求,则可采用的查找方法是: (a) 分块查找 (b) 顺序查找 (c) 二分查找 (d) 散列查找 37. 下面哪种技术和分布式的软件体系结构无关 (a) CORBA规范 (b) 中间件 (c) 客户/服务器结构 (d) 主程序/子程序结构 38. 下面哪种说法是不合理的 (a) 程序 = 算法 + 数据结构 (b) 软件 = 程序 + 文档 (c) 对象 = 继承 + 封装 (d) 构件 = 接口 + 实现 39. 被认为最有可能彻底解决“软件危机”的方法是: (a) 软件复用 (b) 对数据结构的标准化 (c) 面向对象技术 (d) 原型开发模型 40. UML是指(b) (a) 一种程序设计语言 (b) 一种通用的建模语言 (c) 一种开发工具 (d) 一家著名的软件公司 二、在联欢会上,M个人围坐一圈,每人准备了一个节目。表演的顺序采用一种游戏的方法产生:从圈内选出1人记为1号,按顺时针方向每人的号数依次记为2号、3号…M号。由1号随机抽出一个号N(1<=N<=M),然后从1号开始顺时针方向1、2、3…顺序报数,每报到N时,这个人就出来表演节目,表演结束后,再从1开始继续向下报数,报到N的人就出来表演。凡是表演过的人,下一次报数时就跳过去,这样继续下去,直到M个人都表演完节目。请你编一个程序,用算法模拟这个过程,要求打印出表演节目人的顺序号。(15分) 三、有甲、乙、丙三个人和A、B、C三个不同的工作,每人一天只能干一个工作,且一个工作每天必须一个人干。下表表示的是甲、乙、丙三个人在A、B、C三个不同的工作岗位上工作一天所创造的价值: A B C 甲 30 50 25 乙 35 30 20 丙 45 40 30 说明:甲在A岗位上干一天所创造的价值为30,在B岗位上干一天所创造的价值为50… 请编程确定如何分配工作(甲、乙、丙三人在什么工作岗位),三人一天共同创造的价值最多。(15分) 四、键盘输入一个高精度的正整数N(N不超过200位),去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数。编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数字最小。(20分) 五、设G=(V, E)是一无向连通图。如果去掉G的某顶点后,G就不是连通图,这样的顶点称为割点,试用深度优先搜索,编程确定一个无向连通图的所有割点。(20分) |
» 猜你喜欢
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
孩子确诊有中度注意力缺陷
已经有6人回复
2026博士申请-功能高分子,水凝胶方向
已经有6人回复
论文投稿,期刊推荐
已经有4人回复
硕士和导师闹得不愉快
已经有13人回复
请问2026国家基金面上项目会启动申2停1吗
已经有5人回复
同一篇文章,用不同账号投稿对编辑决定是否送审有没有影响?
已经有3人回复
ACS Applied Polymer Materials投稿
已经有10人回复
RSC ADV状态问题
已经有4人回复
» 本主题相关商家推荐: (我也要在这里推广)














回复此楼