2020年清华大学912计算机专业基础综合之数据结构考研复试冲刺狂背五套题

特别说明

本书严格按照该考研科目最新复试笔试题型、试题数量和复试笔试难度出题,结合历年复试经验整理编写了五套复试冲刺模拟试题并给出了答案解析。涵盖了这一考研科目复试笔试常考试题及重点试题,针对性强,是考研复试报考本校该科目笔试复习冲刺阶段的首选资料。

版权声明

青岛掌心博阅电子书依法对本书享有专有著作权,同时我们尊重知识产权,对本电子书部分内容参考和引用的市面上已出版或发行图书及来自互联网等资料的文字、图片、表格数据等资料,均要求注明作者和来源。但由于各种原因,如资料引用时未能联系上作者或者无法确认内容来源等,因而有部分未注明作者或来源,在此对原作者或权利人表示感谢。若使用过程中对本书有任何异议请直接联系我们,我们会在第一时间与您沟通处理。

因编撰此电子书属于首次,加之作者水平和时间所限,书中错漏之处在所难免,恳切希望广大考生读者批评指正。

目录

2020年清华大学912计算机专业基础综合之数据结构考研复试冲刺狂背五套题(一) (4)

2020年清华大学912计算机专业基础综合之数据结构考研复试冲刺狂背五套题(二) (11)

2020年清华大学912计算机专业基础综合之数据结构考研复试冲刺狂背五套题(三) (18)

2020年清华大学912计算机专业基础综合之数据结构考研复试冲刺狂背五套题(四) (27)

2020年清华大学912计算机专业基础综合之数据结构考研复试冲刺狂背五套题(五) (35)

2020年清华大学912计算机专业基础综合之数据结构考研复试冲刺狂背五套题(一)

说明:本书由编写组多位高分在读研究生按照考试大纲、真题、指定参考书等公开信息潜心整理编写,仅供考研复习参考,与目标学校及研究生院官方无关,如有侵权请联系我们立即处理。一、应用题

1.关于堆排序:

(1)给出堆的定义及其数据结构的定义。

(2)给出堆排序算法的基本思想,并给予图例说明(要求不少于六个待排序元素)。

(3)用伪语言描述该算法。

(4)给出算法在最差情况下的时间复杂度分析。

【答案】(1)n个元素序列当且仅当对于所有的元素,满足且(或者是大于)。所以堆的数据结构定义只需要声明一个数组来记录即可

(2)堆排序每次从堆顶输出一个元素,然后将序列末尾放至堆顶,然后由上而下作一次调整,形成新的堆。算法如图所示。

(3)

(4)

2.已知n阶下三角矩阵A(即当时,有),按照压缩存储的思想,可以将其主对角线以下所有元素(包括主对角线上元素)依次存放于一维数组B中,请写出从第一列开始采用列序为主序分配方式时在B中确定元素的存放位置的公式。

【答案】n阶下三角矩阵元素。第1列有n个元素,第j列有个元

素,第1列到第j-1列是梯形,元素数为,而在第j列上的位置是。所以n 阶下三角矩阵A按列存储,其元素在一维数组B中的存储位置k与i和j的关系为:

3.一个深度为L的满K叉树有以下性质:第L层上的结点都是叶子结点,其余各层上每个结点都有K棵非空子树。如果按层次顺序从1开始对全部结点进行编号,求:

(1)各层的结点数目是多少?

(2)编号为n的结点的双亲结点(若存在)的编号是多少?

(3)编号为n的结点的第i个孩子结点(若存在)的编号是多少?

(4)编号为n的结点有右兄弟的条件是什么。如果有,其右兄弟的编号是多少?

请给出计算和推导的过程。

【答案】(1)显然第i层上有个结点。

(2)若n=l时,该结点为根,无双亲结点,否则其双亲结点为。分析如下:假设编

号为n的结点,其第k-1个儿子的编号为nk,那么第k个儿子的编号为nk+1,最小儿子的编号为。若把这k个儿子的编号均加上k-2,则其儿子的编号依次为nk,。若

同除以k,则其儿子的编号范围在n和n+1之间。在此范围内取下整数n,即是这k个儿子的双亲

结点的编号n,故编号为n的双亲结点的编号为。

(3)由上分析可知其第k-1个儿子的编号为nk。所以,如果它有儿子,则其第i个儿子的编号为nk+(i-(k-l))。

(4)当,该结点有右兄弟,其右兄弟的编号为n+1。

4.下面的数据表给出了在一篇有19710个词的英文行文中出现最普遍的15个词的出现频度。

(1)假设一个英文字符等价于,那么这些词按bits计的平均长度是多少?

(2)假定一篇正文仅由上述的数据表中的词组成,那么它们的最佳编码是什么?平均长度是多少?

【答案】(1)设单词的长度(按字符)为,出现的频率为,则可计算出平均长度为:

(2)最佳编码为:

平均长度:

可以看出,哈夫曼编码的平均长度要短一些。

清华大学-计算机专业-培养计划

一、培养目标 信息科学技术学院(以下简称信息学院)本科培养方案面向电子信息科学与技术、计算机科学与技术、自动化、微电子学、示范性软件学院的计算机软件等五个专业,从2003级开始实行多学科交叉背景下、通识教育基础上的宽口径专业教育,构建具有各专业共性基础的学院平台课程体系以及具有一定特长的专业核心课程体系,强调对学生进行基本理论、基础知识、基本能力(技能)以及健全人格、综合素质和创新精神培养,为学生提供增强基础、选择专业的机制,培养基础厚、专业面宽、具有自主学习能力的复合型人才。 从2011级开始,信息学院对培养方案进行了全面修订,进一步将学科交叉范围扩大到专业核心课程体系,为学生提供更加灵活的选课机制和更加宽广的专业空间;并将继续深入研究和不断改进课程内容和教学方法,加强实践环节,更好地培养适应时代要求的信息科学技术专业人才。 信息学院致力于为学生全面参与教育教学、科学研究、文化艺术、社会服务等活动创造条件,提倡学生在参与中发现自己的能力和兴趣,最大限度地发展自己的智力和潜能,鼓励学生敢于面对挑战、不断探索、努力创造、追求卓越,并提供一种基础和环境,促使学生养成独立工作的能力和终身学习的习惯。 二、基本要求 信息学院各专业通过各种教育教学活动发展学生个性,培养学生具有健全人格;具有成为高素质、高层次、多样化、创造性人才所具备的人文精神以及人文、社科方面的背景知识;具有国际化视野;具有创新精神;具有提出、解决带有挑战性问题的能力。具有进行有效的交流与团队合作的能力;在信息科学技术领域掌握扎实的基础理论、相关领域基础理论和专门知识及基本技能,具有在相关领域跟踪、发展新理论、新知识、新技术的能力,能从事相关领域的科学研究、技术开发、教育和管理等工作。 电子信息科学与技术专业的本科生运用所掌握的理论知识和技能,从事信号获取、处理和应用,通信及系统和网络,模拟及数字集成电路设计和应用,微波及电磁技术理论、信号与信息处理的新型电子材料、器件和系统,包括信息光电子和光子器件、微纳电子器件、微光机电系统、大规模集成电路和电子信息系统芯片的理论和应用等方面的科研、开发与教育工作。 微电子学专业的本科生运用所掌握的理论知识和技能,从事大规模模拟及数字集成电路设计和应用,工艺开发,EDA工具开发,新型电子材料、微纳电子器件和系统,量子信息和电子信息系统的理论和应用等方面的科研、开发与教育工作。培养基础扎实,创新能力突出,有国际视野的微纳电子专业人才。 计算机科学与技术专业的本科生运用所掌握的理论知识和技能,从事计算机科学理论、计算机系统结构、计算机网络、计算机软件及计算机应用技术等方面的科研、开发与教育工作。 自动化专业的本科生运用所掌握的理论知识和技能,从事国民经济、国防和科研各部门的运动控制、过程控制、机器人智能控制、导航制导与控制,现代集成制造系统、模式识别与智能系统、生物信息学、人工智能与神经网络、系统工程理论与实践、新型传感器、电子与自动检测系统、复杂网络与计算机应用系统等领域的科学研究、技术开发、教育及管理等工作。 计算机软件专业的本科毕业生应该具备扎实的软件理论和软件工程专业基础知识,具有良好的工具使用与实验能力、软件分析与开发能力、过程控制与管理能力、团队协作与沟通能力。 三、学制与学位授予

清华大学计算机科学与技术专业考研经验分享【新祥旭考研】

清华大学计算机科学与技术专业考研经验分享 新祥旭考研:十年专注考研一对一辅导 简单自我介绍一下,我本科毕业于上海交通大学计算机科学与技术系,2015年放弃本校保研一战清华计算机失败,2016年二战成功,清华计算机系已录取。初试高分数线8分,在我这个方向所有人里排名倒数第6,给我交丢脸了。。不过好在两个应届的学弟是第二和第四,哈哈~ 一、关于报考学校 首先我列一下我心目中的学校排名(计算机专业):清华北大>交大浙大>其它C9>北上985>其它。清华北大就不必说了,这是两所能改变命运的学校,中国学子心中的终极图腾。交大浙大的研究生水平也非常高,就我的了解是绝对不弱于清华北大的,我交的系统方向和信息安全以及浙大的图像处理都是全国前列,同时考研难度比清北低很多,同学们如果想就读名校,建议尝试交大和浙大。至于其它学校我不是很了解,各自都有长处和缺点,选定学校的时候还是需要大家自己搜寻信息,找准自己的位置。 二、关于考试难度 计算机专业应该算是考研领域最难的几个专业之一,统考专业课408包含科目多,知识量大,题目刁钻,因此入坑需谨慎。而今年开始北京地区取消统考改为各个高校自主命题,所以难度又进一步上升。比如清华今年的912计算机专业基础综合只给考试科目,不给考试范围,不给参考书目,导致整体分数大降,最后的复试分数线仅仅320,比去年低了30分。而专业课方面,我所知道的最高分是108,大部分进入复试的人都在90左右。而统考虽然也不简单,但是市面上有比较成熟的参考书可以看,实际上是比自主命题简单很多的。如果大家对自己本科所学不太自信的话,建议还是考408为好。这里再次为我交打个广告,交大应该会继续沿用408考题,难度适中好复习,上海地区也不存在压分现象,性价比在名校里是很高的,大家快去报交大啊~ 三、初试: 相信大家最关心初试的复习。我初试正式开始复习的时间是7月14日,之前忙着做毕业设计,还被导师强行拖进实验室干活,一直搞到6月底才完事。然后7月14日回到家就开始复习。总的来说感觉时间有些仓促,到最后不得不压缩英语政治的时间去复习专业课,所以大家一定要注意,最晚复习时间不能晚于6月份暑假开始。 1、数学: 数学是我今年考得最惨的一科,也是直接摧毁大部分考生信心的一科,我记得考下午专业课时,考场直接空了一半。如果大家以后做到这一套卷子的时候就会发现,16年题目风格和过去十几年大不相同,计算量大了很多,并且增加了大量对细节的考察。所以大家一定要在17年重视基础和细节,在第一轮复习时不要求快,而是把书上的每一条定理都思考清楚,务必不能留下不清晰的伏笔,同时多多计时模拟正式考试,这相当重要。计算的准确度是考研数学考好的基础,我今年最吃亏的就是平时模拟考试太少,考场上一旦算出结果不是整数就会怀疑自己(但是偏偏大部分题都不是整数),直接导致心态爆炸,最后成绩才刚过一百。大学四年这种重压力考试太少,大家的应试能力都退化了,所以一定要在这段时间里找回高考时的那种感觉,淡定是考场上的核心竞争力。 以下是我的复习规划: 7月——9月:第一轮复习。第一轮复习我用的是2015年的数学复习全书,这本书带给我的挫败感巨大,大部分时间我都处于“妈的这也用证明”和“妈的这也能证明”的“薛定谔的懵逼”状态。所以我强烈不推荐数学基础不好的孩子们再用复习全书了,在中后期复习时,我只是把它当作工具书来用,查定理,查典型例题。我推荐大家选用张宇的考研36讲。张宇男神大家应该都知道,今年他应该是考研数学的最大赢家。他出的8套模拟卷和最后4套卷风格和难度与今年的真题完全类似,当时我打开真题就笑了,然后就哭了。。。笑是因为卷子上的每道题我都觉得在12套卷子里见过类似的,哭是因为妈的每道

数据结构课后习题答案清华大学出版社殷人昆

1-1什么是数据? 它与信息是什么关系? 【解答】 什么是信息?广义地讲,信息就是消息。宇宙三要素(物质、能量、信息)之一。它是现实世界各种事物在人们头脑中的反映。此外,人们通过科学仪器能够认识到的也是信息。信息的特征为:可识别、可存储、可变换、可处理、可传递、可再生、可压缩、可利用、可共享。 什么是数据?因为信息的表现形式十分广泛,许多信息在计算机中不方便存储和处理,例如,一个大楼中4部电梯在软件控制下调度和运行的状态、一个商店中商品的在库明细表等,必须将它们转换成数据才能很方便地在计算机中存储、处理、变换。因此,数据(data)是信息的载体,是描述客观事物的数、字符、以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。在计算机中,信息必须以数据的形式出现。 1-2什么是数据结构? 有关数据结构的讨论涉及哪三个方面? 【解答】 数据结构是指数据以及相互之间的关系。记为:数据结构= { D, R }。其中,D是某一数据对象,R是该对象中所有数据成员之间的关系的有限集合。 有关数据结构的讨论一般涉及以下三方面的内容: ①数据成员以及它们相互之间的逻辑关系,也称为数据的逻辑结构,简称为数据结构; ②数据成员极其关系在计算机存储器内的存储表示,也称为数据的物理结构,简称为存储结构; ③施加于该数据结构上的操作。 数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储不是一码事,是与计算机存储无关的。因此,数据的逻辑结构可以看作是从具体问题中抽象出来的数据模型,是数据的应用视图。数据的存储结构是逻辑数据结构在计算机存储器中的实现(亦称为映像),它是依赖于计算机的,是数据的物理视图。数据的操作是定义于数据逻辑结构上的一组运算,每种数据结构都有一个运算的集合。例如搜索、插入、删除、更新、排序等。 1-3数据的逻辑结构分为线性结构和非线性结构两大类。线性结构包括数组、链表、栈、 队列、优先级队列等; 非线性结构包括树、图等、这两类结构各自的特点是什么? 【解答】 线性结构的特点是:在结构中所有数据成员都处于一个序列中,有且仅有一个开始成员和一个终端成员,并且所有数据成员都最多有一个直接前驱和一个直接后继。例如,一维数组、线性表等就是典型的线性结构 非线性结构的特点是:一个数据成员可能有零个、一个或多个直接前驱和直接后继。例如,树、图或网络等都是典型的非线性结构。 1-4.什么是抽象数据类型?试用C++的类声明定义“复数”的抽象数据类型。要求 (1) 在复数内部用浮点数定义它的实部和虚部。 (2) 实现3个构造函数:缺省的构造函数没有参数;第二个构造函数将双精度浮点数赋给复数的实部,虚部置为0;第三个构造函数将两个双精度浮点数分别赋给复数的实部和虚部。 (3) 定义获取和修改复数的实部和虚部,以及+、-、*、/等运算的成员函数。

清华大学计算机系C++期末考试题及答案

C++期末考试题 一、填空题(25小题,共50分) (以下每小题1分,共10分) 1.在C++中,函数的参数有两种传递方式,它们是值传递和____________。地址或指针或引用传递 2.当一个成员函数被调用时,该成员函数的___________指向调用它的对象。this指针3.在基类和派生类中,派生类可以定义其基类中不具备的数据和操作。对两个有相同名字的数据成员进行访问时,如果没有___________,对此数据成员的访问将出现歧义。作用域分隔符限定时 4.拷贝构造函数使用___________作为参数初始化创建中的对象。引用 5.在公有继承的情况下,基类数据成员在派生类中的访问权限___________。保持不变6.描述命题"A小于B或小于C"的表达式为___________。Ac&&b==c"的值是___________。0 (以下每小题2分,共20分) 11.面向对象的程序设计有四大特征,它们是抽象、封装、___________、___________。继承、多态 12.在C++中,定义重载函数时,应至少使重载函数的参数个数或参数类型___________;在基类和派生类中,成员函数的覆盖是指___________。不同派生类成员函数与在基类被覆盖的成员函数名、参数个数、参数类型和返回值类型均相同 13.构造函数与析构函数除功能不同外,在定义形式上,它们的区别还包括构造函数名与类名相同,而析构函数名是在类名前加一个~、___________、___________。析构函数没有参数、析构函数可以定义为虚函数 14.动态联编要满足两个条件,它们是___________、___________。被调用的成员函数是虚函数、用指针或引用调用虚函数 15.在C++类中,有一种不能定义对象的类,这样的类只能被继承,称之为___________,定义该类至少具有一个___________。抽象类纯虚函数 16.在C++类中,const关键字可以修饰对象和成员函数,const对象不能___________,const成员函数不能___________。被修改修改类数据成员 17.举出C++中两种用户自定义的数据类型:___________、___________。类、枚举18.C++中没有字符串类型,字符串是通过___________来表示的,每一个字符串都有一个结尾字符___________。字符数组\0 19.C++中没有输入输出语句,输入输出是通过___________实现的,写出一条打印整型变量n的输出语句:___________。输入输出库cout<

清华大学数据结构试题及答案

一、单选题(每题 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 1 B. 3 2 1 C. 3 1 2 D. 1 2 3 5. 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)的联系 时,称这种结构为_____________________。 2. 2.队列的插入操作是在队列的___尾______进行,删除操作是在队列的____首______进行。 3. 3.当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件是 ___top==0___(要超出才为满)_______________。 4. 4.对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为_________,在表尾插 入元素的时间复杂度为____________。 5. 5.设W为一个二维数组,其每个数据元素占用4个字节,行下标i从0到7 ,列下标j从0到3 , 则二维数组W的数据元素共占用_______个字节。W中第6 行的元素和第4 列的元素共占用_________个字节。若按行顺序存放二维数组W,其起始地址为100,则二维数组元素W[6,3]的起始地址为__________。 6. 6.广义表A= (a,(a,b),((a,b),c)),则它的深度为____________,它的长度为____________。 7.7.二叉树是指度为2的____________________树。一棵结点数为N的二叉树,其所有结点的度的 总和是_____________。 8.8.对一棵二叉搜索树进行中序遍历时,得到的结点序列是一个______________。对一棵由算术表 达式组成的二叉语法树进行后序遍历得到的结点序列是该算术表达式的__________________。

清华大学五道口金融学院考研能不能用计算器

清华五道口金融学院考研能不能用计算 器? 凯程特别提示: 五道口考研不能用cfa计算器,只能使用哪种最简单的计算器,只能算加减乘除,建议同学们在考试的时候两种都带上,如果不让用cfa的,有个最简单的计算器也是退而求其次的选择。在平时练习中,为了提高计算效率,节约时间,可以用cfa计算器。 凯程教育是五道口金融学院和清华经管考研黄埔军校,在2014年,凯程学员考入五道口金融学院28人,清华经管11人,五道口状元武xy出自凯程, 在2013年,凯程学员考入五道口金融学院29人,清华经管5人,状元李少华出在凯程, 在凯程网站有很多凯程学员成功经验视频,大家随时可以去查看. 2016年五道口金融学院和清华经管考研保录班开始报名! 【五道口考研经验】状元武玄yu出自凯程,凯程已经成为了金融硕士的黄埔军校,每年考取各校金融硕士的人数是其他院校的总和还要多。在凯程网站有很多成功学员的视频,凯程学校里有专门针对道口、清华经管、北大、人大、中财、贸大等院校的内部讲义,这是其他机构所不具备的,同学们到了凯程学校可以实地查看(有些机构根本就没有开过金融硕士课程,自然没有讲义了)。此外,其他机构1个经验谈视频都没有,凯程的金融硕士经验谈非常多,在凯程网站有展示,同学们可以查看。相信同学们能够正确选择考研辅导班,凯程一直以来,以“学生满意,家长放心,社会认可”为理念,创建最强的金融会计考研培训学校。【五道口考研微信公众号】关注凯程微信,获取最新五道口、清华经管金融硕士报考信息,参考书,真题,辅导班信息 【联系凯程老师】:您可以点击页面的在线客服(周一到周日,9-18点,其他时间段请留言。),【考研辅导班】:凯程五道口、清华经管金融硕士价格表 凯程教育: 凯程考研成立于2005年,国内首家全日制集训机构考研,一直从事高端全日制辅导,由李海洋教授、张鑫教授、卢营教授、王洋教授、杨武金教授、张释然教授、索玉柱教授、方浩教授等一批高级考研教研队伍组成,为学员全程高质量授课、答疑、测试、督导、报考指导、方法指导、联系导师、复试等全方位的考研服务。 凯程考研的宗旨:让学习成为一种习惯; 凯程考研的价值观口号:凯旋归来,前程万里; 信念:让每个学员都有好最好的归宿; 使命:完善全新的教育模式,做中国最专业的考研辅导机构; 激情:永不言弃,乐观向上; 敬业:以专业的态度做非凡的事业; 服务:以学员的前途为已任,为学员提供高效、专业的服务,团队合作,为学员服务,为学

李春葆数据结构习题与解析(修订版)知识分享

李春葆编著:数据结构(C语言篇)――习题与解析(修订版) 清华大学出版社 一、绪论 选择题 1.数据结构是一门研究非数值计算的程序设计问题中计算机的1以及它们之间的2和运算等的学科。 1 A.数据元素 B.计算方法 C.逻辑存储 D.数据映像 2 A.结构 B.关系 C.运算 D.算法 2.数据结构被形式地定义为(K, R),其中K是1的有限集,R是K上的2有限集。 1 A.算法 B.数据元素 C.数据操作 D.逻辑结构 2 A.操作 B.映像 C.存储 D.关系 3.在数据结构中,从逻辑上可以把数据结构分成。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 4.线性结构的顺序存储结构是一种1的存储结构,线性表的链式存储结构是一种2的存储结构。 A.随机存取 B.顺序存取 C.索引存取 D.散列存取 5.算法分析的目的是1,算法分析的两个主要方面是2。 1 A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进 D.分析算法的易懂性和文档性 2 A.空间复杂度和时间复杂度 B.正确性和简单性 C.可读性和文档性 D.数据复杂性和程序复杂性 6.计算机算法指的是1,它必须具备输入、输出和2等5个特性。 1 A.计算方法 B.排序方法 C.解决问题的有限运算序列 D.调度方法 2 A.可执行性、可移植性和可扩充性 B.可行性、确定性和有穷性 C.确定性、有穷性和稳定性 D.易读性、稳定性和安全性 7.线性表的逻辑顺序与存储顺序总是一致的,这种说法。 A.正确 B.不正确 8线性表若采用链式存储结构时,要求内存中可用存储单元的地址。 A.必须连续的 B.部分地址必须连续的 C.一定是不续的D连续不连续都可以 9.以下的叙述中,正确的是。 A.线性表的存储结构优于链式存储结构 B.二维数组是其数据元素为线性表的线性表 C.栈的操作方式是先进先出 D.队列的操作方式是先进后出 10.每种数据结构都具备三个基本运算:插入、删除和查找,这种说法。 A.正确 B.不正确 填空题 1.数据逻辑结构包括三种类型、和,树形结构和图形结构合称为。 2.在线性结构中,第一个结点前驱结点,其余每个结点有且只有个前驱结点;最后一个结点后续结点,其余每个结点有且只有个后续结点。 3.在树形结构中,树根结点没有结点,其余每个结点有且只有个前驱结点;叶子结点没有结点,其余每个结点的后续可以。

2020年清华大学计算机技术考研考试科目、招生人数、参考书目、复试分数、录取人数

2020年清华大学计算机技术考研考试科目、招生人数、参考书目、复试分数、录取人数 摘要:本文将系统的对清华大学计算机科学与技术系计算机技术考研进行解析,主要有以下几个板块:清华大学计算机科学与技术系介绍、计算机技术考研考试科目、计算机技术考研参考书目、近3年复试分数线和录取情况、清华大学备考经验等几大方面。新祥旭考研老师xxx-nls将详细的为大家解答: 一、清华大学计算机科学与技术系介绍 清华大学计算机科学与技术系(以下简称计算机系)成立于1958年。经过50多年的不懈努力,已发展成为我国计算机学科领域内教学、科研综合实力强,影响力大的计算机系,在中国计算机事业的发展乃至国民经济建设中发挥着重要的作用。1996年,计算机系在由国务院学位办公室主持的全国计算机学科评估中排名第一,在国内首批获得按一级学科招收和培养研究生的资格;2002年在全国学位与研究生教育发展中心开展的一级学科整体水平评估中,计算机系在总共4个分项指标中,3项(学术队伍、人才培养、学术声誉)在全国排名第一。2006年、2012年在全国学位与研究生教育发展中心开展的一级学科整体水平评估中,以总分满分100分的成绩排名第一,2017年,计算机科学与技术学科在全国一级学科评估中,获得A+。2018年,在USnews 推出的世界大学学科排名Best Global Universities for Computer Science 中,计算机科学与技术学科位列世界第1名。在QS 世界大学排名(QS World University Rankings) 给出的全球计算机学科排名中为第20名。 计算机系设有计算机科学与技术、软件工程、网络空间安全三个一级学科。其中计算机科学与技术学科属全国首批国家重点一级学科,该一级学科包含计算机系统结构、计算机软件与理论、计算机应用技术三个二级学科,这三个二级学科均为全国重点二级学科,是全国少数拥有全部重点二级学科单位之一。计算机系包含了国内计算机专业最全的学科方向,设有高性能计算机与处理器、并行与分布式处理、存储系统、大数据与云计算、计算机网络、网络与信息系统安全、系统性能评价、理论计算机科学、数据工程及

数据结构(C语言版)第三版__清华大学出版社_习题参考答案

附录习题参考答案 习题1参考答案 1.1.选择题 (1). A. (2). A. (3). A. (4). B.,C. (5). A. (6). A. (7). C. (8). A. (9). B. (10.) A. 1.2.填空题 (1). 数据关系 (2). 逻辑结构物理结构 (3). 线性数据结构树型结构图结构 (4). 顺序存储链式存储索引存储散列表(Hash)存储 (5). 变量的取值范围操作的类别 (6). 数据元素间的逻辑关系数据元素存储方式或者数据元素的物理关系 (7). 关系网状结构树结构 (8). 空间复杂度和时间复杂度 (9). 空间时间 (10). Ο(n) 1.3 名词解释如下: 数据:数据是信息的载体,是计算机程序加工和处理的对象,包括数值数据和非数值数据。数据项:数据项指不可分割的、具有独立意义的最小数据单位,数据项有时也称为字段或域。数据元素:数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理,一个数据元素可由若干个数据项组成。 数据逻辑结构:数据的逻辑结构就是指数据元素间的关系。 数据存储结构:数据的物理结构表示数据元素的存储方式或者数据元素的物理关系。 数据类型:是指变量的取值范围和所能够进行的操作的总和。 算法:是对特定问题求解步骤的一种描述,是指令的有限序列。 1.4 语句的时间复杂度为: (1) Ο(n2) (2) Ο(n2) (3) Ο(n2) (4) Ο(n-1) (5) Ο(n3) 1.5 参考程序: main() { int X,Y,Z; scanf(“%d, %d, %d”,&X,&Y,Z); if (X>=Y) if(X>=Z) if (Y>=Z) { printf(“%d, %d, %d”,X,Y,Z);} else { printf(“%d, %d, %d”,X,Z,Y);}

97清华大学计算机考研题 清华大学考研绝密资料

清华大学97考研题 一、对于一个使用邻接表存储的带权有向图G ,试利用深度优先搜索放法,对该图中所有顶点进 行拓扑排序。若邻接表的数据类型定义为Graph,则算法的首部为: FUNCTION dfs-toposort(G:Graph):boolean; 若函数返回true,则表示拓扑成功,图中不存在环;若函数返false,则图中存在环,拓扑排序不成功。在这个算法中嵌套用一个递归的深度优先搜索算法: PROCEDURE dfs(G:Graph; V:vtxnum); 在遍历图的同时进行拓扑排序。其中,vtxnum是顶点号 (1)给出该图的邻接表定义;(4分) (2)定义在算法中使用的全局辅助数组;(4分) (3)写出拓扑排序的算法。(10分) 二、设有一头指针为L的带有表结点的非循环双向链表,其每个结点中除有pred(前驱指针), data(数据)和next(后继指针)域外,还有一个访问频度域freq。在链表被使用前,其值均初始化为零。每当在链表中进行一次Locate(L,x)运算时,令元素值为x的结点中freq域的值增1,并使此链表中结点保持按访问频度非增(递减)的顺序排序,同时最近访问的结点排在频度相同的结点的最后,以便使频繁访问的结点总是靠近表头。试编写符合上述要求的Locate(L,x)运算的算法,该运算为函数过程,返回找到结点的地址,类型为指针型。 (10分) 三、已知二叉树的链表存储结构定义如下: TYPEbitreptR=^bitrenode; bitrenode=RECORD data:char; lchild,rchild:butreptr END; 编写一个递归算法,利用叶结点中空的右链指针域rchild,将所有叶结点自左至右链接成一个单链表,算法返回最左叶结点的地址(链头)。(10分) 四、设目标为S=“abcaabbcaaabababaabca”,模是为P=“babab”, (1)手工计算模式P的nextval数组的值;(5分) (2)写出利用求得的nextval数组,按KMP算法对目标S进行模式匹配的过程。(5分)五、对于一个对称矩阵采用压缩存储,只存放它的上三角部分,并按列存放。例如对于一个 n*n的对称矩阵A,

清华大学计算机系培养方案一

清华大学计算机系培养方案一

信息科学技术学院 本科指导性教学计划 第一年 课程编号课程名称学分周学时考核方式说明及主要先修课 12090043 军事理论与技能训练3 3 考查 秋季学期 课程编号课程名称学分周学时考核方式说明及主要先修课 107 1 体育(1) 1 2 考查 10610183 思想道德修养与法律基础3 2 考查 10640532 英语(1) 2 2 考查 10420874 一元微积分 4 4 考试 10420904 几何与代数(1) 4 4 考试 0412 工程图学基础 2 2 考试 2选1 20240023 离散数学(2) 3 3 考试 程序设计课组 3 3 考试选1门,详见附录2 30210041 信息科学技术概论 1 1 考查 文化素质选修课≥1 1

合计≥21 注:计算机科学与技术专业必修“离散数学(2)”,其它专业必修“工程图学基础”。 春季学期 课程编号课程名称学分周学时考核方式说明及主要先修课 107 1 体育(2) 1 2 考查 10610193 中国近现代史纲要 3 2 考试 10640682 英语(2) 2 2 考查 10420884 多元微积分 4 4 考试先修一元微积分 10421002 几何与代数(2) 2 2 考试 大学物理课组1 4 4 考试先修一元微积分 20220214 电路原理 4 4 考试 20220221 电路原理实验 1 1 考查 合计≥21 夏季学期 课程编号课程名称学分周学时考核方式说明及 主要先修课 - 3 -

- 4 - 21510192 电子工艺实习(集中) 2 考查 2周 程序训练课组 2 考查 3周 合计: 4 第二年 秋季学期 课程编号 课程名称 学分 周学时 考核方式 说明及 主要先修课 107 1 体育(3) 1 2 考查 10610204 马克思主义基本原理 4 3 考试 10420892 高等微积分B 2 2 考试 10420252 复变函数引论 2 2 考试 304 3 复分析 3 3 考试 大学物理课组2 4 4 考试 见附录2 10430782 物理实验A(1) 2 2 考查 10430801 物理实验B(1) 1 1 考查 电子基础课组1 3 3 考试 电子基础课组2 3 3 考试 21550012 电子技术实验 2 2 考查 文化素质选修课 ≥1 2 10420262 数理方程引论 2 2 考查 20240013 离散数学(1) 3 3 考试 3选1 选1门,详见2选1,大学 2选1,一元微

数据结构(C语言版)9-12章练习 答案 清华大学出版社

9-12章数据结构作业答案 第九章查找 选择题 1、对n个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( A ) A.(n+1)/2 B. n/2 C. n D. [(1+n)*n ]/2 2. 下面关于二分查找的叙述正确的是 ( D ) A. 表必须有序,表可以顺序方式存储,也可以链表方式存储 B. 表必须有序且表中数据必须是整型,实型或字符型 C. 表必须有序,而且只能从小到大排列 D. 表必须有序,且表只能以顺序方式存储 3. 二叉查找树的查找效率与二叉树的( (1)C)有关, 在 ((2)C )时其查找效率最低 (1): A. 高度 B. 结点的多少 C. 树型 D. 结点的位置 (2): A. 结点太多 B. 完全二叉树 C. 呈单枝树 D. 结点太复杂。 4. 若采用链地址法构造散列表,散列函数为H(key)=key MOD 17,则需 ((1)A) 个链表。 这些链的链首指针构成一个指针数组,数组的下标范围为 ((2)C) (1) A.17 B. 13 C. 16 D. 任意 (2) A.0至17 B. 1至17 C. 0至16 D. 1至16 判断题 1.Hash表的平均查找长度与处理冲突的方法无关。 (错) 2. 若散列表的负载因子α<1,则可避免碰撞的产生。(错) 3. 就平均查找长度而言,分块查找最小,折半查找次之,顺序查找最大。(错) 填空题 1. 在顺序表(8,11,15,19,25,26,30,33,42,48,50)中,用二分(折半)法查找关键码值20, 需做的关键码比较次数为 4 . 算法应用题 1. 设有一组关键字{9,01,23,14,55,20,84,27},采用哈希函数:H(key)=key mod 7 ,表长 为10,用开放地址法的二次探测再散列方法Hi=(H(key)+di) mod 10解决冲突。要求:对该关 键字序列构造哈希表,并计算查找成功的平均查找长度。 2. 已知散列表的地址空间为A[0..11],散列函数H(k)=k mod 11,采用线性探测法处理冲 突。请将下列数据{25,16,38,47,79,82,51,39,89,151,231}依次插入到散列表中,并计算出在 等概率情况下查找成功时的平均查找长度。 3、对长度为20 的有序表进行二分查找,试画出它的一棵判定树,并求等概率情况下的平均 查找长度。 4、设散列表的长度为15,散列函数H(K)=K%13,给定的关键字序列为20,16,29,82,37,02,06,28,55,39,23,10,试写出分别用拉链法和线性探测法解决冲突时所构造的散 列表,并求出在等概率情况下,这两种方法查找成功时的平均查找长度。

数据结构习题集答案解析_清华大学版

第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={} 基本操作: InitComplex(&C,re,im) 操作结果:构造一个复数C ,其实部和虚部分别为re 和im DestroyCmoplex(&C) 操作结果:销毁复数C Get(C,k,&e) 操作结果:用e 返回复数C 的第k 元的值 Put(&C,k,e) 操作结果:改变复数C 的第k 元的值为e IsAscending(C) 操作结果:如果复数C 的两个元素按升序排列,则返回1,否则返回0 IsDescending(C)

数据结构清华大学出版社严蔚敏吴伟民编著

第一章绪论 1、数据结构是计算机中存储、组织数据的方式。精心选择的数据 结构可以带来最优效率的算法。 2、程序设计= 算法+数据结构 3、解决问题方法的效率: ●跟数据的组织方式有关 ●跟空间的利用效率有关 ●跟算法的巧妙程度有关 4、数据:所有能输入到计算机中,且被计算机处理的符号的集合, 是计算机操作对象的总称; 是计算机处理的信息的某种特定的符号表示形式。 5、数据元素:数据中的一个“个体”,数据结构中讨论的基本单 位。相当于“记录”,在计算机程序中通常作为一个整体考 虑和处理。 6、数据项: 相当于记录的“域”, 是数据的不可分割的最小单位, 如学号。数据元素是数据项的集合。 7、数据对象:性质相同的数据元素的集合. 例如: 所有运动员的记录集合 8、数据结构:是相互间存在某种关系的数据元素集合。 9、数据结构是带结构的数据元素的集合。 10、不同的关系构成不同的结构。 11、次序关系:

{|i=1,2,3,4,5,6} 12、对每种数据结构,主要讨论如下两方面的问题: 1)数据的逻辑结构,数据结构的基本操作; 2)数据的存储结构,数据结构基本操作的实现; 13、数据的逻辑结构: 数据之间的结构关系,是具体关系的抽象。 数据结构的基本操作: 指对数据结构的加工处理。 14、数据的存储结构(物理结构): 数据结构在计算机内存中的表示。 数据结构基本操作的实现: 基本操作在计算机上的实现(方法)。 15、数据结构的有关概念 16、数据元素的4类的基本结构: ○1集合; ○2线性结构:结构中数据元素之间存在一对一的关系; ○3树形结构:结构中数据元素之间存在一对多的关系; ○4图状结构或网状结构:结构中数据元素之间存在多对多的关系。 17、C语言的优点:C语言可以直接操作内存。 18、每个节点都由两部分组成:数据域和指针域。 19、链接存储结构特点:

2011--2016,2019清华大学考研计算机各科笔试真题

2019年软件与理论笔试 数据库: 一1、你觉得数据库管理系统的核心技术是什么(10) 2、事务的ACID特性指什么(10) 3、数据库冲突处理的原则是什么。根据这个原则。数据库有哪些冲突处理的方法。(10) 二、(20)数据库以B+树结构存储。分为索引页与叶级页。两级索引。索引页有8000B可以用来存储索引项。每个索引项80B 第一级索引页有两个索引项。问整个数据库的最大存储空间与最小存储空间是多少。 索引那个题还有个条件是索引页有8000B可以用来存储索引项(就不用转换KB 的1024了) 编译原理: 1.画一个有穷自动机(6) 2.前五个字符含有abc字串的正则表达式(7) 3.上下文无关文法,不多于五个非终结符,a*b*c*若a只有一个那么b c数量 相等(7) 二:lr,slr(1)分析,那个更快发现错误?(30) 2016年清华应用方向复试笔试回忆 清华的计算机方向分为三个,软件理论、系统和应用。报考人数方面,今年一共进入复试60人,有30人报了应用。。。。可见应用竞争之激烈。不过单纯看笔试来说,应用是最简单的,因为应用已经快十年没有换过笔试题了。 上了考场发现今年还是这些题,当时就觉得稳了。而其它方向上,我听说系统的笔试特别难,有的人几乎交了白卷。(软理不太清楚)因此大家报考的时候要考虑一下复试的难度,究竟是想面对激烈的竞争还是想面对变态的考试难度。当然听往届的经验来说,好像笔试并不怎么重要的样子。。 应用方向的笔试科目有三个,人工智能、多媒体技术和数字信号处理(三科里选两科作答)。在此建议各位选择人工智能和多媒体技术,难度低、计算量少而且好复习,。当然如果本科

《数据结构》期终考试试卷(A)-清华大学

2010年《数据结构》期终考试试卷(A) 班级学号姓名 一、简答题(每小题6分,共30分) (1) 假设一个线性链表的类名为linkedList,链表结点的类名为ListNode,它包含两个数据成员data和link。data存储该结点的数据,link是链接指针。下面给定一段递归打印一个链表中所有结点中数据的算法: void PrintList (ListNode *L) { if ( L != NULL ) { cout << L->data << endl; PrintList ( L->link ); } } 试问此程序在什么情况下不实用?给出具体修改后的可实用的程序? (1) 此程序在内存容量不足时不适用。因为需要一个递归工作栈。当链表越长,递归工作栈的深度越深,需要的存储越多。可采用非递归算法节省存储。 void PrintList (ListNode *L) { while ( L != NULL ) { cout << L->data << endl; L = L->link; } } (2) 如果每个结点占用2个磁盘块因而需要2次磁盘访问才能实现读写,那么在一棵有n个关键码的2m阶B树中,每次搜索需要的最大磁盘访问次数是多少? (2) 在2m阶B树中关键码个数n与B树高度h之间的关系为h≤log m ((n+1)/2)+1,那么每次搜索最大磁盘访问次数为2h max = 2log m ((n+1)/2)+2。

(3) 给定一棵保存有n 个关键码的m 阶B 树。从某一非叶结点中删除一个关键码需要的最大磁盘访问次数是多少? (3) 在m 阶B 树中关键码个数n 与B 树最大高度h 的关系为h = log ?m/2?((n+1)/2)+1。若设寻找被删关键码所在非叶结点读盘次数为h ’,被删关键码是结点中的k i ,则从该结点的p i 出发沿最左链到叶结点的读盘次数为h -h ’。当把问题转化为删除叶结点的k 0时,可能会引起结点的调整或合并。极端情况是从叶结点到根结点的路径上所有结点都要调整,除根结点外每一层读入1个兄弟结点,写出2个结点,根结点写出1个结点,假设内存有足够空间,搜索时读入的盘块仍然保存在内存,则结点调整时共读写盘3(h -1)+1。总共的磁盘访问次数为 h ’+(h -h ’)+3(h -1)+1 = 4h -2 = 4(log ?m/2?((n+1)/2)+1)-2 = = 4log ?m/2?((n+1)/2)+2 (4) 给定一个有n 个数据元素的序列,各元素的值随机分布。若要将该序列的数据调整成为一个堆,那么需要执行的数据比较次数最多是多少? (4) 设堆的高度为h = ?log 2(n+1)?,当每次调用siftDown 算法时都要从子树的根结点调整到叶结点,假设某子树的根在第i 层(1≤i ≤h -1),第h 层的叶结点不参加比较。从子树根结点到叶结点需要比较h -i 层,每层需要2次比较:横向在两个子女里选一个,再纵向做父子结点的比较。因此,在堆中总的比较次数为 )i h j ( 2j 2 2j 22 2j 2 2)i h (221 h 1 j j 1 -h 1 h 1 j j -1 h 1 h 1 j 1 -j -h 1h 1 i 1-i -=??=??=?=-∑ ∑∑∑-=-=--=-=代换 因为 2h-1 ≤n ≤2h -1,且∑-=∞ →=1 h 1j j h 22j lim ,则n 42n 22 j 221 h 1j j 1 h =??≤??∑-=-

相关文档
最新文档