盛世清北-清华大学2000年研究生考试数据结构与程序设计专业试题
(完整word版)数据结构试题集(包含答案完整版)
第一章概论一、选择题1、研究数据结构就是研究(D )。
A. 数据的逻辑结构B。
数据的存储结构C. 数据的逻辑结构和存储结构D。
数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。
A。
空间复杂度和时间复杂度 B. 正确性和简单性C。
可读性和文档性D。
数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。
A。
图B。
树C。
广义表D。
栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。
A. 可执行性、可移植性和可扩充性B。
可执行性、有穷性和确定性C。
确定性、有穷性和稳定性 D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( C )。
for(i=0;i<m;i++)for(j=0;j〈n;j++)a[i][j]=i*j;A. O(m2) B。
O(n2) C。
O(m*n) D. O(m+n)6、算法是(D )。
A。
计算机程序 B. 解决问题的计算方法C。
排序算法 D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。
A。
O(n) B. O(nlog2n) C。
O(n2) D. O (log2n)8、下面程序段的时间复杂度为( C ).i=1;while(i<=n)i=i*3;A. O(n)B。
O(3n) C。
O(log3n) D. O(n3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的()和运算等的学科。
A. 结构B。
关系C。
运算D。
算法10、下面程序段的时间复杂度是(A )。
i=s=0;while(s<n){i++;s+=i;}A. O(n) B。
O(n2)C。
O(log2n)D。
O(n3)11、抽象数据类型的三个组成部分分别为(A)。
A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是()。
清华大学“C语言程序设计”期末试卷
样例: 输入 1 2 -4 0 32 1 -2 2 输出 3 -4+x^2
第三部分
综合问题 (任选一题完成,共 10 分)
3-A. 代数式处理 ( 3-A.cpp ) 读入一个仅含变量 x 的代数式和 x 的值, 输出该式在 x=x0 处的函数值和导函数的值。 表达式中除了字母 x 和+, -, *, /, (, )外没有其他字符
试卷说明: 考试形式为上机考试,考试时间总计 3 小时 请在 C 盘根目录下建立一个子目录,以自己的学号命名,并将所有的程序存入 此目录。如,学号为 010000 的同学,需要建立目录 C:\010000,并将程序存入 此目录。按照题目名称中指定文件名保存你的程序,并保存一个备份,以免程 序被意外破坏。例如,第一题应当保存一个叫做 1-1bak.cpp 的文件。 3-A 和 3-B 最多只能选择一道题目。如果同时存在 3-A.cpp 和 3-B.cpp,我们将 随机选择一道题目进行评分。 所有题目采用键盘输入和屏幕输出,你的程序不得访问任何文件。 评分时将查看源程序,请严格遵守题目中给出的限制。
输入: 先读入一个字符串,字符总数不超过 100 并且不会有格式错误的代数式。 然后读入一实数作为 x0 的值。
输出:
7
包含两个实数,分别是函数值和导函数值。把所得结果保留 2 位小数输出。如果出 现分母为 0 的情况则只输出一个字符串"error"。
样例: 输入 x*(x+x/x) 100 输出 10100.00 201.00
输入: 第 1 行为一个整数 t,表示任务的类型,t=1 表示做加法,t=2 表示做减法。 第 2 行为 1 个整数 n,表示需要计算的数的位数。 以后 n 行,每行为 2 个数字,分别是同一位上的被加数和加数(当 t=1 时);或被 减数和减数(当 t=2 时)。从第 3 行起,位数依次由高到低,第 3 行为最高位,第 n+2 行为最低位。
清华大学 2000 年数据结构试题与分析参考答案
参考答案一、 1 .有 n 个顶点的有向边通图最多有 n(n-1) 条边;最少有 n 条边。
2 .其邻接矩阵有 1000 2 个矩阵元素。
它不一定是稀疏矩阵,有可能是特殊矩阵。
3 .可对有向图进行深度优先遍历。
二、 1 .由斐波那契 F n 的定义可得:F n = F n-1 + F n-2=2F n-2 + F n-3=3F n-3 +2 F n-4=5F n-4 +3 F n-5=8F n-5 + 5F n-5……=pF 1 +qF 0设 F m 的执行次数为 B m (m=0, 1, 2, …, n-1) 。
由以上等式的第一项可见,F n-1 被执行一次,即 B n-1 =1 ; F n-2 被执行两次,即 B n-2 =2 ;…;直至 F 1 被执行 P 次,F 0 被执行 q 次,即 B 1 =p, B 0 =q 。
通过上式可以看出, B m 的执行次数为前两等式第一因式系数之和,即 B m =Bm-1 +B m-2 , 再结合 B n-1 =1 和 B n-2 =2 ,这也是一个斐波那契数列。
可以解得:B m = ( m=0 , 1 ,…, n-1 )2 .递归计算 F n 时递归函数的时间复杂度为 O(n) 。
三、 1 .数据表定义为:TYPEsortlist=ARRAY[0..n-1]OF key 。
2 .用 Pascal 语言实现的计数排序算法为:PROCEDURE countsort(VAR oldlist, newlist:sortlist;n:integer);VAR i,j,count:integer;BEGINFOR i:=0 TO n DoBEGINCount:=0FOR j:=0 TO n DOIF(oldlistfj)<oldlist[i] THEN count:=count+1;newlist[count]:=oldlist[i]END;END;3 .对于有 n 个记录的表,关键字比较次数是 n 2 。
数据结构考研真题及答案
一、选择题1. 算法的计算量的大小称为计算的〔B〕。
【邮电大学2000 二、3 〔20/8分〕】A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于〔C 〕【中科院计算所1998 二、1 〔2分〕】A.问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是〔C〕,它必须具备〔B〕这三个特性。
(1) A.计算方法 B. 排序方法C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩大性B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、平安性【理工大学1999 一、1〔2分〕【交通科技大学1996 一、1〔4分〕】4.一个算法应该是〔B〕。
【大学1998 二、1〔2分〕】A.程序B.问题求解步骤的描述C.要满足五个根本特性D.A和C.5. 下面关于算法说法错误的选项是〔D〕【理工大学2000 一、1〔1.5分〕】A.算法最终必须由计算机程序实现B.为解决*问题的算法同为该问题编写的程序含义是一样的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的选项是〔C〕【理工大学2000 一、2 〔1.5分〕】(1〕算法原地工作的含义是指不需要任何额外的辅助空间〔2〕在一样的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法〔3〕所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界〔4〕同一个算法,实现语言的级别越高,执行效率就越低4A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据构造分为〔C〕两大类。
【交通科技大学1996 一、4〔2分〕】A.动态构造、静态构造B.顺序构造、链式构造C.线性构造、非线性构造D.初等构造、构造型构造8.以下与数据的存储构造无关的术语是〔D〕。
【北方交通大学2000 二、1〔2分〕】A.循环队列 B. 链表 C. 哈希表 D.栈9.以下数据构造中,哪一个是线性构造〔D〕.【北方交通大学2001 一、1〔2分〕】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串10.以下那一个术语与数据的存储构造无关.〔A〕【北方交通大学2001 一、2〔2分〕】A.栈 B. 哈希表 C. 线索树 D. 双向链表11.在下面的程序段中,对*的赋值语句的频度为〔C〕【工商大学2001 一、10〔3分〕】FOR i:=1 TO n DOFOR j:=1 TO n DO*:=*+1;A.O(2n) B.O(n) C.O(n2) D.O(log2n) 12.程序段FOR i:=n-1 DOWNTO 1 DOFOR j:=1 TO i DOIF A[j]>A[j+1]THEN A[j]与A[j+1]对换;其中n为正整数,则最后一行的语句频度在最坏情况下是〔D〕A. O〔n〕B. O(nlogn)C. O(n3)D. O(n2)【理工大学1998一、1(2分)】13.以下哪个数据构造不是多型数据类型〔D〕【大学1999 一、3〔1分〕】A.栈B.广义表C.有向图D.字符串14.以下数据构造中,〔A〕是非线性数据构造【大学1999 一、4】A.树B.字符串C.队D.栈15. 以下数据中,〔C〕是非线性数据构造。
清华大学数据结构试题及答案
清华大学数据结构试题及答案以下是清华大学数据结构试题及答案:试题一:1. 请解释什么是数据结构。
答案:数据结构是计算机科学中研究数据的组织、存储和管理方式的学科。
它涉及到数据的表示、操作以及与之相关的算法的设计和实现。
2. 请列举常见的数据结构类型。
答案:常见的数据结构类型包括数组、链表、栈、队列、树、图等。
3. 请解释什么是算法。
答案:算法是一系列解决特定问题的指令和计算步骤。
它描述了在给定输入的情况下,如何进行计算并产生所需输出。
4. 请列举一些常见的算法。
答案:常见的算法包括排序算法(如冒泡排序、插入排序、快速排序)、查找算法(如二分查找、哈希查找)、图算法(如深度优先搜索、广度优先搜索)等。
5. 请解释什么是时间复杂度和空间复杂度。
答案:时间复杂度是描述算法执行时间与输入规模之间的关系。
空间复杂度是描述算法所需内存空间与输入规模之间的关系。
试题二:1. 请给出数组和链表的区别。
答案:数组是一块连续的内存空间,元素在内存中按照索引顺序排列。
链表是由节点组成的数据结构,每个节点包含数据和指向下一个节点的指针。
2. 请解释什么是栈和队列。
答案:栈是一种后进先出(LIFO)的数据结构,只允许在栈顶进行插入和删除操作。
队列是一种先进先出(FIFO)的数据结构,允许在队尾插入数据,在队头删除数据。
3. 请给出树和图的区别。
答案:树是一种由节点和边组成的数据结构,每个节点可以有多个子节点。
图是一种由节点和边组成的数据结构,节点之间的关系可以是任意的,包括有向和无向边。
4. 请解释什么是哈希表。
答案:哈希表是一种通过哈希函数将键映射到特定位置的数据结构。
它能够快速地进行插入、删除和查找操作。
5. 请解释什么是递归。
答案:递归是一种通过调用自身的方法或函数来解决问题的编程技巧。
在递归过程中,问题会被拆分成一个或多个规模较小的子问题,直到达到基本情况。
以上就是清华大学数据结构试题及答案,希望对您有所帮助。
计算机考研考试题目及答案
计算机考研考试题目及答案计算机考研考试是广大计算机专业毕业生追求深造的重要途径之一。
通过考研,学生有机会进入优质的学术研究机构或者深入实践的科研岗位。
在这篇文章中,我们将为大家提供一些常见的计算机考研题目及其答案,希望能对正在备战考研的同学们有所帮助。
第一部分:数据结构1. 什么是数据结构?答案:数据结构是计算机存储、组织和管理数据的方式。
它涉及到各种数据类型,如数组、链表、栈、队列、树、图等,并提供了一系列操作这些数据类型的操作方法。
2. 请说明数组和链表的区别。
答案:数组是一种线性数据结构,其中的元素在内存中是连续存储的,可以通过索引访问。
链表是通过指针连接起来的节点构成的,节点在内存中可以是离散的,每个节点都包含了下一个节点的指针。
3. 请解释一下栈和队列的特点。
答案:栈是一种后进先出(LIFO)的数据结构,只允许从栈顶进行插入和删除操作。
队列是一种先进先出(FIFO)的数据结构,允许在队尾插入元素,在队首删除元素。
第二部分:操作系统1. 什么是进程和线程?答案:进程是指在计算机上运行的程序的实例,每个进程都有自己的内存空间和资源。
线程是进程中的执行单元,一个进程可以包含多个线程,共享进程的资源。
2. 解释一下死锁。
答案:死锁是指两个或多个进程在互斥、占有、等待和不可剥夺资源等条件下,无法向前推进的状态。
在死锁中,每个进程都在等待其他进程释放资源,因此无法继续执行。
3. 什么是虚拟内存?答案:虚拟内存是操作系统提供给应用程序的一种抽象概念,它使得应用程序认为自己拥有连续的可用内存空间,而实际上这个空间可能是分散存储于物理内存和硬盘上的。
第三部分:数据库1. 请解释关系数据库和非关系数据库的区别。
答案:关系数据库使用表格的形式组织数据,表格由行和列组成,通过事先定义的模式进行数据管理。
非关系数据库通常不使用表格,而是使用键值对、文档、图等方式组织数据。
2. 什么是SQL?答案:SQL(Structured Query Language)是一种用于管理关系数据库的编程语言。
2000级数据结构考试试题参考答案
计算机2000-1、2、3、4、5数据结构考试试题参考答案一、 单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干的括号内。
每小题2分,共20分)1.B 2.B 3.B 4.A 5.A 6.B 7.A 8.C 9.C 10. D 二、判断题(判断下列各题是否正确,正确在括号内打“√”,错的打“×”。
每小题1分,共10分)1.× 2.× 3.√ 4.× 5.√ 6.× 7.× 8.× 9.× 10.× 三、填空题(每题2分,共20分) 1.P->next->next 2.2m-13.mid-1 R[mid].KEY==K 或 l>h 4.R->next->next 5.36.q->next->prior=S7.第i 列非零元素之和(第i 列非零元素个数,∑=nk aki 1)第i 行非零元素之和(第i 行非零元素个数,∑=nk aik 1)8.Ls==NULL ls=ls->link 9.Lq->front==lq->rear 10.a b e f c d g四、应用题(共36分) 1.(6分) (1)(4分)解:由题义知 m=13a)因为 h(35)=35 % 13 =9 但位置9不是35,所以又双重散列得 h1(35)=35 % 11 +1=3所以 h1=(9+1*3) % 13=12 但位置12 不是 35,所以 又双重散列得h2=(9+2*3) % 13 =2 可知,位置2 是 35 ,所以 查找35共比较了3次。
b)因为 h(20)=20 % 13 = 7 但位置7不是20,所以又双重散列得 h1(20)=20 % 11 +1=10h1=(7+1*10) % 13 =4 可知,位置4 是 20 ,所以 查找20共比较了2次。
清华大学2000硕士入学数据结构与程序设计试题
清华大学2000硕士入学数据结构与程序设计试题清华大学2000年研究生入学考试数据结构与程序设计试题1 (12分)请回答下列关于图(Graph)的一些问题:①(4分)有n个顶点的有向连通图最多有多少条边?最少有多少条边?②(4分)表示一个有1000个顶点、1000条边的有向图的邻接矩阵有多少个矩阵元素?是否稀疏矩阵?③(4分)对于一个有向图,不用拓扑排序,如何判断图中是否存在环?2 (12分)斐波那契数列F n定义如下:F0=0, F1=1, F n= F n-1 + F n-2, n=2,3,…请就此斐波那契数列,回答下列问题:①(7分)在递归计算F n的时候,需要对较小的F n-1,F n-2,…,F1,F0精确计算多少次?②(5分)若干有关大O表示法,试给出递归计算F n时递归函数的时间复杂度是多少?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分)设有一个最小堆,即堆中任意节点的关键码均大于它的左子女和右子女的关键码。
数据结构习题集答案解析--清华大学版
第1章 绪论1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。
解:数据是对客观事物的符号表示。
在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据对象是性质相同的数据元素的集合,是数据的一个子集。
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
存储结构是数据结构在计算机中的表示。
数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。
是对一般数据类型的扩展。
1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。
解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。
一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。
抽象数据类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。
在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象层次更高,更能为其他用户提供良好的使用接口。
1.3 设有数据结构(D,R),其中{}4,3,2,1d d d d D =,{}r R =,()()(){}4,3,3,2,2,1d d d d d d r =试按图论中图的画法惯例画出其逻辑结构图。
解:1.4 试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。
解:ADT Complex{ 数据对象:D={r,i|r,i 为实数} 数据关系:R={<r,i>} 基本操作: InitComplex(&C,re,im)操作结果:构造一个复数C ,其实部和虚部分别为re 和im DestroyCmoplex(&C)操作结果:销毁复数C Get(C,k,&e) 操作结果:用e 返回复数C 的第k 元的值 Put(&C,k,e) 操作结果:改变复数C 的第k 元的值为eIsAscending(C)操作结果:如果复数C 的两个元素按升序排列,则返回1,否则返回0IsDescending(C)操作结果:如果复数C的两个元素按降序排列,则返回1,否则返回0 Max(C,&e)操作结果:用e返回复数C的两个元素中值较大的一个Min(C,&e)操作结果:用e返回复数C的两个元素中值较小的一个}ADT ComplexADT RationalNumber{数据对象:D={s,m|s,m为自然数,且m不为0}数据关系:R={<s,m>}基本操作:InitRationalNumber(&R,s,m)操作结果:构造一个有理数R,其分子和分母分别为s和mDestroyRationalNumber(&R)操作结果:销毁有理数RGet(R,k,&e)操作结果:用e返回有理数R的第k元的值Put(&R,k,e)操作结果:改变有理数R的第k元的值为eIsAscending(R)操作结果:若有理数R的两个元素按升序排列,则返回1,否则返回0 IsDescending(R)操作结果:若有理数R的两个元素按降序排列,则返回1,否则返回0 Max(R,&e)操作结果:用e返回有理数R的两个元素中值较大的一个Min(R,&e)操作结果:用e返回有理数R的两个元素中值较小的一个}ADT RationalNumber1.5 试画出与下列程序段等价的框图。
数据结构1800例题与答案[完整版]
数据结构1800例题与答案第一章绪论一、选择题(每小题2分)1.算法的计算量的大小称为计算的( B )。
A.效率B.复杂性C.现实性D.难度2.算法的时间复杂度取决于(C)。
A.问题的规模B.待处理数据的初态C.A和B D.都不是3.计算机算法指的是(①C ),它必须具备(② B )这三个特性。
①A.计算方法B.排序方法C.解决问题的步骤序列D.调度方法②A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性4.一个算法应该是(B )A.程序B.问题求解步骤的描述C.要满足五个基本特性D.A和C.5.下面关于算法说法错误的是( D )A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是(C )(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为( C )两大类。
A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是( D )。
A.循环队列 B. 链表 C. 哈希表 D. 栈9.以下数据结构中,哪一个是线性结构( D )?A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串10.以下那一个术语与数据的存储结构无关?(A)A.栈 B. 哈希表 C. 线索树 D. 双向链表11.在下面的程序段中,对x的赋值语句的频度为(C)FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1;A.O(2n) B.O(n) C.O(n2) D.O(log2n)12.程序段FOR i:=n-1 DOWNTO 1 DOFOR j:=1 TO i DOIF A[j]>A[j+1]THEN A[j]与A[j+1]对换;其中n为正整数,则最后一行的语句频度在最坏情况下是(D)A. O(n)B. O(nlogn)C. O(n3)D. O(n2) 1(2分)】13.以下哪个数据结构不是多型数据类型(D)A.栈B.广义表C.有向图D.字符串14.以下数据结构中,(A)是非线性数据结构A.树B.字符串C.队D.栈15. 下列数据中,(C)是非线性数据结构。
清华大学数据结构试题及答案解析
一、单选题(每题 2 分,共20分)1. 1.对一个算法的评价,不包括如下(B )方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。
A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3. 3.对线性表,在下列哪种情况下应当采用链表表示?( )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4. 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35. 5.AOV网是一种()。
A.有向图B.无向图C.无向无环图D.有向无环图6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度()。
A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。
A.值B.函数C.指针D.引用8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。
A.行号B.列号C.元素值D.非零元素个数9.9.快速排序在最坏情况下的时间复杂度为()。
A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2)10.10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A. O(n)B. O(1)C. O(log2n)D. O(n2)二、二、运算题(每题 6 分,共24分)1. 1.数据结构是指数据及其相互之间的______________。
当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。
清华大学机试真题
时间限制: 1 Sec 内存限制: 32 MB提交: 524 解决: 154题目描述输入任意4个字符(如:abcd),并按反序输出(如:dcba)输入题目可能包含多组用例,每组用例占一行,包含4个任意的字符。
输出对于每组输入,请输出一行反序后的字符串。
具体可见样例。
样例输入UpincvYjWJpwcXOA样例输出nipUjYvcwpJWAOXc2000年清华大学计算机研究生机试真题1059: abc时间限制: 1 Sec 内存限制: 32 MB提交: 196 解决: 160题目描述设a、b、c均是0到9之间的数字,abc、bcc是两个三位数,且有:abc+bcc=532。
求满足条件的所有a、b、c的值。
输入题目没有任何输入。
输出请输出所有满足题目条件的a、b、c的值。
a、b、c之间用空格隔开。
每个输出占一行。
样例输入样例输出2000年清华大学计算机研究生机试真题1060: 完数VS盈数时间限制: 1 Sec 内存限制: 32 MB提交: 337 解决: 101题目描述一个数如果恰好等于它的各因子(该数本身除外)子和,如:6=3+2+1。
则称其为“完数”;若因子之和大于该数,则称其为“盈数”。
求出2到60之间所有“完数”和“盈数”。
输入题目没有任何输入。
输出输出2到60之间所有“完数”和“盈数”,并以如下形式输出:E: e1 e2 e3 ......(ei为完数)G: g1 g2 g3 ......(gi为盈数)其中两个数之间要有空格,行尾不加空格。
题目描述有N个学生的数据,将学生数据按成绩高低排序,如果成绩相同则按姓名字符的字母序排序,如果姓名的字母序也相同则按照学生的年龄排序,并输出N个学生排序后的信息。
输入测试数据有多组,每组输入第一行有一个整数N(N<=1000),接下来的N行包括N个学生的数据。
每个学生的数据包括姓名(长度不超过100的字符串)、年龄(整形数)、成绩(小于等于100的正数)。
考研清华大学数据结构专业真题回忆版
2013考研清华大学数据结构专业真题回忆版1.长度分别为m 和n 的升序链表,若将它们合并为一个长度为m+n 的降序链表,那么最坏情况下的时间复杂度是A. O<n>B. O<m*n>C. O<min<m,n>>D. O<max<m,n>>2. 一个栈的入栈序列为1, 2,3, ,n ,其出栈序列是 p1, p2, p3, pn.若p2 = 3,那么p3 可能取值的个数是:A. n- 3B. n- 2C. n- 1D. 无法确定3. 若将关键字1,2,3,4,5,6,7 依次插入到初始为空的平衡二叉树T 中,那么T 中平衡因子为0 的分支结点的个数是A. 0B. 1C. 2D. 34. 已知三叉树T 中6 个叶结点的权分别是2,3,4,5,6,7,T 的带权〔外部〕路径长度最小是A. 27B. 46C. 54D. 565. 若X 是后序线索二叉树中的叶结点,且X 存在左兄弟结点Y,那么X 的右线索指向的是A. X 的父结点B. 以Y 为根的子树的最左下结点C. X 的左兄弟结点YD. 以Y 为根的子树的最右下结点6. 在任意一棵非空二叉排序树T1 中,删除某结点v 之后形成二叉排序树T2,再将v 插入T2 形成二叉排序树T3.下列关于T1 与T3 的叙述中,正确的是I. 若v 是T1 的叶结点,那么T1 与T3 不同II. 若v 是T1 的叶结点,那么T1 与T3 相同III. 若v 不是T1 的叶结点,那么T1 与T3 不同IV. 若v 不是T1 的叶结点,那么T1 与T3 相同A. 仅I、IIIB. 仅I、IVC. 仅II、IIID. 仅II、IV7. 设图的邻接矩阵A 如下所示.各顶点的度依次是A. 1,2,1,2B. 2,2,1,1C. 3,4,2,3D. 4,4,2,28. 若对如下无向图进行遍历,那么下列选项中,不.是广度优先遍历序列的是A. h,c,a,b,d,e,g,fB. e,a,f,g,b,h,c,dC. d,b,c,a,h,e,f,gD. a,b,c,d,h,e,f,g9、下列的AOE网表示一项包含8个活动的工程.通过同时加快若干活动的进度可以缩短整个工程的工期.下列选项中,加快其进度就可以缩短整个工程的工期的是:A c和eB d和eC f 和dD f和h10、在一棵高为2 的5阶B树中,所含关键字的个数最少是A 5B 7C 8 D142015年考研复习方案和规划前几遍专业参考书的复习,一定要耐心仔细梳理参考书的知识点并全面进行把握1、基础复习阶段要求吃透参考书内容,做到准确定位,事无巨细地对涉及到的各类知识点进行地毯式的复习,夯实基础,训练思维,掌握一些基本概念,为下一个阶段做好准备.2、强化提高阶段本阶段,考生要对指定参考书进行更深入复习,加强知识点的前后联系,建立整体框架结构,分清重难点,对重难点基本掌握.做历年真题,弄清考试形式、题型设置和难易程度等内容.3、冲刺阶段总结所有重点知识点,包括重点概念、理论和模型等,查漏补缺,回归教材.温习专业课笔记和历年真题,做专业课模拟试题.调整心态,保持状态,积极应考.注意事项1、学习任务中所说的"一遍"不一定是指仅看一次书,某些难点多的章节可能要反复看几遍才能彻底理解通过.2、每本书每章节看完后最好自己能闭上书后列一个提纲,以此回忆内容梗概,也方便以后看着提纲进行提醒式记忆.3、看进度,卡时间.一定要防止看书太慢,遇到弄不懂的问题,要及时请教专业咨询师或本校老师.三、学习方法解读〔一〕参考书的阅读方法1、了解课本基本内容,对知识体系有初步了解,认真做课后习题,考研题型基本离不开课后题的原型,将课后题做清楚明白,专业课基本就不会成为你的问题.2、对课本知识进行总结,材料综合相对于其它只考一门专业课的专业来说,知识点比较多,前后章节联系不强,因此需要对知识点进行梳理,对课本题型进行分类.3、将自己在学习过程中产生的问题记录下来,并用红笔标记,着重去理解那些易考而对自己来说比较难懂的知识,尽可能把所有的有问题知识要点都能够及时记录并在之后反复进行理解.〔二〕学习笔记的整理方法1、在仔细看书的同时应开始做笔记,笔记在刚开始的时候可能会影响看书的速度,但是随着时间的发展,会发现笔记对于整理思路和理解课本的内容都很有好处.2、做笔记的方法不是简单地把书上的内容抄到笔记本上,而是把书上的内容整理成为一个个小问题,按照题型来进行归纳总结.笔记应着重将自己不是非常明白的地方标记出来,通过多做题对知识点进行梳理总结,对题型归类.〔三〕真题的使用方法认真分析历年试题,做好总结,对于考生明确复习方向,确定复习范围和重点,做好应试准备都具有十分重要的作用.对于理工科的学生来说,总结真题中高分值题型是非常重要的,因为一个大题可能会关乎你在初试中是安全通过还是被刷,同时也不能放弃分值较小的题型.基本原那么是计算题吃透,选择简答认真总结分类,把握各类型题在各章节的分布,有重点的去复习,分值较多章节着重记忆理解.考生可以根据这些特点,有针对性地复习和准备,并进行一些有针对性的练习,这样既可以检查自己的复习效果,发现自己的不足之处,以待改进;又可以巩固所学的知识,使之条理化、系统化.。
考研班主任清华大学考研真题—清华大学2000年计算机原理和数字逻辑试题
清华大学2000硕士入学计算机原理和数字逻辑试题
数字逻辑部分(50分)
1 (10分)
图1所示总线上接有8个TTL型驱动器和16个TTL型接收器。
驱动器和接收器的功能表如图2所示,它们的主要有关直流参数为:
正常态下“1”输出电流I OH>=6mA
高阻态下输出漏电流I OZ<=20uA
正常态下“0”输出电流I OL>=24mA
数据端“1”输入电流I IL<=1.6mA
高阻态下数据端“0”输入电流I ILZ<=40uA
请分析:驱动器能否可靠驱动接收器。
图1
图2
2 (16分)
在数字集成电路手册中,可常见到表达电路输出或输入电压状态变化的一些时序序号,请说明以下表达输出电压变化的符号的意义。
3 (24分)
① 设计一个能周期性地产生“01110001”序列信号的移位寄存器,该电路工作前要清零。
记忆元件用正沿延迟型D触发器,附加门电路限用NAND电路。
给出设计过程。
② 对本题①的移位寄存器电路,如果触发器的参数有:=20ns、数据建立时间=10ns、数据保持时间=4ns、NAND的=6ns,请估算寄存器的最高工作频率。
数据结构考研真题及其答案
一、选择题1. 算法的计算量的大小称为计算的( B )。
【北京邮电大学2000 二、3 (20/8分)】A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于(C )【中科院计算所 1998 二、1 (2分)】A.问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是(C),它必须具备(B)这三个特性。
(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】4.一个算法应该是( B )。
【中山大学 1998 二、1(2分)】A.程序 B.问题求解步骤的描述 C.要满足五个基本特性D.A和C.5. 下面关于算法说法错误的是( D )【南京理工大学 2000 一、1(1.5分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是( C )【南京理工大学 2000 一、2 (1.5分)】 (1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低4A.(1) B.(1),(2) C.(1),(4) D.(3)【武汉交通科技大学 1996 7.从逻辑上可以把数据结构分为( C )两大类。
一、4(2分)】A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是( D )。
清华大学2000年研究生入学考试 计算机原理和数字逻辑试题
清华大学1999年研究生入学考试计算机体系结构和组成原理试题一.(10分)有三个Cache存储器,每个由4个Block组成,每个Block只有一个字,第一个Cache 存储器采用全相连映象,第二个Cache存储器采用2-way组相连映象,第三个Cache存储器采用直接相连映象。
下面是程序执行过程中的Block地址流。
0,8,0,6,8请计算三种结构的缺失次数各为多少?二.(10分)假设我们有一个需要运行100秒的标准程序,其中有90秒是CPU时间而剩下的是I/O 占用的时间。
如果在以后的5年中,CPU速度每年可以提高50%且I/O时间保持不变,那么5年后我们的程序要耗费多少时间。
三.(10分)某台计算机只有Load/Store指令能对存储器进行读/写操作,其他指令只对寄存器进行操作。
根据程序跟踪实验结果,已知每种指令所占的比例及CPI数如下:表1求上述情况下的平均CPI。
假设程序由M条指令组成。
算逻运算中25%的指令的两个操作数中的一个已在寄存器中,另一个必须在算逻指令执行前用Load指令从存储器中取到寄存器中。
因此有人建议增加另一种算逻指令,其特点是一个操作数取字寄存器,另一个操作数取自存储器,即寄存器——存储器类型,假设这种指令的CPI等于2。
同时,转移指令的CPI变为3。
求新指令系统的平均CPI。
四.(10分)假定我们有一台计算机,如果所有的cache访问都命中的话,它的CPI是2.0。
唯一的数据访问指令是store和load,它们占指令总数的40%,不命中损失是25个时钟周期,不命中率是2%。
如果所有的指令访问cache都命中的话,那么机器的速度是存在cache不命中的多少倍?五(10分)假定在1000次内存访问中,在第一级Cache中有40次缺失,在第二级Cache中有20次缺失。
两种缺失率分别为多少?六.(10分)运行Solaris 2.3系统的两台SPARC 10计算机可由两种不同的互连网络连接起来,通过TCP/IP通信。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
清华大学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所指节点左侧的所有节点的连接方向都已逆转。
图1题8图
①(6分)使用Pascal或C语言编写一个算法,从任一给定位置(pr,p)开始,将指针p右移1个节点。
如果p移出链表,则将p置为NULL,并让pr留在链表最右边的节点上。
②(6分)使用Pascal或C语言编写一个算法,从任一给定位置(pr,p)开始,将指针p左移一个节点。
如果p移出链表,则将p置为NULL,并让pr停留在链表最左边的节点上。
盛世清北教育成立于2006年,由清华北大名师与归国人士共同创办。
起点之高,资源之广,基础之深,堪称中国考研考博的“黄埔军校”。
盛世清北专业课名师团队来源于一流名校各院系教授,讲师,硕博。
盛世清北起步于中国顶尖名校清华北大,“汇聚半国英才,精英培养精英”的精英培训理念与实践造就了众多清北英才和各大名校硕博学子。
盛世清北 每年均有30%左右的分数是直接命中,80%以上的概念均在VIP一对一教学过程中讲到。
专业课保过计划成功率接近100%!
请致电咨询4006162188 盛世清北 官网:
地址:北京市海淀区中关村东路18号(保福寺桥北)财智国际大厦A1801室。