logo资料库

中国科学院遥感应用研究所 硕士研究生入学考试样题 程序设计与算法语言 参考答案.doc

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
A.函数; B.指针; C.数组; D.结构体;
A. 定义函数时,形参的类型说明可以放在函数体内
中国科学院遥感应用研究所 硕士研究生入学考试样题 科目:《程序设计与算法语言》 一 填空题 (每空 2 分,共 30 分) 1、对于一个具有 n 个结点的二元树,当它为一棵 完全 二元树时具有最小高 度,当它为一棵 单枝树 时,具有最大高度。 2、设数组 a[1..50,1..80]的基地址为 2000,每个元素占 2 个存储单元,若以行序 ;若以列序为主序顺 为主序顺序存储,则元素 a[45,68]的存储地址为 9174 序存储,则元素 a[45,68]的存储地址为 8788 。 3、对于一个具有 n 个结点的单链表,在已知的结点*p 后插入一个新结点的时间 ,在给定值为 x 的结点后插入一个新结点的时间复杂度为 复杂度为 O(1) O(n) 。 4、已知 int*p(),(*q)();则 p 是 指向函数的指针变量 ,而 q 是 函数指针 。 5、已知一棵二叉树的前序序列为 abdecfhg,中序序列为 dbeahfcg,则该二叉树 的根为 a ,左子树中有 dbe , 右子树中有 hfcg 。 6、己知有序表为(12,18,24,35,47,50,62,83,90,115,134)当用二分法查找 90 时,需 2 次查找成功,47 时 4 成功,查 100 时,需 3 次才能确定不 成功。 7、XML 在地理空间信息领域的应用是 GML 。利用它可以存储和发布各种特 征的地理信息,并控制地理信息在 Web 浏览器中的显示。 二 选择题 (每小题 2 分,共 70 分) 1、用来表示一个变量的地址或者表示另一变量的地址的变量是( B )。 A.函数; B.指针; C.数组; D.结构体; 2、在 C 语言中,若函数调用时实参是数组名,则传递给对应形参的是( A )。 A.数组空间的首地址; C.数组中元素的个数; B.数组的第一个元素值; D.数组中所有的元素; 3、int a = 2,则执行完表达式 a+=a+=a-=a*a;后,a 的值是( C ) A.-4; B. 0; C.-8; D.16;
4、若有说明:int a[][3]={1,2,3,4,5,6,7};则 a 数组第一维的大小是( B )。 A. 2 B. 3 C. 4 D. 无确定值 5、二维数组 A 的每个元素是由 6 个字符组成的串,其行下标 i=0,1,…,8,列下 标 j=1,2,…,10。若 A 按行先存储,元素 A[8,5]的起始地址与当 A 按列先存 储时的元素( D )的起始地址相同。设每个字符占一个字节。 A. A[8,5] B. A[0,9] C. A[5,8] D. A[3,10] 6、已知有下面的三个类(使用 C++语言描述): class A { public: int a; void fun() { cout<<”class A fun() …… is called”<b->a->fun(); C. obj->b.a->fun(); B. obj.b->a.fun(); D. obj.b.a->fun(); 7、对稀疏矩阵进行压缩存储目的是( AC )。 A.便于进行矩阵运算 B.便于输入和输出 C.节省存储空间 D.降低运算的时间复杂度 8、链表所具备的特点是( B ) ①可随机访问任何一个元素; ②插入、删除操作不需要移动元素; ③无需事先估计存储空间大小;④所需存储空间与线性表长度成正比; A.①②③; B.②③④; C. ①②④; D. ①③④; 9、计算机算法是指( D )
A.数值计算方法; C.非数值计算方法; B.对抽象数据结构的操作方法; D.解决问题的有限运算序列; 10、已知 L 是无表头结点的单链表,试从下面的语句中选出在表首插入 S 结点的 语句( D )。 (1) L->next=S; (2) S->next=L; (3) S->next=L->next; (4) L->next=S->next; (5) L=S; (6) S=L; A.(1)(6); B.(3)(5); C.(4)(6); D.(2)(5); 11、一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法, 以第一个记录为基准得到的一次划分结果为( A )。 A.(38,40,46,56,79,84) B. (40,38,46,79,56,84) C.(40,38,46,56,79,84) D. (40,38,46,84,56,79) 12、一个 n 个顶点的连通无向图,其边的个数至少为( A )。 A.n-1 B.n C.n+1 D.nlogn; 13、有关类和对象的说法不正确的是( D )。 A. 类是对于众多对象的归纳; B. 类的对象具备该类的所有特征; C. 类是抽象的数据结构,而对象是具体的事件或事物等; D. 在程序中,我们只能使用对象的成员,而不能直接使用类的成员; 14、以下语句或语句组中,能正确进行字符串赋值的是( D )。 A. char*sp; *sp="right!"; B. char s[lO];s="right! "; C. char s[10];*s="right! "; D. char*sp="right! "; 15、非空的循环单链表 head 的尾结点 p↑满足( A )。 A.p↑.link=head B.p↑.link=NIL C.p=NIL D.p= head 16、若长度为 n 的线性表采用顺序存储结构,在其第 i 个位置插入一个新元素的 算法的时间复杂度为( C )(1<=i<=n+1)。 A. O(0) B. O(1) C. O(n) D. O(n2)
17、有六个元素 6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈 序列?( C )。 A. 5 4 3 6 1 2; B. 4 5 3 1 2 6; C. 3 4 6 5 2 1; D. 2 3 4 1 5 6 ; 18、软件管理是软件工程化生产的重要环节,以下哪些是软件工程管理应包括的 内容?( D )。 ① 人员组织; ② 进度安排;③.质量保证; ④成本核算; A.①②; B.②③; C.②④; D.①②③④; 19、若一棵二叉树具有 10 个度为 2 的结点,5 个度为 1 的结点,则度为 0 的结 点个数是( B ) A.9 B.11 C.15 D.不确定 20、以下能对二维数组 a 进行正确初始化的语句是( B )。 A.int a[2][]={{1,0,1},{5,2,3}}; B.int a[][3]={{1,2,3},{4,5,6}}; C.int a[2][4]={{1,2,3},{4,5},{6}}; D.int a[][3]={{1,0,1},{},{1,1}}; 21、以下正确的说法是( A )。 ` 在 C 语言中 A.实参和与其对应的形参各占用独立的存储单元 B.实参和与其对应的形参共占用一个存储单元 C.只有当实参和与其对应的形参同名时才共占用存储单元 D.形参是虚拟的,不占用存储单元 22、对二叉树的结点从 1 开始进行连续编号,要求每个结点的编号大于其左、右 孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可 采用( C )次序的遍历实现编号。 A.先序 B. 中序 C. 后序 D. 从根开始按层次遍历 23、如下所示是一棵 5 阶 B 树,该 B 树现在的层数为 2。从该 B 树中删除关键码 38 后,该 B 树的第 2 层的结点数为( A )。 35 10 19 45 60 82 5 8 11 13 15 23 30 38 41 47 53 64 70 73 78 86 95
A. 6; B. 7 ; C. 8; D. 9; 24、以下正确的说法是( C ) return 后边的值不能为表达式 A. 定义函数时,形参的类型说明可以放在函数体内 B. C. 如果函数值的类型与返回值类型不一致,以函数值类型为准 D. 如果形参与实参类型不一致,以实参类型为准 25、下列说法不正确的是( C )。 A.图的遍历是从给定的源点出发每一个顶点仅被访问一次 B.遍历的基本算法有两种:深度遍历和广度遍历 C.图的深度遍历不适用于有向图 D.图的深度遍历是一个递归过程 26、下面对于数组的定义正确的是( D )。 int M=10; const int N=9; static int K=20; #define J 50 main(int argc, char* argv[]) { } int I; cin>>I; int array1[I]; ———————————————① int array2[M]; ———————————————② int array4[K]; ———————————————③ int array3[N]; ———————————————④ int array5[J]; ——————————————⑤ A.①②③④⑤; B.②③④⑤; C.③④⑤; D. ④⑤; 27、执行完下列语句段后,i 值为:( B )
int f(int x) { return ((x>0) ? x* f(x-1):2);} int i ; i =f(f(1)); A.2 B. 4 C. 8 D. 无限递归 28、一个递归算法必须包括( B )。 A. 递归部分 B. 终止条件和递归部分 C. 迭代部分 D.终 止条件和迭代部分 29、适用于折半查找的表的存储方式及元素排列要求为( D ) A.链接方式存储,元素无序 B.链接方式存储,元素有序 C.顺序方式存储,元素无序 D.顺序方式存储,元素有序 30、在一棵 m 阶的 B+树中, 每个非叶结点的儿子数 S 应满足 ( A ). 1m    2   A. ≤S≤m B. 1m    2   C. 1≤S≤   m 2   ≤S≤m   m 2   D. 1≤S≤ 31、设哈希表长为 14,哈希函数是 H(key)=key%11,表中已有数据的关键字为 15, 38,61,84 共四个,现要将关键字为 49 的结点加到表中,用二次探测再 散列法解决冲突,则放入的位置是( D ) A.8 B.3 C.5 D.9 32、如果待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置 发生颠倒,则称该排序算法是不稳定的。( C )就是不稳定的排序方法。 A.起泡排序 B.归并排序 C.希尔排序 D.直接插入排序 33、对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中 的变化为 (1) 84 47 25 15 21 (2) 15 47 25 84 21 (3) 15 21 25 84 47 (4) 15 21 25 47 84 则采用的排序是 ( A )。 A. 选择 B. 冒泡 C. 快速 D. 插入 34、在下列排序算法中,哪一个算法的时间复杂度与初始排序无关( D )。
A.直接插入排序 B. 冒泡排序 C. 快速排序 D. 直接选择排序 35、定义如下结构体,那么以下的变量定义中,不正确的是( D )。 struct node { int j, k; } x, *p=&x; A.p->k=2; B.(*p).k=2; C.x.k=2; D.x->k=2;
分享到:
收藏