阅读:1795回复:1
考研试题集锦(11月22日更新) |
|
|
1楼#
发布于:2003-12-01 16:40
呵呵,看到我的名字了,熊熊有点良心。。。。。
|
|
2楼#
发布于:2003-12-01 16:38
清华大学2000年硕士生入学考试数据结构与程序设计试题
-------------------------------------------------------------------- 清华大学2000年硕士生入学考试数据结构与程序设计试题 1 (12分) 请回答下列关于图(Graph)的一些问题: ①(4分)有n个顶点的有向连通图最多有多少条边?最少有多少条边? ②(4分)表示一个有1000个顶点、1000条边的有向图的邻接矩阵有多少个矩阵元素?是否稀疏矩阵? ③(4分)对于一个有向图,不用拓扑排序,如何判断图中是否存在环? 2 (12分) 斐波那契数列Fn定义如下: F0=0, F1=1, Fn= Fn-1 + Fn-2, n=2,3,… 请就此斐波那契数列,回答下列问题: ①(7分)在递归计算Fn的时候,需要对较小的Fn-1,Fn-2,…,F1,F0精确计算多少次? ②(5分)若干有关大O表示法,试给出递归计算Fn时递归函数的时间复杂度是多少? 3 (17分) 有一种简单的排序算法,叫做计数排序(count sorting)。这种排存算法对一个待排序的表(用数组表示)进行排序,并将排序结果存放到另一个新的表中。必须注意的是,表中所有待排序的关键码互不相同。计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表中有多少个记录的关键码比该记录的关键码小。假设针对某一个记录,统计出的计数值为c,那么,这个记录在新的有序表中的合适的存放位置即为c。 ①(3分)给出适用于计数排序的数据表定义; ②(7分)使用Pascal或C语言编写实现计数排序的算法; ③(4分)对于有n个记录的表,关键码比较次数是多少? ④(3分)与简单选择排序相比较,这种方法是否更好?为什么? 4 (10分) 在一棵表示有序集S的二叉搜索树(binary search tree)中,任意一条从根到叶节点的路径将S分为3部分:在该路径左边节点中的元素组成的集合S1;在该路径上的节点中的元素组成的集合S2;在该路径右边节点中的元素组成的集合S3。S=S1∪S2∪S3。若对于任意的a∈S1, b∈S2, c∈S3,是否总有a<=b<=c?为什么? 5 (12分)请回答下列关于堆(Heap)的一些问题: ①(4分)堆的存储表示是顺序的,还是链接的? ②(4分)设有一个最小堆,即堆中任意节点的关键码均大于它的左子女和右子女的关键码。其具有最大值的元素可能在什么地方? ③(4分)对n个元素进行初始建堆的过程中,最多做多少次数据比较(不用大O表示法)? 6 (12分) 已知Q是一个非空队列,S是一个空栈。仅用队列和栈的ADT函数和少量工作变量,使用Pascal或C语言编写一个算法,将队列Q中的所有元素逆置。 栈的ADT函数有: makeEmpty(s:stack); 置空栈 push(s:stack; value:datatype); 新元素value进栈 pop(s:stack):datatype; 出栈,返回栈顶值 isEmpty(s:stack):boolean; 判栈空否 队列的ADT函数有 enqueue(q:queue;value:datatype); 元素value进队 deQueue(q:queue):datatype; 出队列,返回队头值 isEmpty(q:queue):boolean; 判队列空否 7 (13分) 设散列表为HT[0..12],即表的大小为m=13。现采用双散列法解决冲突。散列函数和在散列函数分别为: H0(key)=key%13; 注:%是求余数运算(=mod) Hi=(Hi-1+REV(key+1)%11+1)%13; i=1,2,3,…,m-1 其中,函数REV(x)表示颠倒10进制数x的各位,如REV(37)=73,REV(7)=7等。若插入的关键码序列为{2,8,31,20,19,18,53,27}。 ①(8分)试画出插入这8个关键码后的散列表。 ②(5分)计算搜索成功的平均搜索长度ASL。 8 (12分) 从左到右及从右到左遍历一个单链表是可能的,其方法是在从左向右遍历的过程中将连接方向逆转,如图1所示。在图中的指针p指向当前正在访问的节点,指针pr指向指针p所指节点的左侧的节点。此时,指针p所指节点左侧的所有节点的连接方向都已逆转。 ①(6分)使用Pascal或C语言编写一个算法,从任一给定位置(pr,p)开始,将指针p右移1个节点。如果p移出链表,则将p置为NULL,并让pr留在链表最右边的节点上。 ②(6分)使用Pascal或C语言编写一个算法,从任一给定位置(pr,p)开始,将指针p左移一个节点。如果p移出链表,则将p置为NULL,并让pr停留在链表最左边的节点上。 |
|
3楼#
发布于:2003-12-01 16:38
东北大学2000年数据结构试题
-------------------------------------------------------------------- 东北大学2000年数据结构试题 1 (20分) 简要回答下列问题 (注意:请将答案写在答题纸上,并注明题号) ① (3分) 内存中一片连续空间(不妨假设地址从1到m),提供给两个栈S1和S2使用,怎样分配这部分存储空间,使得对任一个栈,仅当这部分空间全满时才发生上溢。 ②(5分) 假设字符a,b,c,d,e,f的使用频度分别是0.07,0.09,0.12,0.22,0.23,0.27,写出a,b,c,d,e,f的Huffman(哈夫曼)编码。 ③(4分) 一棵共有n个结点的树,其中所有分枝结点的度均为k,求该树中叶子结点的子数。 ④(4分) 图1表示一个地区的通讯网,边表示城市间的通讯线路,边上的权表示架设线路花费的代价,如何选择能沟通每个城市且总代价最省的n-1条线路,画出所有可能的选择。 ⑤(4分) 在起泡(汽泡)排序过程中,有的关键字在某趟排序中可能朝着与最终排序相反的方向移动,试举例说明之。快速排序过程中有没有这种现象? 2 (15分)设有一个由正整数组成的无序(向后)单链表,编写完成下列功能的算法: ① 找出最小值结点,且打印该数值; ② 若该数值是奇数,则将其与直接后继结点的数值交换; ③若该数值是偶数,则将其直接后继结点删除; 3 (14分)解答下列问题: ① (4分) 将算术表达式 ((a+b)+c*(d+e)+f)*(g+h) 转化为二叉树; ② (10分) 假设一个仅包含二元运算符的算术表达式以二叉链表形式存储在二叉树BT中,写出计算该算术表达式值的算法。 4(21) 解答下列问题: ① (5分) 画出有向图的十字链表存储结构中头结点和表结点的结点结构。 ② (4分) 下面哪一个方法可以判断出一个有向图中是否有环(回路)? (1)深度优先遍历 (2)拓朴排序 (3)求最短路径 (4)求关键路径 ③(12分) 假设一个有向图g已经以十字链表形式存储在内中,试写一个判断该有向图中是否有环(回路)的算法。 5(15分)写出删除二叉排序树bt中值为x的结点的算法(二叉排序树以二叉链表形式存储,删除后仍然保持二叉排序性质)。 6(15分)设有大小不等的n个数据组(n个数据组中数据的总数为m),顺序存放在空间区D内,每个数据占一个存储单元,数据组的首地址由数组s给出(如下图所示),试编写将新数据x插入到第i个数据组的末尾且属于第i个数据组的算法,插入后,空间区D和数组S的相互关系仍保持正确。 |
|
4楼#
发布于:2003-12-01 16:37
北京邮电大学1999年数据结构试题
-------------------------------------------------------------------- 北京邮电大学1999年数据结构试题 1.;2.答案卷应字迹清楚、语义确切;3.算法应说明基本思路,应对主要数据类型、变量给出说明,所写算法应结构清晰、简明易懂,应加上必要的注释; 4.算法可用(类)PASCAL语言、C语言等你所熟悉的高级语言编写,但要注明语种。 1 (10分) 选择填空 ① 字符串’ababaabab’的nextval为 A.(0,1,0,1,0,4,1,0,1) B.(0,1,0,1,0,2,1,0,1,) C.(0,1,0,1,0,0,0,1,1,) D.(0,1,0,1,0,1,0,1,1) ②广义表A=(a,b,(c,d),(e,(f,g))),则下面式子的值为 ; Head(Tail(Head(Tail(Tail(A))))) A.(g) B.(d) C.c D.d ③ 输入序列为(A,B,C,D),不可能得到的输出序列有 ; A.(A,B,C,D) B.(D,C,B,A) C.(A,C,D,B) D.(C,A,B,D) ④ 散列函数有一个共同性质,即函数值应按 取其值域的每一个值; A.最大概率 B.最小概率 C.同等概率 D.平均概率 ⑤ 直接插入排序在最好情况下的时间复杂度为 。 A. O(logn) B. O(n) C. O(n*logn) D(n2) 2 (10分) 判断下列叙述是否正确 ①(101,88,46,70,34,39,45,58,66,10)是堆; ② 将一棵树转换成二叉树后,根结点没有左子树; ③ 用树的前序遍历和中序遍历可以导出树的后序遍历; ④ 即使对不含相同元素的同一输入序列进行两组不同的、合法的入栈和出栈组合操作,所得的输出序列也一定相同; ⑤ 哈夫曼树是带权路径长度最短的树,路径上权值较大的结点离很较近。 3 (10分) 有一高个比他人都至少高出一头,找他的人都说“根本不用与别人比较,一眼就能找到他”,你认为此话正确吗?为什么?请简要描述两种求N个数中最大值的方法,并给出所需的最少比较次数。 4 (10分) 图1是用邻接表存储的图,画出此图,并写出从C点开始按深度优先遍历该图的结果。 图1 题4图 5(10分) 下面是求无向连通图的最小代价生成 树的一种算法: 将图中所有边按权重从大到小排序为(e1,e2,…,em) i:=1; While (所剩边数≥顶点数) Begin 从图中删去ei 若图不再连通,则恢复ei i:=i+1 End 试证明这个算法所得的图是原图的最小代价生成树。 6 (10分) 已知无向图G和G’互为补图(结点相同、边不重叠、两图合起来为完全图),试证明G或G’是连通的。 7 (10分) 用序列(46,88,45,39,70,58,101,10,66,34)建立一个排序二叉树,画出该树,并求在等概率情况下查找成功的平均查找长度。 10 (10分) 试写出以带头结点单链表为存储结构实现简单选择排序的算法。 [此贴子已 |
|
5楼#
发布于:2003-12-01 16:37
中科院地理所/遥感所2003试题
-------------------------------------------------------------------- 中科院地理所2003试题: 一, 1)地理信息 2)gis 3)gps 4)元数据 5)webgis 6)地图符号 7)栅格结构 8)缓冲分析 9)分配结构模型 10) 二, 1)地理空间及其类型 2)矢量结构及其优缺点 3)地图投影变形类型 4)地址编码 5)dem结构模型表达方法 6) 7) 8) 三, 、1)gis组成及其功能 2)拓补叠合原理 地理所试题 一、选择 1、GIS起源于 A、50年代 B、60年代 C、70年代 D、都不是 2、数字化仪用于 A、纸质地图数字化 B、模拟信号数字化 C、纸质图表数字化 D、都不是 3、GIS的主要数据结构: A矢量型 B、栅格型 C、矢栅混合型 D、都不是 4、Landsat TM影象的波段数 A、5 B、6 C、7 D、8 其他。。。。。。 二、名词解释 地理信息 GPS GIS 数据精度栅格数据模型 空间分配模型 地图符号 WebGIS 缓冲区分析 元数据 三、简答题 1、地理空间及其类型 2、地图投影的变形 3、矢量数据结构及其优缺点 4、数字高程模型的表达方式 5、地址匹配 四、综合题 1、GIS的组成及功能 2、空间拓扑叠加的原理 中科院遥感所2003GIS部分试题 简答题: 1。gis标准化的意义及作用。 2。数据质量标准 论述: 1。关于长江三峡搬迁的,求几个数据。很麻烦。 2。关于温度梯度的 。 名次解释: gis,数据挖掘,空间索引。 |
|
6楼#
发布于:2003-12-01 16:37
中国科学院地球化学研究所2002地理信息系统
-------------------------------------------------------------------- 中国科学院地球化学研究所 2002年招收攻读硕士学位研究生考试题 地理信息系统 一、名词解释:(20分,每题5分) 1.缓冲区分析 2.数据的精密度 3.地理信息 4.数据建模 二、试述地理信息系统中的可视化过程。(20分) 三、地理信息的基本构成分析。(20分) 四、简述关系模型的优点及其在应用中存在的问题。(20分) 五、试述网络信息系统的组合方式。(20分) |
|
7楼#
发布于:2003-12-01 16:37
中国科学院遥感应用研究所四科样题
-------------------------------------------------------------------- 中国科学院遥感应用研究所 XXXX年硕士研究生入学考试试卷(共3页) 科目:地理信息系统概论(总分150分) 时间:180分钟 (一名词解释,二填空题,三判断题答在试卷上;四简答题,五论述题答在答题纸上) 一、 名词解释(每题3分,共15分) 1、 地理信息系统 2、 空间信息网格 3、 空间数据挖掘 4、 数据互操作性 5、 空间索引 二、 填空题(每空答对得2分,不答或答错不扣分,共40分) 1、地理信息系统萌芽于( )年代。 2、我国的地理信息系统工作起始于( )年代,其标志是( )。 3、( )、( )和( )是地理空间分析的三大要素。 4、地理信息系统中的数据转换主要包括( )和( )。 5、地理信息系统的空间分析分为( )、( )和( )三个层次。 6、空间关系通常分为( )、( )和( )三类。 7、手扶跟踪数字化的精度受( )、 ( )和( )三种条件的影响。 7、空间信息查询方式主要有( )、 ( )和( ) 三种方式。 三、 判断题(请根据判断在每题的括弧中写入“对”或“错”,每一题答对得4分,答错不扣分,共20分) 1、若某一弧段的左、右多边形分别为A和B,则A、B两个多边形相邻。( ) 2、若弧段A和多边形P无交点,则A和P是分离关系。( ) 3、利用游程编码数据结构一定能够减少数据存储空间。( ) 4、对于等角投影,面积越大,造成的畸变越大,因而大面积的区域制图不适合使用等角投影。( ) 5、开放式GIS的目的是实现异构分布数据的共享和不同系统之间的互操作。( ) 四、 简答题(共三题,每题10分,共30分) 1、简述地理空间数据库的特点及发展趋势 2、简述空间数据质量的标准要素 3、简述地理信息系统标准化的内容及意义 五、 论述题(共两题,45分) 1、 长江三峡工程是举世注目的重大水利工程。若根据蓄水前后的水位计算淹没区范围、淹没耕地面积及淹没区移民数量,你需要哪些基本数据?并结合GIS的功能给出详细的技术方案和实现过程。(25分) 2、 给定某一海域的海面观测点分布地图及每个点的海面日平均温度观测数据,现需要计算该海域内某一天的海面温度等值线分布及温度变化梯度分布,请利用GIS的功能给出求解方法和步骤。(20分) 中国科学院遥感应用研究所 XXXX年度硕士生入学考试试题 自 然 地 理 一、名词解释(30分:10×3分) 黄土堆积 季风气候 隐域性植被 干燥度 自然区划原则 土地利用 径流 植被 流域 地下水 二、填空题(30分:20×1.5分) 地貌形成因素包括 、 、 、 等。 气候形成因素包括 、 、 等。 自然地理要素的空间分异规律一般概括为 、 、 等。 地表水主要赋存形式有 、 、 等。 我国海岸基本分为 、 、 等类型。 森林蕴藏着大量的动、植物资源,并且具有 、 、 、 ,以及防治自然灾害的巨大作用。 三、简述题:(60分:3×20分) 1.简述我国第四纪环境演变的主要特点 2.中国自然地理地域分异的特征 3.根据中国土地资源的特征,试述其意义或对策 四、论述题(30分) 试述人类活动与自然地理过程的相互作用? 中国科学院遥感应用研究所 XXXX年硕士研究生入学考试试题 遥感概论 一、 名词解释(每题6分,共60分) 1 地物反射波(光)谱 2 双向反射率分布函数 3 基尔霍夫定律 4 瑞利散射 5 大气窗口 6 分辨率 7 辐射亮度 8 维恩位移定律 9 高光谱 10 小波分析 二、 问答题(每题12分,共60分): 1. 简述遥感数字影像增强处理的目的,例举一种增强处理方法,说明其原理和步骤。(12分) 2. 比较非监督分类和监督分类方法。(12分) 3. 利用雷达探测地物的机理及其优势。(12分) 4. 光机扫描成像与CCD成像的比较。(12分) 5. 晴空时大气对可见光遥感和红外遥感的影响有何特点?(12分) 三、 论述题(30分) 我国“风云一号”系列气象卫星是极轨气象卫星,其中“风云一号C星”及“风云一号D星”携带的多通道可见红外扫描辐射计(MVISR) 有10个通道,各通道波长如下表。请谈谈这些探测波段在陆地地表遥感中的用途。(30分) 表1:风云1-C、D多通道可见红外扫描辐射计(MVISR)各个波段的波长范围 通道号 波长(微米) 备注 1 0.58-0.68 2 0.84-0.89 3 3.55-3.93 4 10.3-11.3 5 11.5-12.5 6 1.58-1.64 7 0.43-0.48 海洋水色 8 0.48-0.53 9 0.53-0.58 10 0.90-0.965 水汽 中国科学院遥感应用研究所 XXXX年硕士研究生入学考试试卷 科目:程序设计与算法语言(总分150分) 时间:180分钟 一、 填空题(每小题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)因子是: (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)用两个实数参数无法创建一个实数; 15. 面向对象的程序设计最适合下面哪一种开发要求: (a)程序是一个完整的程序模块; (b)提供完善的代码复用; (c)获得高效率; (d)对封装的需求; 16. 下面哪一条关于继承的叙述是正确的: (a)它是一种重要的面向对象程序设计思想,但是在程序语言中无法实现; (b)它提供了由现有类构造新类的完善方法; (c)提供数据成员保护,阻止非法存取; (d)使得一种类型表现出多种类型的行为; 17. 在面向对象方法中,多态机制的目的是: (a)在现有的多个类的上层创建一个新类;(b)在运行时动态地确定一个对象的类型; (c)保护数据成员,阻止非法存取; (d)根据类的数据成员确定类的方法; 18. 对于有n个节点e条边的图,如果用邻接表表示,则计算全部入度的时间复杂度是: (a) O(n + e); (b) O(n^2); (c) O(n^3); (d) O(n * e) ; 19. 结定结点的关键字序列(F、B、J、G、E、A、I、D、C、H),对它按字母的字典顺序进行排列, 快速排序的第一趟结果是: (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)和宏扩展(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. 下面关于B树和B+树的叙述中,不正确的是 (a) B树和B+树都是平衡的多分树; (b)B树和B+树都是可用于文件的索引结构; (c) B树和B+树都能有效地支持顺序检索;(d) B树和B+树都能有效地支持随机检索; 24. 在数据结构中,从逻辑上可以把数据结构分成: (a)动态结构和静态结构; (b)紧凑结构和非紧凑结构; (c)线性结构和非线性结构; (d)内部结构和外部结构; 25. 下面程序段的时间复杂度是 for (i=0;i<n;i++) for (j=0;j<m;j++) A[j]=0; (a)O(m+n); (b)O(m/2+n/2); (c)O(m/n); (d)O(m*n); 26. 若已知一个栈的入栈序列是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+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) 5000 (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是指 (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分) |
|
8楼#
发布于:2003-12-01 16:36
南京航空航天大学2000--2002年数据结构与程序设计试题
-------------------------------------------------------------------- 南京航空航天大学2002年数据结构与程序设计试题 数据结构配程序设计 说明:下列每道题10分,编程题可用任何一种编程语言编写 一、将下列稀疏矩阵的非零元素表示成三元组的形式和十字链表的形式。 二、设一棵二叉树的层次遍历序列为ABDEGHJK,中序遍历序列为GDJHKBEA。 (1)画出这棵二叉树示意图 (2)说明建立这棵二叉树的原理 三、回答下列B树(有些教材中称为B-树)问题: (1)一棵4阶4层(根为第一层,叶子为第二层)的B树,至少有多少关键字,至多有多少关键字 (2)在含有n个关键字的m阶B树中进行查找时,最多访问多少个结点。 四、哈希表中使用哈希函数H(key)=3 * key % 11,并采用开放定址法处理冲突,随机探测再散列的下一地址公式为: d1=H (key ) di=( di-1 +7 * key ) % 11 (I=2,3…..) 试在0到10的散列地址空间中对关键字序列(22,41,53,46,30,13,01,67)画出Hash表示意图,并求在等概率情况下查找成功的平均查找长度。 五、求出一棵滿k叉树的叶子结点数n和所有非叶子结点数m之间的关系,给出求解过程。 六、已知两个链表A和B,其元素值递增排列。编程,将A和B合并成一个递减有序(相同值只保留一个)的链表C,并要求利用原表结点。 七、已知一棵二叉树用二叉链表存储,root 指向根结点,p指向树中任一结点。编程,输出从root 到p 之间路径上的结点。 八、已知一棵树用孩子-兄弟链表存储。编程,计算该树的叶子数。 九、设有n 个整数组成的序列,每个整数为-1,0,1之一。编写一个时间复杂度为O(n)的算法,使该序列按负数、零、正数的次序排好。 十、已知n个顶点的带权图用邻接矩阵表示,编写函数,实现用Kruskal算法构造最小生成树,要求对函数中所使用的变量和内容做详细的注释说明。 南京航空航天大学2001年数据结构与程序设计试题 考试科目:数据结构与程序设计 说明:下列每道题10分,编程题可用任何一种编程语言编写 一、根据下图所示广义表的存储结构,写出此图表示的广义表。 二、试找出分别满足下列条件的所有二叉树 (1)先序序列和中序序列相同 (2)中序序列和后序序列相同 (3)先序序列和后序序列相同 三、根据下图所示的一棵3阶B树(有些教材中称为B-树) ()分别给出插入关键字2,12,16,17和18之后的结果。 ()分别给出在原图上删除8和9之后的结果。 四、对下图所示的有向图 (1)画出它的邻接表示意图 (2)根据邻接表写出其拓扑排序序列 五、用栈实现将中缀表达式8-(3+5)*(5-6/2)转换成后缀表达式,画出栈的变化过程。 六、已知两个链表A和B分别表示两个集合,其元素递增排列。编一函数,求A与B的交集,并存放于A链表中。 七、已知一棵二叉树用二叉链表存储,编写递归函数,判断其是否是平衡二叉树。 八、编写程序将一整数序列中所有负数移到所有正数之前,要求时间复杂度为O(n) 九、已知n个顶点的有向图用邻接矩阵表示,编写函数,计算每对顶点之间的最短路径。 十、编程,判断一棵用二叉链表表示的二叉树是否是完全二叉树。 南京航空航天大学2000年数据结构与程序设计试题 考试科目:数据结构与程序设计 说明:下列每道题10分,编程题可用任何一种编程语言编写 1、 叙述基数排序算法,并对下列整数序列图示其基数排序的全过程。 179,208,93,306,55,859,984,9,271,33 2、 什么是哈夫曼树?试证明有n个叶子的哈夫曼树共有2n-1个结点。 3、 推导并求解n阶Hanoi塔问题至少执行move操作次数。 4、设有三对角矩阵(Aij)n×n,将其三对角线上元素逐行存于数组B[1..m]中,使B[k]=Aij 求: (1)用 i,j 表示k的下标变换公式 (2)用k表示i,j 的下标变换公式 5、输入下列整数序列,画出建立的二叉排序树,最后分别图示将其中50,86删除后的二叉排序树 86,50,78,59,90,64,55,23,100,40,80,45 6、设整数序列a1,a2,… ,an,给出求解最大值的递归程序。 7、编程求解无向图G的所有连通分量。 8、设有带头结点的单链表L,编程对表中任一值只保留一个结点,删除其余值相同的结点。 9、设T是一棵n元树,Tb是T的孩子兄弟表示(二叉链表)的二叉树,试编程由Tb计算T的高度。(要求用非递归方法实现) 10、设以整数序列a1,a2,a3,a4作为栈S的输入,利用push,pop操作,写出所有可能的输出,并编程实现算法。 |
|
9楼#
发布于:2003-12-01 16:36
中国地质大学2001--2003
-------------------------------------------------------------------- 中国地质大学地信专业考研试题——数据结构(2001) 一、简答(20分) 1、若用二元组DS=(D,S)形式说明线性表L,应如何表示L中数据元素集D和关系集S? 2、有五个数据依次进栈:A,B,C,D,E,在各种出栈的序列中,以B,D先出栈的序列有哪几个?(B在D之前出栈) 3、简述循环队列的实现方法,并用图示予以说明,设h和t分别为循环队列Q[0..m]的头指针和尾指针,试给出求当前Q中元素个数的公式。 4、文件的基本组织方式有哪几种? 二、将6个数1,2,3,4,5,6,填入如图所示的二叉树的节点中,使之成为一颗二叉排序树。若把数3.5放入此树并使该树保持性质不变,增加一个节点可放在什么位置?画出两种可能的放置方案(6分) 三、设某通讯电文由A,B,C,D,E,F,G七个字符组成,它们在电文中出现的次数分别是9,5,4,6,2,8,1,试为这七个字符设计Huffman编码 (8分) 四、已知一棵二叉树B的中序遍历序列为DBHEAFJICG,后序遍历序列为DHEBJIFGCA,完成下列各题:(14分) 1、构造该二叉树B 2、写出按先序遍历B 3、画出B的后续前驱线索 五、已知带权的无向图G如下:(16分) 1、画出G的邻接多重表结构以及G的一棵最小生成树 2、写出从顶点V1出发,按深度优先和广度优先搜索G所得到的顶点序列 3、利用Dijkstra算法,求出从顶点V1到其余各顶点的最短路径,要求写出执行算法过程中各步的状态。 六、对长度为n的有序表进行折半查找,指出其平均查找长度,并证明之。(8分) 七、某整型数组A中的9个元素值依次为: 18,10,35,6,27,3,44,30,12 将A中元素按从小到大排序:(不用写算法)(16分) 1、第一个元素值18作为分割数,试写出用“快速排序”对A进行排序的第一趟过程。 2、用“堆排序”,试写出建立初始堆的过程,以及将第一个选出的元素放在A的最后位置上,将A调整为堆后的A中结果。 八、请用PASCAL或C语言设计以下算法 (12分) 1、若以二叉链表作为二叉树B的存储结构,t为指向根节点的指针变量,试编写出B中节点的数目的非递归算法。 2、已知哈希表HT[m],哈希函数为f(x),用链地址法处理冲突(同一线性链表中的记录按关键字递减有序排列),试编写算法;在表中插入关键字值为K的一项。 中国地质大学试题(2002-2003全套)下载网址 http://graduate.cug.edu.cn/zs/zs.htm |
|