收藏 分享(赏)

中国科学院遥感应用研2006年硕士研究生入学考试地理程序设计与算法语试卷.doc

上传人:dzzj200808 文档编号:2527528 上传时间:2018-09-20 格式:DOC 页数:6 大小:35.50KB
下载 相关 举报
中国科学院遥感应用研2006年硕士研究生入学考试地理程序设计与算法语试卷.doc_第1页
第1页 / 共6页
中国科学院遥感应用研2006年硕士研究生入学考试地理程序设计与算法语试卷.doc_第2页
第2页 / 共6页
中国科学院遥感应用研2006年硕士研究生入学考试地理程序设计与算法语试卷.doc_第3页
第3页 / 共6页
中国科学院遥感应用研2006年硕士研究生入学考试地理程序设计与算法语试卷.doc_第4页
第4页 / 共6页
中国科学院遥感应用研2006年硕士研究生入学考试地理程序设计与算法语试卷.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、中 国 科 学 院 遥 感 应 用 研 2006 年 硕 士 研 究 生 入 学 考 试 地 理 程 序 设 计 与 算 法 语 试 卷一、填空题(每小题 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. 下面的伪码是对二叉树操作算法的片段:

2、 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. 递归

3、函数可以调用自身多少次? (a) 只多 1次; (b) 任意次数; (c) 0 次; (d) 至多 2次; 6. 分析下面函数: int f( int n ) if( n = = 0 ) return 0; if( (n 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)

4、计算最小公倍数; (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

5、)expr的值赋给 x,然后计算 x的值作为 if的条件; (b)当且仅当 expr的值为 true(真)时,其值付给 x; (c)会出现编译错误; (d)计算 expr,然后与 x的值相比较; 12. 下面对 p的声明,那一个是指向整数的指针: (a) int *p; (b) int p; (c) int RealNumber( float x, float y=0 ); ; 这段代码可能错在哪里? (a)在构造函数中不允许时有缺省值; (b)没有错误; (c)第二个构造函数与第一个不一致; (d)用两个实数参数无法创建一个实数; 15. 面向对象的程序设计最适合下面哪一种开发要求: (a)

6、程序是一个完整的程序模块; (b)提供完善的代码复用; (c)获得高效率; (d)对封装的需求; 16. 下面哪一条关于继承的叙述是正确的: (a)它是一种重要的面向对象程序设计思想,但是在程序语言中无法实现; (b)它提供了由现有类构造新类的完善方法; (c)提供数据成员保护,阻止非法存取; (d)使得一种类型表现出多种类型的行为; 17. 在面向对象方法中,多态机制的目的是: (a)在现有的多个类的上层创建一个新类;(b)在运行时动态地确定一个对象的类型; (c)保护数据成员,阻止非法存取; (d)根据类的数据成员确定类的方法; 18. 对于有 n个节点 e条边的图,如果用邻接表表示,则计

7、算全部入度的时间复杂度是: (a) O(n + e); (b) O(n2); (c) O(n3); (d) O(n * e) ; 19. 结定结点的关键字序列(、),对它按字母的字典顺序进行排列, 快速排序的第一趟结果是: (a)(C、B、D、A、F、E、I、J、G、H) (b)(C、B、D、A、E、F、I、G、J、H) (c)(B、A、D、E、F、G、I、J、H、C) (d)(B、C、D、A、E、F、I、J、G、H) 20. 在高级程序设计语言中,参数传递方法有传值调用(CALL BY VALUE)、引用调用(CALL BY REFERENCE)、传名调用(CALL BY NAME)和宏扩展

8、(MACRO EXPANSION),其中,引用调用是指把实在参数的_传递给相应的形式参数: (a)地址; (b)值; (c)地址和值; (d)名; 21. 设 W为一个二维数组,其每个数据元素 Wij 占用 6个字节,行下标 i从 0到 8,列下标 j从 2到 5,则二维数组 W的数据元素共占用_个字节。 (a)480; (b)192; (c)216; (d)144; 22. 堆是一种特殊的数据结构,下面哪一个是堆: (a)19,75,34,26,97,56;(b)97,26,34,75,19,56;(c)19,56,26,97,34,75;(d)19,34,26,97,56,75; 23.

9、下面关于 B树和 B+树的叙述中,不正确的是 (a) B树和 B+树都是平衡的多分树; (b)B 树和 B+树都是可用于文件的索引结构; (c) B树和 B+树都能有效地支持顺序检索;(d) B 树和 B+树都能有效地支持随机检索; 24. 在数据结构中,从逻辑上可以把数据结构分成: (a)动态结构和静态结构; (b)紧凑结构和非紧凑结构; (c)线性结构和非线性结构; (d)内部结构和外部结构; 25. 下面程序段的时间复杂度是 for (i=0;i for (j=0;j Aij=0; (a)O(m+n); (b)O(m/2+n/2); (c)O(m/n); (d)O(m*n); 26. 若

10、已知一个栈的入栈序列是 1,2,3,n,其输出序列为 p1,p2,p3,pn, 那么p1=n;pi 为: (a)i; (b)n=i; (c)n-i+1; (d)不确定; 27. 判断一个循环队列 QU(最多元素 m0)为空的条件是: (a)QU-front = = QU-rear; (b) QU-front! = QU-rear; (c) QU-front = = (QU-rear+1)%m0; (d) QU-front ! = (QU-rear+1)%m0; 28. 表达式 a*(b+c)-d的后缀表达式是 (a)abcd*+-; (b)abc+*d-; (c)abc*+d-; (d)*-a

11、+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

12、. 将一个整数 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

13、 0 i 0 j 100 WHILE i = j DO BEGIN a a + i + j i i + 1 j j - 1 END (a) 5100 (b) 5000 (c) 4900 (d) 5101 36. 要求一个线性表既能较快地查找,又能适应动态变化的要求,则可采用的查找方法是: (a) 分块查找 (b) 顺序查找 (c) 二分查找 (d) 散列查找 37. 下面哪种技术和分布式的软件体系结构无关 (a) CORBA规范 (b) 中间件 (c) 客户服务器结构 (d) 主程序子程序结构 38. 下面哪种说法是不合理的 (a) 程序 = 算法 + 数据结构 (b) 软件 = 程序 + 文

14、档 (c) 对象 = 继承 + 封装 (d) 构件 = 接口 + 实现 39. 被认为最有可能彻底解决“软件危机”的方法是: (a) 软件复用 (b) 对数据结构的标准化 (c) 面向对象技术 (d) 原型开发模型 40. UML是指 (a) 一种程序设计语言 (b) 一种通用的建模语言 (c) 一种开发工具 (d) 一家著名的软件公司 二、在联欢会上,M 个人围坐一圈,每人准备了一个节目。表演的顺序采用一种游戏的方法产生:从圈内选出 1人记为 1号,按顺时针方向每人的号数依次记为 2号、3 号M 号。由 1号随机抽出一个号 N(1=N=M),然后从 1号开始顺时针方向 1、2、3顺序报数,每

15、报到 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 分)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报